private void LateUpdate() { if (state != GAME_STATE.PAUSED) { if (Input.GetKeyUp(KeyCode.Escape)) { Pause(true); UIManager.instance.SetActive("Pause", true); } } else { if (Input.GetKeyUp(KeyCode.Escape)) { Pause(false); UIManager.instance.SetActive("Pause", false); UIManager.instance.SetActive("Help", false); } } OnStageChanged(); lateState = state; lateStage = stage; }
public void SetStage(int stage) { this.stage = (GAME_STAGE)stage; if (this.stage != GAME_STAGE.CONSTRUCTION) { SoundManager.PlaySound("button"); } }
//选中某张卡,index 1-7 public void selectCard(int index) { //print (index); if (index > 0 && index < 8) { foreach (GameObject c in cardObject) { if (int.Parse(c.name.Substring(4, 1)) == index) { curSelectCardIndex = index; //选卡阶段 if (gameStage == GAME_STAGE.CHOOSE && characterList[index - 1].side == SIDE.NONE_SIDE) { chooseEnd++; characterList [index - 1].side = isWhoTurn; Vector3 pos = c.transform.position; if (isWhoTurn == SIDE.P1_SIDE) { pos.y = Y_OF_PLAYER1; } else { pos.y = Y_OF_PLAYER2; if (chooseEnd == 6) { foreach (GameObject a in cardObject) { Vector3 pos_a = a.transform.position; if (characterList[int.Parse(a.name.Substring(4, 1)) - 1].side == SIDE.P1_SIDE) { if (characterList[int.Parse(a.name.Substring(4, 1)) - 1].curHP < 9) { characterList[int.Parse(a.name.Substring(4, 1)) - 1].curHP++; } characterList[int.Parse(a.name.Substring(4, 1)) - 1].curMP = 2; print(int.Parse(a.name.Substring(4, 1))); } if (pos_a.y == 0f) { pos_a.y = Y_OF_PLAYER2; a.transform.position = pos_a; characterList [int.Parse(a.name.Substring(4, 1)) - 1].side = SIDE.P2_SIDE; characterList [int.Parse(a.name.Substring(4, 1)) - 1].curPos = pos_a; gameStage = GAME_STAGE.FIGHT; text.text = "Player1's Turn"; Vector3 posEndTurnButton = endTurnButtonObj.transform.position; posEndTurnButton.z = 0; endTurnButtonObj.transform.position = posEndTurnButton; fireObject.transform.position = posEndTurnButton; unselectCard(curSelectCardIndex); isSelectAttacker = true; } } } } c.transform.position = pos; characterList [index - 1].curPos = pos; changeTurn(); } //战斗阶段 else if (gameStage == GAME_STAGE.FIGHT) { print("GAME_STAGE.FIGHT"); print("motion =" + characterList[curSelectCardIndex - 1].motion); if (isSelectAttacker == true) { //card3使用技能2,目标是己方card if (attackIndex == 3 && skillIndex == 2 && characterList[curSelectCardIndex - 1].side == isWhoTurn) { skill3_2(attackIndex, curSelectCardIndex); updateCardValue(); unselectCard(index); //隐藏选择框 Vector3 pos = selectBoardObject.transform.position; pos.z = 1; selectBoardObject.transform.position = pos; attackIndex = -1; hideSkillButtons(); } //card5使用技能1,目标是己方card else if (attackIndex == 5 && skillIndex == 1 && characterList[curSelectCardIndex - 1].side == isWhoTurn) { skill5_1(attackIndex, curSelectCardIndex); updateCardValue(); unselectCard(index); //隐藏选择框 Vector3 pos = selectBoardObject.transform.position; pos.z = 1; selectBoardObject.transform.position = pos; attackIndex = -1; hideSkillButtons(); } //card5使用技能2,目标是己方card else if (attackIndex == 5 && skillIndex == 2 && characterList[curSelectCardIndex - 1].side == isWhoTurn) { skill5_2(attackIndex, curSelectCardIndex); updateCardValue(); unselectCard(index); //隐藏选择框 Vector3 pos = selectBoardObject.transform.position; pos.z = 1; selectBoardObject.transform.position = pos; attackIndex = -1; hideSkillButtons(); } //card5使用技能3,目标是己方card else if (attackIndex == 5 && skillIndex == 3 && characterList[curSelectCardIndex - 1].side == isWhoTurn) { skill5_3(attackIndex, curSelectCardIndex); updateCardValue(); unselectCard(index); //隐藏选择框 Vector3 pos = selectBoardObject.transform.position; pos.z = 1; selectBoardObject.transform.position = pos; attackIndex = -1; hideSkillButtons(); } //卡牌属于行动方,血量大于0,行动力大于0才能选中 else if (characterList[curSelectCardIndex - 1].side == isWhoTurn && characterList[curSelectCardIndex - 1].curHP > 0 && characterList[curSelectCardIndex - 1].motion > 0) { c.transform.localScale = new Vector3(2f * 1.2f, 3f * 1.2f, 0.1f * 1f); selectAttacker(c, curSelectCardIndex); showSkillButtons(); } else { if (attackIndex > -1 && characterList[curSelectCardIndex - 1].side != isWhoTurn && characterList[curSelectCardIndex - 1].curHP > 0) { selectTarget(c, curSelectCardIndex); hideSkillButtons(); } } } winOrLose(); } break; } } } }
private IEnumerator Countdown() { while (true) { stage = GAME_STAGE.EXPANSION; time = maxTime; while (time > 0) { yield return(new WaitForSeconds(1f)); time--; wood += woodRate; gold += goldRate; _base.Heal(healRate); SetDarkness((float)time / (float)maxTime); } UIManager.instance.Log( nightQuotes[Random.Range(0, nightQuotes.Length)], new Color(1f, 1f, 1f, .75f)); SoundManager.PlaySound("night"); SoundManager.SetChannelVolume("Drums", 1f); GameManager.instance.ScreenShake(.25f, .25f, 50); stage = GAME_STAGE.DEFENSE; yield return(new WaitForEndOfFrame()); while (Spawner.instance.enemiesAlive > 0) { yield return(new WaitForSeconds(1f)); time++; } yield return(new WaitForSeconds(1f)); float amount = 0f; while (amount < 1f) { amount = Mathf.Clamp(amount + Time.deltaTime, 0f, 1f); SetDarkness(amount); yield return(new WaitForEndOfFrame()); } if (Spawner.instance.waveIndex == Spawner.instance.waves.Length) { EndGame(true); } UIManager.instance.Log( dayQuotes[Random.Range(0, dayQuotes.Length)], new Color(0f, 0f, 0f, 1f)); SoundManager.PlaySound("day"); SoundManager.SetChannelVolume("Drums", 0f); } }
// Use this for initialization void Start() { isWhoTurn = SIDE.P1_SIDE; gameStage = GAME_STAGE.CHOOSE; chooseEnd = 0; isSelectAttacker = false; isBlood = false; isSkill6_3Used = false; texture = new Texture[MAX_CHARACTER_NUMBER]; texture_d = new Texture[MAX_CHARACTER_NUMBER]; texture_name = new Texture[MAX_CHARACTER_NUMBER]; defaultPos = new Vector3[MAX_CHARACTER_NUMBER]; characterList = new characterStatus[MAX_CHARACTER_NUMBER]; curSelectCardIndex = 0; attackIndex = -1; targetIndex = -1; skillIndex = 0; isPress = false; pressTime = 0f; isShowTime = false; MainCamera = GameObject.Find("Main Camera"); initAllCharacterStatus(); skillArray = new skill[] { skill1_1, skill1_2, skill1_3, skill2_1, skill2_2, skill2_3, skill3_1, skill3_2, skill3_3, skill4_1, skill4_2, skill4_3, skill5_1, skill5_2, skill5_3, skill6_1, skill6_2, skill6_3, skill7_1, skill7_2, skill7_3 }; //初始默认位置和图案 for (int n = 0; n < MAX_CHARACTER_NUMBER; n++) { texture[n] = (Texture)Resources.Load("card" + (n + 1)); texture_d[n] = (Texture)Resources.Load("card" + (n + 1) + "_d"); texture_name[n] = (Texture)Resources.Load("name" + (n + 1)); defaultPos [n] = new Vector3(-7.5f + n * 2.5f, 0f, 0f); characterList [n].curPos = defaultPos[n]; } cardObject = GameObject.FindGameObjectsWithTag("Card"); endTurnButtonObj = GameObject.Find("EndTurnButton"); selectBoardObject = GameObject.Find("SelectBoard"); bloodObject = GameObject.Find("Blood"); text = GameObject.Find("TurnText").GetComponent <Text> (); text.text = ""; skillButtonsObject = GameObject.Find("SkillButtons"); skillButtonsDefaultPos = skillButtonsObject.transform.position; hideSkillButtons(); fireObject = GameObject.Find("fire"); skillButton1 = GameObject.Find("Skill1"); skillButton2 = GameObject.Find("Skill2"); skillButton3 = GameObject.Find("Skill3"); int i = 0; foreach (GameObject c in cardObject) { i = int.Parse(c.name.Substring(4, 1)); c.transform.position = defaultPos[i - 1]; c.GetComponent <Renderer>().material.mainTexture = texture[i - 1]; c.GetComponentInChildren <Transform>().Find("Name").GetComponent <Renderer>().material.mainTexture = texture_name[i - 1]; } updateCardValue(); selectCard(curSelectCardIndex); }