コード例 #1
0
ファイル: GameController.cs プロジェクト: ozgurtt/Blockara
    private void HandleLaunch(BoardWar launcher, BoardWar victim, int player)
    {
        BoardWar.LaunchInfo lI = launcher.launchInfo;
        int invertedX          = victim.width - lI.x - 1;
        int depth = victim.TakeDamage(invertedX, lI.len, lI.type);

        HandleLaunchAnimations(launcher, victim, depth, lI.type);
        if (depth > 0)
        {
            launcher.AddToScore(PD.GetScore(depth, lI.len, lI.bonus));
        }
        if (player == 1 && player1Human || player == 2 && player2Human)
        {
            GameObject zGo = GetGameObject(Vector3.zero, "zGo", null, false, "Zapper");
            ZappyGun   z   = zGo.AddComponent <ZappyGun>();
            Vector3    pos = victim.GetMirror().GetScreenPosFromXY(invertedX, victim.GetHitDepth(invertedX, lI.len, lI.type));
            z.Init(PD, lI.type, lI.len, launcher.GetScreenPosFromXY(lI.x, lI.topy), pos.y - 0.4f);
            zaps.Add(z);
        }
        if (player == 1 && player2Human || player == 2 && player1Human)
        {
            GameObject zGoMirror = GetGameObject(Vector3.zero, "zGoMirror", null, false, "Zapper");
            ZappyGun   mirrorZ   = zGoMirror.AddComponent <ZappyGun>();
            Vector3    pos       = victim.GetScreenPosFromXY(invertedX, victim.GetHitDepth(invertedX, lI.len, lI.type));
            mirrorZ.Init(PD, lI.type, lI.len, launcher.GetMirror().GetScreenPosFromXY(lI.x, lI.topy), pos.y - 0.4f, true);
            zaps.Add(mirrorZ);
        }
        launcher.AcceptLaunch();
    }
コード例 #2
0
 protected void SetUpHUDAndScores()
 {
     if (PD.gameType == PersistData.GT.Challenge)
     {
         GameObject g = new GameObject("PuzzleHUD");
         hud = g.AddComponent <PuzzleHUD>();
         hud.Setup(1, PD.GetPuzzleLevel());
     }
     else if (PD.gameType == PersistData.GT.Campaign)
     {
         GameObject g = new GameObject("CampaignHUD");
         hud = g.AddComponent <CampaignHUD>();
         hud.Setup(1);
     }
     else
     {
         GameObject g = new GameObject("InGameHUD");
         hud = g.AddComponent <InGameHUD>();
         if (player2Human || (PD.isDemo && PD.demoPlayers == 2))
         {
             hud.Setup(2);
         }
         else if (PD.isTutorial)
         {
             hud.Setup(1, 1);
             tutorialAssist = hud.tutorialAssist;
             tutorialAssist.SetBoards(board1, board2);
             tutorialAssist.MoveHighlightToPosition(board1.GetScreenPosFromXY(4, 5));
         }
         else
         {
             hud.Setup(1);
         }
     }
 }