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; }
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)); }
private void AddFireLockFromScene(FireLock fireLock) { if (FireLockList.Contains(fireLock)) { FireLockList.Remove(fireLock); fireLock.fireAlarm = null; } else { FireLockList.Add(fireLock); fireLock.fireAlarm = this; } }
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); } }
public ShipLockableFire(IShipFire _shipFire, FireLock _fireLock) { shipFire = _shipFire; fireLock = _fireLock; }