Exemple #1
0
        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
            });
        }
Exemple #3
0
 private void Awake()
 {
     _currentState = new NormalShipState();
     _currentState.Execute(this);
 }
Exemple #4
0
 public void DisableShip()
 {
     _currentState = new DisabledShipState();
     _currentState.Execute(this);
 }
Exemple #5
0
 public void TriggerRedAlert()
 {
     _currentState = new AlertShipState();
     _currentState.Execute(this);
 }
Exemple #6
0
 public void Normalize()
 {
     _currentState = new NormalShipState();
     _currentState.Execute(this);
 }
Exemple #7
0
 public Game(IShipState state)
 {
     State = state;
 }
 void Awake()
 {
     state = new NormalState();
     state.Execute(this);
 }
 public void DisableShip()
 {
     state = new DisableState();
     state.Execute(this);
 }
Exemple #10
0
 public void AlertShip()
 {
     state = new AlertState();
     state.Execute(this);
 }
Exemple #11
0
 public void NormalizeShip()
 {
     state = new NormalState();
     state.Execute(this);
 }
 void Awake()
 {
     m_CurrentState = new NormalShipState();
     m_CurrentState.Execute(this);
 }
Exemple #13
0
 public void SetState(IShipState newState)
 {
     _currentState = newState;
 }