private void TickCD(bool isTick) { float time = Time.time; DataMessageHandler.DataMessage_TickCD(isTick); if (!isTick) { DataMessageHandler.DataMessage_LastTickTime(time); } }
private IEnumerator FinishLevelCoroutine() { while (true) { if (skillingDic.Count == 0 && beLcokedDic.Count == 0 && aeonSkillingDic.Count == 0) { break; } yield return(null); } DataMessageHandler.DataMessage_TickCD(false); ClearData(); ResetSkillOrder(); #region imitate #if UNITY_EDITOR if (Fight.Controller.FightController.imitate) { if (++_imitateWave <= Fight.Controller.FightController.instance.enemyWave) { //DataMessageHandler.DataMessage_PlayNextFightEffect(); //yield return new WaitForSeconds(2f); //if (Fight.Model.FightProxy.instance.hasBoss) // DataMessageHandler.DataMessage_PlayBossAppearEffect(); NextLevel(); } else { //yield return new WaitForSeconds(2f); PlayerVictory(); } } else { #endif #endregion if (Fight.Model.FightProxy.instance.HasNextEnemies()) { Fight.Model.FightProxy.instance.Next(); //yield return new WaitForSeconds(2f); if (Fight.Model.FightProxy.instance.hasBoss) { DataMessageHandler.DataMessage_PlayBossAppearEffect(); } NextLevel(); } else { //yield return new WaitForSeconds(2f); PlayerVictory(); } #if UNITY_EDITOR } #endif }
private void StartFight() { _interlude = false; _hangup = false; List <HeroEntity> heroList = PlayerController.instance.heros; List <EnemyEntity> enemyList = EnemyController.instance.enemies; switch (Fight.Controller.FightController.instance.fightType) { case FightType.PVE: case FightType.Arena: case FightType.DailyPVE: case FightType.Expedition: case FightType.WorldTree: case FightType.WorldBoss: case FightType.PVP: case FightType.FriendFight: case FightType.MineFight: #if UNITY_EDITOR case FightType.Imitate: #endif SortHitSkill(heroList, enemyList); _enemyAutoOrder = true; DataMessageHandler.DataMessage_TickCD(true); break; case FightType.ConsortiaFight: #if UNITY_EDITOR orderSkills.Clear(); finishSkills.Clear(); #endif _enemyAutoOrder = false; DataMessageHandler.DataMessage_TickCD(true); //StopCoroutine("PVPResultCoroutine"); OrderConsortiaSkill(); break; case FightType.FirstFight: case FightType.SkillDisplay: _enemyAutoOrder = false; break; } DataMessageHandler.DataMessage_StartFight(); HeroEntity hero = null; for (int i = 0, count = heroList.Count; i < count; i++) { hero = heroList[i]; if (Fight.Model.FightProxy.instance.CurrentTeamIndex == 0) { if (Fight.Controller.FightController.instance.fightType == FightType.FirstFight) { FirstFightCharacterData ffcd = MockFightController.instance.GetCharacterDataById((int)hero.characterInfo.instanceID); hero.skill1CD = ffcd.cd1; hero.skill2CD = ffcd.cd2; } else { hero.skill1CD = 0; hero.skill2CD = 0; } } hero.SetOrderable(); //Debugger.Log("hero {0},hp {1} ", hero.characterInfo.instanceID, hero.HP); } EnemyEntity enemy = null; for (int i = 0, count = enemyList.Count; i < count; i++) { enemy = enemyList[i]; enemy.skill1CD = 0; enemy.skill2CD = 0; switch (Fight.Controller.FightController.instance.fightType) { case FightType.PVE: case FightType.DailyPVE: case FightType.WorldTree: try { if (Fight.Model.FightProxy.instance.CurrentTeamIndex > 0) { Logic.Team.Model.TeamData teamData = Logic.Fight.Model.FightProxy.instance.GetCurrentTeamData(); if (enemy.characterInfo.skillId1 > 0) { enemy.skill1CD = teamData.cdReduceRate * enemy.characterInfo.skillInfo1.skillData.CD; } else { enemy.skill1CD = 0; } if (enemy.characterInfo.skillId2 > 0) { enemy.skill2CD = teamData.cdReduceRate * enemy.characterInfo.skillInfo2.skillData.CD; } else { enemy.skill2CD = 0; } } else { enemy.skill1CD = 0; enemy.skill2CD = 0; } } catch (System.Exception e) { Debugger.Log("set cd fail:" + e.StackTrace); enemy.skill1CD = 0; enemy.skill2CD = 0; } break; case FightType.FirstFight: FirstFightCharacterData ffcd = MockFightController.instance.GetCharacterDataById((int)enemy.characterInfo.instanceID); enemy.skill1CD = ffcd.cd1; enemy.skill2CD = ffcd.cd2; break; } //if (Fight.Controller.FightController.instance.fightType == FightType.FirstFight) //{ // FirstFightCharacterData ffcd = MockFightController.instance.GetCharacterDataById((int)enemy.characterInfo.instanceID); // enemy.skill1CD = ffcd.cd1; // enemy.skill2CD = ffcd.cd2; //} //else //{ // enemy.skill1CD = 0; // enemy.skill2CD = 0; //} enemy.SetOrderable(); //Debugger.Log("enemy {0},hp {1} ", enemy.characterInfo.instanceID, enemy.HP); } }