public void StartSpawn() { if (GameLibrary.dungeonId >= 30000) { if (spawnID > 99) { levelID = "" + spawnID; } else if (spawnID > 9) { levelID = "0" + spawnID; } else { levelID = "00" + spawnID; } if (!GameLibrary.SceneType(SceneType.TD) && !GameLibrary.SceneType(SceneType.MB1) && !GameLibrary.SceneType(SceneType.Dungeons_MB1)) { levelID = GameLibrary.dungeonId.ToString() + levelID; config = FSDataNodeTable <LevelConfigsNode> .GetSingleton().FindDataByType(Convert.ToUInt32(levelID)); } if (null != config) { spawnQueue = config.monsterID; monsterLevel = (int)config.monsterlvl; lvlRate = config.monsterlvl; monsterScale = config.scale; } } if (spawnQueue == 0) { return; } if (transform.parent.GetComponent <EffectBlock>()) { effect_Block = transform.parent.GetComponent <EffectBlock>(); } if (transform.parent.GetComponent <BossChuChangField>()) { effect_Boss = transform.parent.GetComponent <BossChuChangField>(); } if (trigger != null) { trigger.OnTrigger += CreatMonster; } else if (distance > 0 && isKM) { InvokeRepeating("InvokeCheckDistance", 0f, 0.2f); } else if (spawnTimer > 0) { if (isTP) { InvokeRepeating("InvokeMonster", spawnTimer, interval); } else { Invoke("CreatMonster", spawnTimer); } } else { CreatMonster(); } }
public override void InitScene() { instance = this; if (GameLibrary.dungeonId != 0 && GameLibrary.dungeonId / 100 == 301) { sceneType = SceneType.ACT_GOLD; } else if (GameLibrary.dungeonId != 0 && GameLibrary.dungeonId / 100 == 302) { sceneType = SceneType.ACT_EXP; } else { sceneType = SceneType.KV; } Globe.isFB = true; bullockCarts = transform.Find("BullockCarts").gameObject; //autoPoint = bullockCarts.transform.Find(Tag.auto); CreateMainHero(); if (sceneType == SceneType.KV) { ReadTask(); CreatBullockCarts(curlevelConfig[0].npcID, curlevelConfig[0].npclvl); } else { string cartid = GameLibrary.dungeonId + "000"; LevelConfigsNode level = FSDataNodeTable <LevelConfigsNode> .GetSingleton().FindDataByType(int.Parse(cartid)); CreatBullockCarts(level.monsterID, level.monsterlvl, level.scale); } EffectBlock[] eb = GetComponentsInChildren <EffectBlock>(); for (int i = 0; i < eb.Length; i++) { eb[i].LoadSpawnMonster(); eb[i].OnCloseWall += (int num) => OnCloseWall(num); effectList.Add(eb[i]); } SpawnMonster[] sm = GetComponentsInChildren <SpawnMonster>(); for (int i = 0; i < sm.Length; i++) { sm[i].isKM = false; spwanList.Add(sm[i]); } for (int i = 0; i < spwanList.Count; i++) { spwanList[i].enabled = false; } for (int i = 0; i < effectList.Count; i++) { effectList[i].OnCanMoveCarts += TriggerOperating; } //Destroy(player.GetComponent<BasePlayerAI>()); //player.pm.isAutoMode = true; //player.gameObject.AddComponent<Player_CollectAI>(); escortNPC = cart.GetComponent <CharacterState>(); player.GetComponent <Player_AutoAI>().protectionCs = escortNPC; player.OnDead += (c) => { WinCondition(false); }; base.InitScene(); }