Example #1
0
        void Run(IPlayerGimmick playerGimmick)
        {
            switch (playerGimmick)
            {
            case IWarpPlayerGimmick warpPlayerGimmick:
                if (!warpPlayerGimmick.KeepPosition)
                {
                    playerPresenter.MoveTo(warpPlayerGimmick.TargetPosition);
                }
                if (!warpPlayerGimmick.KeepRotation)
                {
                    playerPresenter.RotateTo(warpPlayerGimmick.TargetRotation);
                }
                break;

            case IRespawnPlayerGimmick _:
                playerPresenter.Respawn();
                break;
            }
        }
Example #2
0
 void RegisterPlayerGimmick(IPlayerGimmick playerGimmick)
 {
     playerGimmick.OnRun += Run;
 }