protected override void OnStart() { mo = SceneMoba1.instance; myTower = thisCs.groupIndex == 1 ? mo.TowerBlue : mo.TowerRed; myCamp = thisCs.groupIndex == 1 ? mo.CampBlue : mo.CampRed; enemyTower = thisCs.groupIndex == 1 ? mo.TowerRed : mo.TowerBlue; enemyCamp = thisCs.groupIndex == 1 ? mo.CampRed : mo.CampBlue; myHome = thisCs.groupIndex == 1 ? mo.HomeBlue : mo.HomeRed; myHomeRadius = myHome.GetComponent <SphereCollider>().radius; aiSkillHandler.SetSkills(thisCs.GetSkills()); initDefendHp = defendHpRate; if (myTower != null) { mal = myTower.GetComponentInChildren <MobaAddLife>(); } }
public override void InitScene() { instance = this; isDungeons = Globe.isFB; //不是副本 GameLibrary.isMoba = true; //moba if (!isDungeons) { sceneType = SceneType.MB1;//moba类型场景 } InitHeroDatas(); HeroReborn(HeroDataBlue); HeroReborn(HeroDataRed); if (HeroRed != null) { HeroRed.GetComponent <BasePlayerAI>().enabled = false; } InitHpAndAttackRatio(); if (!isDungeons) { InitTower(TowerBlue, (uint)212000101, 1, Modestatus.Tower); InitTower(TowerRed, (uint)212000102, 0, Modestatus.Tower); InitTower(CampBlue, (uint)211000101, 1, Modestatus.Tower); InitTower(CampRed, (uint)211000102, 0, Modestatus.Tower); } else { InitTower(TowerBlue, Modestatus.Tower, dungeonTower[0].groupIndex == 1 ? dungeonTower[0] : dungeonTower[1]); InitTower(TowerRed, Modestatus.Tower, dungeonTower[0].groupIndex == 0 ? dungeonTower[0] : dungeonTower[1]); InitTower(CampBlue, Modestatus.Tower, dungeonCamp[0].groupIndex == 1 ? dungeonCamp[0] : dungeonCamp[1]); InitTower(CampRed, Modestatus.Tower, dungeonCamp[0].groupIndex == 0 ? dungeonCamp[0] : dungeonCamp[1]); } CampRed.OnDead += (CharacterState cs) => ShowResult(true); CampBlue.OnDead += (CharacterState cs) => ShowResult(false); CampRed.Invincible = true; CampBlue.Invincible = true; TowerBlue.OnDead += (CharacterState cs) => CampBlue.Invincible = false; TowerRed.OnDead += (CharacterState cs) => CampRed.Invincible = false; SpawnMonsters = GetComponentsInChildren <SpawnMonster>(); for (int i = 0; i < SpawnMonsters.Length; i++) { SpawnMonsters[i].OnCreatMonster += OnMonsterCreated; } RefreshInfo(); CDTimer.GetInstance().AddCD(5, (int count, long id) => { if (HeroRed != null) { HeroRed.GetComponent <BasePlayerAI>().enabled = true; } Block.SetActive(false); if (FightTouch._instance.overBtn != null) { FightTouch._instance.overBtn.onClick = () => ShowResult(true); } }); CDTimer.GetInstance().AddCD(20, (int count, long id) => rebornTime++, 30); //if (!isDungeons) //{ // //CDTimer.CD timeOverCD = CDTimer.GetInstance().AddCD(BATTLE_DURATION, (int count, long id) => // //{ // // ShowResult(ScoreRed < ScoreBlue); // // Debug.Log("Result " + count); // //}); // //BattleCDandScore.instance.StartCD(BATTLE_DURATION); //} //else //{ // BattleCDandScore.instance.gameObject.SetActive(false); //} TowerRed.priority = MobaAIPlayerPriority.TowerLow; CampRed.priority = MobaAIPlayerPriority.CampLow; spwanList.AddRange(GetComponentsInChildren <SpawnMonster>()); if (FightTouch._instance != null) { FightTouch._instance.TpPosition = HomeBlue.transform.position; FightTouch._instance.tpEffect1 = Resource.CreatPrefabs("HuiCheng_01", gameObject, Vector3.one, "Effect/Prefabs/Item/"); FightTouch._instance.tpEffect2 = Resource.CreatPrefabs("HuiCheng_02", gameObject, Vector3.one, "Effect/Prefabs/Item/"); } base.InitScene(); }