Example #1
0
 public void GetTarget()
 {
     if (combatMan.is_card_selected)
     {
         target = combatMan.attacker;
     }
 }
Example #2
0
 public void ShuffleRight()
 {
     if (is_p1_turn && p1_stack_right.Count > 0)
     {
         p1_stack_left.Push(p1_stack_mid);
         p1_stack_mid = p1_stack_right.Pop();
         DisplayP1Hand();
     }
     else if (!is_p1_turn && p2_stack_right.Count > 0)
     {
         p2_stack_left.Push(p2_stack_mid);
         p2_stack_mid = p2_stack_right.Pop();
         DisplayP2Hand();
     }
 }
Example #3
0
    // Start is called before the first frame update
    void Start()
    {
        /*  if (instance)
         *    DestroyImmediate(gameObject);
         * else
         * {
         *    DontDestroyOnLoad(this);
         *    instance = this;
         * }*/
        gman      = FindObjectOfType <BoardGameManager>();
        p1_cards  = gman.player1.cardsHand;
        p2_cards  = gman.player2.cardsHand;
        gman      = FindObjectOfType <BoardGameManager>();
        gman.cman = transform.parent.gameObject;
        if (gman.playerturn == 1)
        {
            is_p1_turn     = true;
            is_p1_attacker = true;
        }
        else
        {
            is_p1_turn     = false;
            is_p1_attacker = false;
        }
        is_declare_horde = true;
        is_card_selected = false;
        fight_canvas.gameObject.SetActive(false);
        for (int i = p1_cards.Count - 1; i > 1; i--)
        {
            p1_stack_right.Push(p1_cards[i]);
        }
        p1_stack_mid = p1_cards[1];
        p1_stack_left.Push(p1_cards[0]);
        for (int i = p2_cards.Count - 1; i > 1; i--)
        {
            p2_stack_right.Push(p2_cards[i]);
        }
        p2_stack_mid = p2_cards[1];
        p2_stack_left.Push(p2_cards[0]);

        //show cards on buttons
        Debug.Log("Select Attacker");
    }
