public void Possess(Ship newShip) { if (newShip == null) { Release(); return; } var oldShip = ship; if (oldShip != null) { oldShip.SetPossessed(this, false); } newShip.SetPossessed(this, true); flycam.enabled = false; shipCamera.SetTarget(newShip.cameraPosition); newShip.GetComponent <StateController>().currentState = null; newShip.Died += HandleShipDied; ship = newShip; lastShip = null; enabled = true; OnPossessedNewShip(new PossessionEventArgs(ship, null)); }
public void Possess(Ship newShip) { if (!newShip) { return; } var oldShip = ship; Release(); newShip.SetPossessed(this, true); flycam.enabled = false; shipCamera.SetTarget(newShip.cameraPosition); newShip.GetComponent <StateController>().ResetAI(); newShip.Died += HandleShipDied; OnPossessedNewShip(new PossessionEventArgs(newShip, oldShip)); ship = newShip; lastShip = oldShip; enabled = true; }