示例#1
0
    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));
    }
示例#2
0
    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;
    }