public Ship(float draft, float maxSpeed, Map map) { if (draft <= 0f) { throw new ArgumentException("Draft must be positive value", nameof(draft)); } Draft = draft; if (maxSpeed <= 0f) { throw new ArgumentException("MaxSpeed must be positive value", nameof(maxSpeed)); } MaxSpeed = maxSpeed; Speed = MaxSpeed; _map = map ?? throw new ArgumentNullException(nameof(map)); _reflexes = new List <IReflex>() { new DieReflex(this, _map) }; _currentState = new WaitState(); IsAlive = true; Path = new Queue <Point>(); }
private static ShipStateEntity ToEntity(IShipState ship, string cmdrName, string version) { return(new ShipStateEntity { CommanderName = cmdrName, GameVersion = version, TimeStamp = ship.TimeStamp, ShipId = ship.ShipId, Type = ship.Type, Ident = ship.Ident, Name = ship.Name, HullIntegrity = ship.HullIntegrity, ShieldsUp = ship.ShieldsUp }); }
private void Awake() { _currentState = new NormalShipState(); _currentState.Execute(this); }
public void DisableShip() { _currentState = new DisabledShipState(); _currentState.Execute(this); }
public void TriggerRedAlert() { _currentState = new AlertShipState(); _currentState.Execute(this); }
public void Normalize() { _currentState = new NormalShipState(); _currentState.Execute(this); }
public Game(IShipState state) { State = state; }
void Awake() { state = new NormalState(); state.Execute(this); }
public void DisableShip() { state = new DisableState(); state.Execute(this); }
public void AlertShip() { state = new AlertState(); state.Execute(this); }
public void NormalizeShip() { state = new NormalState(); state.Execute(this); }
void Awake() { m_CurrentState = new NormalShipState(); m_CurrentState.Execute(this); }
public void SetState(IShipState newState) { _currentState = newState; }