public void chooseActionMode(string actionMode) { if (strLastSelectSoldierName != "") { destroyAttackArrow(); } actionModeName = actionMode; if (selectedSoldier != null) { switch (actionModeName) { case "Attack": if (selectedSoldier.GetComponent <Unit>().m_pSoldier.getCurrentMoveStep() > 0) { actionModeName = "Attack"; GameObject newAttackArrow = Instantiate(attackArrow, selectedSoldier.transform.position, Quaternion.identity); newAttackArrow.name = selectedSoldier.name + "_attackArrow"; strLastSelectSoldierName = newAttackArrow.name; m_pUnit.setState(1); } break; case "Defense": actionModeName = "Defense"; int blockAttack = m_pUnit.getCurrentMoveStep(); m_pUnit.setDefense(blockAttack); m_pUnit.setCurrentMoveStep(0); m_pUnit.setState(2); GameObject floatingTextObj = Instantiate(floatingText, selectedSoldier.transform.position, Quaternion.identity); floatingTextObj.GetComponent <TextMesh>().text = "Block " + blockAttack.ToString() + " hit!"; floatingTextObj.GetComponent <TextMesh>().color = Color.white; SoundEffectManager.Instance.playAudio(12); break; case "LevelUP": actionModeName = "Defense"; m_pUnit.setState(3); break; case "Sell": int value = m_pUnit.getMoneyBySellingEntity(); if (GameManager.Instance.getTurn() == 0) { m_player1.setMoney(m_player1.getMoney() + m_pUnit.getMoneyBySellingEntity()); } else { m_player2.setMoney(m_player2.getMoney() + m_pUnit.getMoneyBySellingEntity()); } Destroy(selectedSoldier); m_pUnit.setState(4); Vector2 pos = new Vector2(cameraMain.transform.position.x + 2, cameraMain.transform.position.y - 1); GameObject popText = Instantiate(floatingText, pos, Quaternion.identity); popText.GetComponent <TextMesh>().text = "money+" + value.ToString(); SoundEffectManager.Instance.playAudio(0); break; } } }