コード例 #1
0
 void b_Win_Conditions()
 {
     //function used to check every win/loss condition
     if (E_Ship_Array.Length == 0)
     {
         c_Battle = battle_State.Win;
     }
     else if (P_Ship_Array.Length == 0)
     {
         c_Battle = battle_State.Loss;
     }
     else
     {
         c_Battle = battle_State.PrePhase;
     }
 }
コード例 #2
0
    void nullifier()
    {
        Player = null;
        Enemy  = null;

        isActive           = false;
        Turns              = null;
        CurrentTurn.c_Ship = null;
        CurrentTurn.c_Wep  = null;
        CurrentTurn.t_Ship = null;
        P_Ship_Array       = null;
        E_Ship_Array       = null;
        active_Ship        = null;
        act_Ship           = 0;
        en_Ship            = null;
        en_Turn            = null;
        TurnTransScript    = null;
        thisScene          = null;
        set_Action         = false;
        c_Action_Set       = false;
        playerSets         = false;
        c_Battle           = battle_State.bNull;
        aSelect            = null;
    }
コード例 #3
0
    // Update is called once per frame
    void Update()
    {
        Debug.Log(c_Battle);
        if (thisScene != SceneManager.GetActiveScene().name)
        {
            thisScene = SceneManager.GetActiveScene().name;
        }

        if (TurnTransScript == null && thisScene == "battleScene")
        {
            TurnTransScript = GameObject.Find("TurnHolder").GetComponent <TurnTransferScript>();
            c_Battle        = battle_State.PlayerTurn;
        }

        if (c_Battle == battle_State.PrePhase)
        {
            b_Pre_Action_Call();
            c_Battle = battle_State.PlayerTurn;
        }

        //Debug.Log(P_Ship_Array[act_Ship]);

        if (c_Battle == battle_State.PlayerTurn)
        {
            Debug.Log("Player Turn yes");
            if (TurnTransScript.currentAttackState == TurnTransferScript.attackState.playerSet)
            {
                Debug.Log("player Set Yes");
                Debug.Log(CurrentTurn.c_Ship);
                Debug.Log(CurrentTurn.c_Wep);
                Debug.Log(CurrentTurn.t_Ship);
                if (CurrentTurn.c_Ship != null && CurrentTurn.c_Wep != null && CurrentTurn.t_Ship != null)
                {
                    Debug.Log("Current Turn not null");
                    Debug.Log(act_Ship);
                    //Debug.Log(Turns[act_Ship]);
                    int acc = 0;
                    for (int h = 0; h < P_Ship_Array.Length; h++)
                    {
                        if (P_Ship_Array[h] == null)
                        {
                            acc = h;
                            break;
                        }
                    }
                    Debug.Log(acc);
                    Turns[act_Ship] = CurrentTurn;
                    if ((act_Ship + 1) >= acc)
                    {
                        Debug.Log("enemy Turn");
                        TurnTransScript.currentAttackState = TurnTransferScript.attackState.playerDone;
                        c_Battle = battle_State.EnemyTurn;
                    }
                    else
                    {
                        Debug.Log("still not enemy turn yet my homie");
                        act_Ship++;
                        TurnTransScript.current_Ship       = act_Ship;
                        CurrentTurn.c_Ship                 = null;
                        CurrentTurn.c_Wep                  = null;
                        CurrentTurn.t_Ship                 = null;
                        TurnTransScript.currentAttackState = TurnTransferScript.attackState.ASNull;
                    }
                }
            }
        }

        if (Input.GetKey(KeyCode.K))
        {
            Debug.Log("Cheat win go");
            foreach (GameObject G in E_Ship_Array)
            {
                if (G != null)
                {
                    Debug.Log(G.GetComponent <publicShip>());

                    G.GetComponent <publicShip>().ShipClass.s_Take_Damage(100000000, true);
                }
            }
            GameObject.Destroy(GameObject.Find("PreBattleState"));
            c_Battle = battle_State.Win;
        }

        if (c_Battle == battle_State.EnemyTurn && TurnTransScript.currentAttackState == TurnTransferScript.attackState.playerDone)
        {
            b_Enemy_Turn();
            c_Battle = battle_State.ActionPhase;
        }

        if (c_Battle == battle_State.ActionPhase)
        {
            run_Actions();
            c_Battle = battle_State.PostAction;
        }

        if (c_Battle == battle_State.PostAction)
        {
            b_Post_Action_Call();
            b_Win_Conditions();
        }

        if (c_Battle == battle_State.Win)
        {
            nullifier();
            GameState.SwitchState((int)GameState.GameStateMachine.gs_OnOverworld);
        }

        if (c_Battle == battle_State.Loss)
        {
            GameState.SwitchState((int)GameState.GameStateMachine.gs_OnOverworld);
        }
    }