void CreatTest(int type) { /* * Debug.Log("aIControllers CreatCount - " + aIControllers.Count); * AIController ai = new AIController(); * //ai set gameobj and model * Debug.Log("GetModel "); * GameObject go = Resources.Load<GameObject>("FSM/" + "TEnemy"); * ai.role = Instantiate(go); * ai.role.transform.position = new Vector3(CreatPOSCenter.transform.position.x + Random.Range(-10, 30), 1, CreatPOSCenter.transform.position.z+Random.Range(-10, 30)); * ai.aIGameManger = this; * ai.Start(); * aIControllers.Add(ai); * ai = null; * * Debug.Log("aIControllers CreatSuccess the new count is - " + aIControllers.Count); */ if (type == 0) { Vector3 P = new Vector3(Random.Range(-20, 20), 0, Random.Range(-20, 20)) + GameObject.FindGameObjectWithTag("Player").transform.position; EnemyAIStateController enemyai = new LittleMonsterStateController(); CreatEnemyRole(enemyai, "Enemy/" + "NS", P, Quaternion.identity); } else if (type == 1) { Vector3 P = new Vector3(Random.Range(-20, 20), 0, Random.Range(-20, 20)) + GameObject.FindGameObjectWithTag("Player").transform.position; CombineEnemyAIStateController enemyai = new CombineMonsterStateController(); CreatCombineEnemyRole(enemyai, "Enemy/" + "CB", P, Quaternion.identity); } else if (type == 2) { Vector3 P = new Vector3(Random.Range(-20, 20), 0, Random.Range(-20, 20)) + GameObject.FindGameObjectWithTag("Player").transform.position; BossAction enemyai = new BossAction(); CreatBossRole(enemyai, "Enemy/" + "Boss", P, Quaternion.identity); } //Vector3 P = new Vector3(Random.Range(-20, 20), 0, Random.Range(-20, 20)) + GameObject.FindGameObjectWithTag("Player").transform.position; //EnemyAIStateController enemyai = new LittleMonsterStateController(); //CreatEnemyRole(enemyai, "Enemy/" + "NS", P, Quaternion.identity); //Vector3 P = new Vector3(Random.Range(-20, 20), 0, Random.Range(-20, 20)) + GameObject.FindGameObjectWithTag("Player").transform.position; //CombineEnemyAIStateController enemyai = new CombineMonsterStateController(); //CreatCombineEnemyRole(enemyai, "Enemy/" + "CB", P, Quaternion.identity); }
private void CreatEnemyModel(AIGameManger _aIGameManger) { Debug.Log("data - createnemy"); for (int i = 0; i < m_datainfolist.monsterdataList.Count; i++) { EnemyAIStateController ai; CombineEnemyAIStateController combine_ai; Quaternion spawnRotation = new Quaternion(); spawnRotation.eulerAngles = new Vector3(0.0f, Random.Range(0.0f, 360.0f)); switch (m_datainfolist.monsterdataList[i].Type) { case ("NS"): ai = new LittleMonsterStateController(); _aIGameManger.CreatEnemyRole(ai, "Enemy/" + m_datainfolist.monsterdataList[i].Type, m_datainfolist.monsterdataList[i].LastPos, spawnRotation); ai.p_health.currenthp = m_datainfolist.monsterdataList[i].currentHp; break; case ("CB"): combine_ai = new CombineMonsterStateController(); _aIGameManger.CreatCombineEnemyRole(combine_ai, "Enemy/" + m_datainfolist.monsterdataList[i].Type, m_datainfolist.monsterdataList[i].LastPos, spawnRotation); combine_ai.p_health.currenthp = m_datainfolist.monsterdataList[i].currentHp; if (m_datainfolist.monsterdataList[i].currentHp > 30) { combine_ai.ChangeModel(); } break; case ("CA"): combine_ai = new CombineMonsterStateController(); _aIGameManger.CreatCombineEnemyRole(combine_ai, "Enemy/" + m_datainfolist.dataList[i].name, m_datainfolist.dataList[i].LastPos, spawnRotation); combine_ai.Role.GetComponent <PlayerHealth>().currenthp = m_datainfolist.dataList[i].currentHp; break; default: break; } } }
void CreatMonster() { //if(teach.Instance.FirstMonster == false) //{ // teach.Instance.TeachLevel = 153; //} Vector3 ChallangePos = this.transform.position; GameObject go = Resources.Load <GameObject>("Syringe"); PlayerHealth health; if (go.GetComponent <PlayerHealth>() != null) { health = go.GetComponent <PlayerHealth>(); } else { health = go.AddComponent <PlayerHealth>(); } health.IsStageChallange = true; health.hp = 100; Syringe = GameObject.Instantiate(go, ChallangePos + new Vector3(0, 10, 0), Quaternion.identity); medicine = Syringe.transform.GetChild(3).gameObject; switch (monsterType[currentChallange]) { case "Easy": { for (int i = 0; i < monsterNum[currentChallange]; i++) { Vector3 creatpos = creatCenter[currentChallange] + new Vector3(Random.Range(-20, 20), .2f, Random.Range(-20, 20)); Quaternion spawnRotation = new Quaternion(); spawnRotation.eulerAngles = new Vector3(0.0f, Random.Range(0.0f, 360.0f)); EnemyAIStateController ai = new LittleMonsterStateController(); aIGameManger.AutoCreatEnemyRole(ai, "Enemy/" + "NS", creatpos, spawnRotation); Vector3 challangepos = GameObject.FindObjectOfType <StageChallange>().transform.position; challangepos.y = 0; ai.targetPos.transform.position = challangepos; ai.m_aiState = EnemyAIStateController.EnemyAIState.DEFEND; } } break; case "Normal": { for (int i = 0; i < monsterNum[currentChallange]; i++) { Vector3 creatpos = creatCenter[currentChallange] + new Vector3(Random.Range(-20, 20), .2f, Random.Range(-20, 20)); Quaternion spawnRotation = new Quaternion(); spawnRotation.eulerAngles = new Vector3(0.0f, Random.Range(0.0f, 360.0f)); CombineEnemyAIStateController ai = new CombineMonsterStateController(); aIGameManger.AutoCreatCombineRole(ai, "Enemy/" + "CB", creatpos, spawnRotation); Vector3 challangepos = GameObject.FindObjectOfType <StageChallange>().transform.position; challangepos.y = 0; ai.targetPos.transform.position = challangepos; ai.m_aiState = CombineEnemyAIStateController.CombineEnemyState.DEFEND; } } break; case "Mix1": { int halfnum = monsterNum[currentChallange] / 2; for (int i = 0; i < halfnum; i++) { Vector3 creatpos = creatCenter[currentChallange] + new Vector3(Random.Range(-20, 20), .2f, Random.Range(-20, 20)); Quaternion spawnRotation = new Quaternion(); spawnRotation.eulerAngles = new Vector3(0.0f, Random.Range(0.0f, 360.0f)); EnemyAIStateController ai = new BeeMonsterStateController(); aIGameManger.AutoCreatEnemyRole(ai, "Enemy/" + "BeeM", creatpos, spawnRotation); Vector3 challangepos = GameObject.FindObjectOfType <StageChallange>().transform.position; challangepos.y = 0; ai.targetPos.transform.position = challangepos; ai.m_aiState = EnemyAIStateController.EnemyAIState.DEFEND; } for (int i = halfnum; i < monsterNum[currentChallange]; i++) { Vector3 creatpos = creatCenter[currentChallange] + new Vector3(Random.Range(-20, 20), .2f, Random.Range(-20, 20)); Quaternion spawnRotation = new Quaternion(); spawnRotation.eulerAngles = new Vector3(0.0f, Random.Range(0.0f, 360.0f)); EnemyAIStateController ai = new LittleMonsterStateController(); aIGameManger.AutoCreatEnemyRole(ai, "Enemy/" + "NS", creatpos, spawnRotation); Vector3 challangepos = GameObject.FindObjectOfType <StageChallange>().transform.position; challangepos.y = 0; ai.targetPos.transform.position = challangepos; ai.m_aiState = EnemyAIStateController.EnemyAIState.DEFEND; } } break; case "Mix2": { int thirdnum = monsterNum[currentChallange] / 3; for (int i = 0; i < thirdnum; i++) { Vector3 creatpos = creatCenter[currentChallange] + new Vector3(Random.Range(-20, 20), .2f, Random.Range(-20, 20)); Quaternion spawnRotation = new Quaternion(); spawnRotation.eulerAngles = new Vector3(0.0f, Random.Range(0.0f, 360.0f)); EnemyAIStateController ai = new BeeMonsterStateController(); aIGameManger.AutoCreatEnemyRole(ai, "Enemy/" + "BeeM", creatpos, spawnRotation); Vector3 challangepos = GameObject.FindObjectOfType <StageChallange>().transform.position; challangepos.y = 0; ai.targetPos.transform.position = challangepos; ai.m_aiState = EnemyAIStateController.EnemyAIState.DEFEND; } for (int i = thirdnum; i < 2 * thirdnum; i++) { Vector3 creatpos = creatCenter[currentChallange] + new Vector3(Random.Range(-20, 20), .2f, Random.Range(-20, 20)); Quaternion spawnRotation = new Quaternion(); spawnRotation.eulerAngles = new Vector3(0.0f, Random.Range(0.0f, 360.0f)); EnemyAIStateController ai = new LittleMonsterStateController(); aIGameManger.AutoCreatEnemyRole(ai, "Enemy/" + "NS", creatpos, spawnRotation); Vector3 challangepos = GameObject.FindObjectOfType <StageChallange>().transform.position; challangepos.y = 0; ai.targetPos.transform.position = challangepos; ai.m_aiState = EnemyAIStateController.EnemyAIState.DEFEND; } for (int i = 2 - thirdnum; i < monsterNum[currentChallange]; i++) { Vector3 creatpos = creatCenter[currentChallange] + new Vector3(Random.Range(-20, 20), .2f, Random.Range(-20, 20)); Quaternion spawnRotation = new Quaternion(); spawnRotation.eulerAngles = new Vector3(0.0f, Random.Range(0.0f, 360.0f)); CombineEnemyAIStateController ai = new CombineMonsterStateController(); aIGameManger.AutoCreatCombineRole(ai, "Enemy/" + "CB", creatpos, spawnRotation); Vector3 challangepos = GameObject.FindObjectOfType <StageChallange>().transform.position; challangepos.y = 0; ai.targetPos.transform.position = challangepos; ai.m_aiState = CombineEnemyAIStateController.CombineEnemyState.DEFEND; } } break; case "Mix3": { } break; case "Hard": { } break; default: break; } currentChallange += 1; if (currentChallange < totalChallange) { currentChallangeTime = challangeWaitTime[currentChallange]; ShowTimeDiscount(currentChallangeTime); } }