IEnumerator StartBattle(MessageEventArgs args) { if(args.ContainsMessage("Man")) { GameObject player = Instantiate(Resources.Load(GlobalDataStructure.PATH_UIPREFAB_BATTLE + "Character")) as GameObject; player.transform.SetParent(playerPanel.transform, false); player.GetComponent<Player>().Init(0); player.transform.DOLocalMoveX(-250,0.5f); } if(args.ContainsMessage("Girl")) { GameObject player = Instantiate(Resources.Load(GlobalDataStructure.PATH_UIPREFAB_BATTLE + "Character")) as GameObject; player.transform.SetParent(playerPanel.transform, false); player.GetComponent<Player>().Init(1); player.transform.DOLocalMoveX(250,0.5f); } if(args.ContainsMessage("Enemy")) { int[] enemyIDs = args.GetMessage<int[]>("Enemy"); for(int i = 0; i < enemyIDs.Length; i++) { GameObject enemy = Instantiate(Resources.Load(GlobalDataStructure.PATH_UIPREFAB_BATTLE + "Enemy")) as GameObject; enemy.transform.SetParent(enemyPanel.transform, false); enemy.GetComponent<Enemy>().Init(enemyIDs[i]); enemy.transform.localScale = new Vector3(0,0,0); enemy.transform.DOScale(1, 1); yield return new WaitForSeconds(1f); switch(enemyIDs.Length) { case 2: if(i == 0) enemy.transform.DOLocalMoveX(-150,0.5f); else if(i == 1) enemy.transform.DOLocalMoveX(150,0.5f); break; case 3: if(i == 0) enemy.transform.DOLocalMoveX(-200,0.5f); else if(i == 1) enemy.transform.DOLocalMoveX(200,0.5f); break; } } } yield return new WaitForSeconds(0.5f); EventManager.Instance.PostEvent (BattleEvent.OnBattleStart); }
void OnCommandSelected(MessageEventArgs args) { currentPlayer.commandToExecute = currentCommand; bool result = SkillHelper.FillCommandTarget(currentPlayer); if(!result) { if(args.ContainsMessage("Target")) { BattleObject bo = args.GetMessage<BattleObject>("Target"); currentCommand.targetList.Add(bo); } } currentPlayer.GetComponent<BattleObjectUIEvent>().EndReady(); currentPlayer.battleStatus = BattleStatus.Action; foreach(Enemy enemy in enemys) { enemy.GetComponent<BattleObjectUIEvent>().DisableClick(); } foreach(Player player in players) { player.GetComponent<BattleObjectUIEvent>().DisableClick(); } readyQueue.Dequeue(); }