Example #4
0
 // Update is called once per frame
 void Update()
 {
     if (!is_p1_atk)
     {
         p1_hand_canvas.gameObject.SetActive(true);
         p2_hand_canvas.gameObject.SetActive(false);
         p1_atk_but.gameObject.SetActive(true);
         p1_sur_but.gameObject.SetActive(true);
     }
     else if (!is_p2_atk)
     {
         p2_hand_canvas.gameObject.SetActive(true);
         p1_hand_canvas.gameObject.SetActive(false);
         p2_atk_but.gameObject.SetActive(true);
         p2_sur_but.gameObject.SetActive(true);
     }
     if (is_p1_attacker && is_p1_sur)
     {
         gman.LoseBattle();
     }
     else if (is_p1_attacker && is_p2_sur)
     {
         gman.WinBattle();
     }
     else if (!is_p1_attacker && is_p1_sur)
     {
         gman.WinBattle();
     }
     else if (!is_p1_attacker && is_p2_sur)
     {
         gman.LoseBattle();
     }
     if (is_declare_horde && is_p1_atk && is_p2_atk)
     {
         atk_damage.text = "0";
         def_damage.text = "0";
         DisplayP1Hand();
         DisplayP2Hand();
         if (!attacker)
         {
             if (is_p1_turn && is_card_selected)
             {
                 attacker = p1_stack_mid;
                 Debug.Log("Select Defender");
                 is_card_selected = false;
                 if (p1_stack_right.Count > 0)
                 {
                     p1_stack_mid = p1_stack_right.Pop();
                 }
                 else if (p1_stack_left.Count > 0)
                 {
                     p1_stack_mid = p1_stack_left.Pop();
                 }
                 else if (p1_stack_left.Count == 0 && p1_stack_right.Count == 0)
                 {
                     p1_stack_mid = null;
                 }
                 is_p1_turn          = false;
                 attacker.cur_health = attacker.health + P1BuffHealth;
                 attacker.add_dmg    = attacker.add_dmg + P1BuffDamage;
                 DisplayP1Hand();
                 DisplayP2Hand();
             }
             else if (!is_p1_turn && is_card_selected)
             {
                 attacker = p2_stack_mid;
                 Debug.Log("Select Defender");
                 is_card_selected = false;
                 if (p2_stack_right.Count > 0)
                 {
                     p2_stack_mid = p2_stack_right.Pop();
                 }
                 else if (p2_stack_left.Count > 0)
                 {
                     p2_stack_mid = p2_stack_left.Pop();
                 }
                 else if (p2_stack_left.Count == 0 && p2_stack_right.Count == 0)
                 {
                     p2_stack_mid = null;
                 }
                 is_p1_turn          = true;
                 attacker.cur_health = attacker.health + P2BuffHealth;
                 attacker.add_dmg    = attacker.add_dmg + P2BuffDamage;
                 DisplayP2Hand();
                 DisplayP1Hand();
             }
         }
         else if (!defender)
         {
             if (is_p1_turn && is_card_selected)
             {
                 defender         = p1_stack_mid;
                 is_card_selected = false;
                 if (p1_stack_right.Count > 0)
                 {
                     p1_stack_mid = p1_stack_right.Pop();
                 }
                 else if (p1_stack_left.Count > 0)
                 {
                     p1_stack_mid = p1_stack_left.Pop();
                 }
                 else if (p1_stack_left.Count == 0 && p1_stack_right.Count == 0)
                 {
                     p1_stack_mid = null;
                 }
                 is_p1_turn          = false;
                 defender.cur_health = defender.health + P1BuffHealth;
                 defender.add_dmg    = defender.add_dmg + P1BuffDamage;
                 DisplayP1Hand();
                 DisplayP2Hand();
             }
             else if (!is_p1_turn && is_card_selected)
             {
                 defender         = p2_stack_mid;
                 is_card_selected = false;
                 if (p2_stack_right.Count > 0)
                 {
                     p2_stack_mid = p2_stack_right.Pop();
                 }
                 else if (p2_stack_left.Count > 0)
                 {
                     p2_stack_mid = p2_stack_left.Pop();
                 }
                 else if (p2_stack_left.Count == 0 && p2_stack_right.Count == 0)
                 {
                     p2_stack_mid = null;
                 }
                 is_p1_turn          = true;
                 defender.cur_health = defender.health + P2BuffHealth;
                 defender.add_dmg    = defender.add_dmg + P2BuffDamage;
                 DisplayP2Hand();
                 DisplayP1Hand();
             }
         }
         else if (attacker && defender)
         {
             is_declare_horde = false;
             is_combat        = true;
             p1_hand_canvas.gameObject.SetActive(false);
             p2_hand_canvas.gameObject.SetActive(false);
             fight_canvas.gameObject.SetActive(true);
             atk_image.sprite = attacker.front_sprite;
             def_image.sprite = defender.front_sprite;
             atk_health.text  = attacker.cur_health.ToString();
             def_health.text  = defender.cur_health.ToString();
         }
     }
     if (is_combat)
     {
         if (combat_timer <= phase_timer_fl)
         {
             combat_timer += Time.deltaTime;
         }
         else
         {
             combat_timer = 0;
             if (attacker.cur_health > 0 && defender.cur_health > 0)
             {
                 Debug.Log("attacker health is" + attacker.cur_health);
                 Debug.Log("defender health is" + defender.cur_health);
                 atk_health.text = attacker.cur_health.ToString();
                 def_health.text = defender.cur_health.ToString();
                 Fight();
                 Debug.Log("attacker health is" + attacker.cur_health);
                 Debug.Log("defender health is" + defender.cur_health);
                 atk_health.text = attacker.cur_health.ToString();
                 def_health.text = defender.cur_health.ToString();
             }
             else if (attacker.cur_health <= 0 && defender.cur_health > 0)
             {
                 is_combat           = false;
                 is_combat_completed = true;
                 is_defender_win     = true;
                 if (attacker.cur_health <= 0)
                 {
                     gman.MonsterDiscard.Add(attacker);
                     attacker = null;
                 }
                 if (is_p1_attacker)
                 {
                     is_p1_turn = true;
                 }
                 else
                 {
                     is_p1_turn = false;
                 }
             }
             else
             {
                 is_combat           = false;
                 is_combat_completed = true;
                 is_attacker_win     = true;
                 if (attacker.cur_health <= 0)
                 {
                     gman.MonsterDiscard.Add(attacker);
                     attacker = null;
                 }
                 if (defender.cur_health <= 0)
                 {
                     gman.MonsterDiscard.Add(defender);
                     defender = null;
                 }
                 if (is_p1_attacker)
                 {
                     is_p1_turn = true;
                 }
                 else
                 {
                     is_p1_turn = false;
                 }
             }
         }
     }
     if (is_combat_completed)
     {
         if (combat_timer <= phase_timer_fl)
         {
             combat_timer += Time.deltaTime;
         }
         else
         {
             if (is_defender_win)
             {
                 combat_timer = 0;
                 //defender win
                 is_p1_atk = false;
                 is_p2_atk = false;
                 if (!is_p1_atk && is_p1_attacker)
                 {
                     p1_hand_canvas.gameObject.SetActive(true);
                     p2_hand_canvas.gameObject.SetActive(false);
                     p1_atk_but.gameObject.SetActive(true);
                     p1_sur_but.gameObject.SetActive(true);
                     is_declare_horde    = true;
                     is_combat_completed = false;
                 }
                 else if (!is_p2_atk && !is_p1_attacker)
                 {
                     p2_hand_canvas.gameObject.SetActive(true);
                     p1_hand_canvas.gameObject.SetActive(false);
                     p2_atk_but.gameObject.SetActive(true);
                     p2_sur_but.gameObject.SetActive(true);
                     is_declare_horde    = true;
                     is_combat_completed = false;
                 }
                 if (is_p1_attacker && (is_p1_sur || p1_cards.Count == 0))
                 {
                     gman.LoseBattle();
                 }
                 else if (is_p1_attacker && is_p2_sur)
                 {
                     gman.WinBattle();
                 }
                 else if (!is_p1_attacker && is_p1_sur)
                 {
                     gman.WinBattle();
                 }
                 else if (!is_p1_attacker && is_p2_sur)
                 {
                     gman.LoseBattle();
                 }
             }
             else
             {
                 combat_timer = 0;
                 //attacker win
                 is_p1_atk = false;
                 is_p2_atk = false;
                 if (!is_p1_atk && is_p1_attacker)
                 {
                     p1_hand_canvas.gameObject.SetActive(true);
                     p2_hand_canvas.gameObject.SetActive(false);
                     p1_atk_but.gameObject.SetActive(true);
                     p1_sur_but.gameObject.SetActive(true);
                     is_declare_horde    = true;
                     is_combat_completed = false;
                 }
                 else if (!is_p2_atk && !is_p1_attacker)
                 {
                     p2_hand_canvas.gameObject.SetActive(true);
                     p1_hand_canvas.gameObject.SetActive(false);
                     p2_atk_but.gameObject.SetActive(true);
                     p2_sur_but.gameObject.SetActive(true);
                     is_declare_horde    = true;
                     is_combat_completed = false;
                 }
                 if (is_p1_attacker && (is_p1_sur || !p1_stack_mid))
                 {
                     gman.LoseBattle();
                 }
                 else if (is_p1_attacker && (is_p2_sur || !p2_stack_mid))
                 {
                     gman.WinBattle();
                 }
                 else if (!is_p1_attacker && (is_p1_sur || !p1_stack_mid))
                 {
                     gman.WinBattle();
                 }
                 else if (!is_p1_attacker && (is_p2_sur || !p2_stack_mid))
                 {
                     gman.LoseBattle();
                 }
             }
         }
     }
 }