Ejemplo n.º 1
0
    void CreatTests()
    {
        int num = Random.Range(3, 8);

        for (int i = 0; i < num; i++)
        {
            Vector3 p = new Vector3(Random.Range(-100, 100), 0, Random.Range(-100, 100)) + GameObject.FindGameObjectWithTag("Player").transform.position;
            LittleMonsterStateController enemyai = new LittleMonsterStateController();
            AutoCreatEnemyRole(enemyai, "Enemy/" + "NS", p, Quaternion.identity);
            enemyai.targetPos.transform.position = GameObject.FindGameObjectWithTag("Player").transform.position;
            enemyai.m_aiState = EnemyAIStateController.EnemyAIState.DEFEND;
        }

        //int num = Random.Range(90, 200);
        //for (int i = 0; i < num; i++)
        //{
        //    Vector3 p = new Vector3(Random.Range(-1000, 1000), 0, Random.Range(-1000, 1000)) + new Vector3(0,1,0);
        //    BattleMaoStateController ai = new BattleMaoStateController();
        //    CreatSoilderRole(ai, "Props/" + "S4", p, Quaternion.identity);
        //    //SummonMaoStateController ai = new SummonMaoStateController();
        //    //CreatSoilderRole(ai, "Props/" + "S4", p, Quaternion.identity);
        //    //TestAiStateController ai = new TestAiStateController();
        //    //CreatSoilderRole(ai, "Props/" + "S4", p, Quaternion.identity);
        //    //ai.targetPos.transform.position = GameObject.FindGameObjectWithTag("Player").transform.position;
        //    //ai.m_aiState = SoilderAIStateController.AIState.IDLE;
        //}
    }
Ejemplo n.º 2
0
 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);
 }
Ejemplo n.º 3
0
    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;
            }
        }
    }
Ejemplo n.º 4
0
    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);
        }
    }