Пример #1
0
 public ShipController(ShipModel model_, IView view_, IShipMove shipMove_, IShipRotate shipRotate_, IShipCollided shipCollided_, IShipHealth shipHealth_, IShipFire _shipFire, FireLock _fireLock)
 {
     model        = model_;
     view         = view_;
     shipMove     = shipMove_;
     shipRotate   = shipRotate_;
     shipCollided = shipCollided_;
     shipHealth   = shipHealth_;
     shipHealth.DestroyedEvent += ShipDestroyed;
     shipFire = _shipFire;
     fireLock = _fireLock;
 }
Пример #2
0
        public static ShipController GetShip(Game gameView, ShipModel shipModel)
        {
            IView         shipView         = gameView.CreateView(shipModel.Name);
            IShipMove     shipMove         = new ShipMove(shipView.Rigidbody2D, shipModel.MoveForce);
            IShipRotate   shipRotate       = new ShipRotate(shipView.Rigidbody2D, shipModel.Torque);
            IShipHealth   shipHealth       = new ShipHealth(shipModel.MaxHealth);
            IShipCollided shipCollided     = new ShipCollided(shipView, shipHealth);
            IShipFire     shipFire         = new ShipFire();
            FireLock      fireLock         = new FireLock();
            IShipFire     shipLockableFire = new ShipLockableFire(shipFire, fireLock);

            return(new ShipController(shipModel, shipView, shipMove, shipRotate, shipCollided, shipHealth, shipLockableFire, fireLock));
        }
Пример #3
0
 private void AddFireLockFromScene(FireLock fireLock)
 {
     if (FireLockList.Contains(fireLock))
     {
         FireLockList.Remove(fireLock);
         fireLock.fireAlarm = null;
     }
     else
     {
         FireLockList.Add(fireLock);
         fireLock.fireAlarm = this;
     }
 }
Пример #4
0
    private void ToggleObjectTrigger(FireAlarm listOfTriggers, FireLock objectTrigger)
    {
        if (listOfTriggers.FireLockList.Contains(objectTrigger))
        {
            listOfTriggers.FireLockList.Remove(objectTrigger);
            objectTrigger.fireAlarm = null;

            EditorUtility.SetDirty(listOfTriggers);
            EditorUtility.SetDirty(objectTrigger);
        }
        else
        {
            listOfTriggers.FireLockList.Add(objectTrigger);
            objectTrigger.fireAlarm = listOfTriggers;

            EditorUtility.SetDirty(listOfTriggers);
            EditorUtility.SetDirty(objectTrigger);
        }
    }
Пример #5
0
 public ShipLockableFire(IShipFire _shipFire, FireLock _fireLock)
 {
     shipFire = _shipFire;
     fireLock = _fireLock;
 }