예제 #1
0
 internal void HandleRoll(bool didSucceed, Game game)
 {
     if (actor != null)
     {
         if (didSucceed)
         {
             game.ExplodePosition(actor.gameObject.transform.position);
             Destroy(actor.gameObject);
             actor       = null;
             game.canRun = false;
             RemoveRisk();
         }
         else
         {
             if (game.armourHelp > 0)
             {
                 game.armourHelp -= 1;
             }
             else
             {
                 game.canRun        = true;
                 game.playerHealth -= 1;
             }
         }
     }
     if (pickup != null && !pickup.consumed && actor == null)
     {
         pickup.Consume();
         game.ExplodePosition(pickup.gameObject.transform.position + new Vector3(0, 0.4f, 0.4f));
         RemoveRisk();
         if (pickup.isCurse)
         {
             if (!didSucceed)
             {
                 pickup.ApplyPickupToPlayer(game);
                 if (character != null)
                 {
                     character.SetFollow(game.player.transform);
                 }
             }
             else
             {
                 if (character != null)
                 {
                     Destroy(character.gameObject);
                     character = null;
                 }
             }
         }
         else
         {
             if (didSucceed)
             {
                 pickup.ApplyPickupToPlayer(game);
                 if (character != null)
                 {
                     character.SetFollow(game.player.transform);
                 }
                 game.PlayerCelebrate();
             }
             else
             {
                 if (character != null)
                 {
                     Destroy(character.gameObject);
                     character = null;
                 }
             }
         }
         if (character != null)
         {
             if ((didSucceed && !pickup.isCurse) || (!didSucceed && pickup.isCurse))
             {
                 character.SetFollow(game.player.transform);
             }
             else
             {
                 Destroy(character.gameObject);
                 character = null;
             }
         }
     }
 }