Files
dungeons/Assets/Plugins/Zenject/OptionalExtras/SampleGame1 (Beginner)/Scripts/Ship/States/ShipStateWaitingToStart.cs

46 lines
1.1 KiB
C#

using System;
using UnityEngine;
namespace Zenject.Asteroids
{
public class ShipStateWaitingToStart : ShipState
{
readonly Settings _settings;
readonly Ship _ship;
float _theta;
public ShipStateWaitingToStart(
Ship ship,
Settings settings)
{
_settings = settings;
_ship = ship;
}
public override void Start()
{
_ship.Position = _settings.StartOffset;
_ship.Rotation = Quaternion.AngleAxis(90.0f, Vector3.up) * Quaternion.AngleAxis(90.0f, Vector3.right);
}
public override void Update()
{
_ship.Position = _settings.StartOffset + Vector3.up * _settings.Amplitude * Mathf.Sin(_theta);
_theta += Time.deltaTime * _settings.Frequency;
}
[Serializable]
public class Settings
{
public Vector3 StartOffset;
public float Amplitude;
public float Frequency;
}
public class Factory : PlaceholderFactory<ShipStateWaitingToStart>
{
}
}
}