Ejemplo n.º 1
0
    public void Create(StaticEnemyGroupVo enemyGroupVo)
    {
        player            = GameRoot.Instance.GetNowPlayer();
        this.enemyGroupVo = enemyGroupVo;
        enemyList         = enemyGroupVo.enemies;
        count             = enemyList.Count;
        List <Transform> waypointList = new List <Transform>();

        for (int i = 0; i < enemyGroupVo.wayPointList.Count; i++)
        {
            GameObject point = new GameObject("point_" + i);
            point.transform.parent   = transform;
            point.transform.position = enemyGroupVo.wayPointList[i];
            point.AddComponent <MWayPoint>();
            waypointList.Add(point.transform);
        }
        for (int i = 0; i < waypointList.Count - 1; i++)
        {
            waypointList[i].GetComponent <MWayPoint>().NextWaypoint     = waypointList[i + 1];
            waypointList[i].GetComponent <MWayPoint>().StoppingDistance = 1f;
        }
        waypointList[waypointList.Count - 1].GetComponent <MWayPoint>().NextWaypoint     = waypointList[0];
        waypointList[waypointList.Count - 1].GetComponent <MWayPoint>().StoppingDistance = 1f;
        for (int i = 0; i < enemyList.Count; i++)
        {
            StaticEnemyVo enemyVo = StaticDataPool.Instance.staticEnemyPool.GetStaticDataVo(enemyList[i]);
            GameObject    goObj   = Tools.CreateGameObject("Models/Enemy/" + enemyVo.path, transform.parent, enemyGroupVo.unitPos[i]);
            goObj.GetComponent <Enemy>().Create(enemyVo, enemyGroupVo.id, waypointList);
        }

        GameRoot.Instance.evt.AddListener(GameEventDefine.ENEMY_DIE, OnEnemyDie);
    }
Ejemplo n.º 2
0
 public virtual void Create(StaticEnemyVo enemyVo, int groupId, List <Transform> list)
 {
     step = GetComponentsInChildren <StepTrigger>();
     if (step != null)
     {
         for (int i = 0; i < step.Length; i++)
         {
             step[i].volume = DataManager.Instance.GetSettingData().effectVolume;
         }
     }
     audio.volume = DataManager.Instance.GetSettingData().effectVolume;
     this.enemyVo = enemyVo;
     if (radius != null)
     {
         radius.radius = enemyVo.radius;
     }
     animal       = GetComponent <Animal>();
     waypointList = list;
     originTrans  = waypointList[0];
     for (int i = 0; i < enemyVo.weapon.Count; i++)
     {
         spawn = Tools.CreateGameObject("Models/Weapon/" + StaticDataPool.Instance.staticEnemyWeaponPool.GetStaticDataVo(enemyVo.weapon[i]).path);
         weapon.Add(spawn.GetComponent <EnemyWeapon>());
         weapon[i].Create(enemyVo.weapon[i], transform);
     }
     nowHealth = enemyVo.health;
     groupID   = groupId;
     GameRoot.Instance.evt.AddListener(GameEventDefine.SET_EFFECT_VOLUME, OnSetEffectVolume);
 }
Ejemplo n.º 3
0
 public override void Create(StaticEnemyVo enemyVo, int groupId, List <Transform> list)
 {
     transform.localScale = new Vector3(3, 3, 3);
     GameRoot.Instance.evt.AddListener(GameEventDefine.BOSS_BATTLE, InBossBattle);
     base.Create(enemyVo, groupId, list);
     SetSpeed(0, 0);
     shield.SetActive(false);
     weapon[1].gameObject.SetActive(false);
     wayPointStart = GameController.Instance.BossWayPoint;
 }
Ejemplo n.º 4
0
 public void AddData(string[] lineArray)
 {
     for (int i = 1; i < lineArray.Length; i++)
     {
         lineArray[i] = lineArray[i].Replace("\r", "");
         string[]      strArray = lineArray[i].Split(","[0]);
         StaticEnemyVo vo       = new StaticEnemyVo(strArray);
         _datapool.Add(vo);
     }
 }
Ejemplo n.º 5
0
    public override void Create(StaticEnemyVo enemyVo, int groupId, List <Transform> list)
    {
        base.Create(enemyVo, groupId, list);
        switch (enemyVo.state)
        {
        case EnemyOriginState.SLEEPING:
            TimeLine.GetInstance().AddTimeEvent(GoToSleep, 1, null, gameObject);
            break;

        case EnemyOriginState.WALKING:
            AI.target = waypointList[0];
            break;

        default:
            break;
        }
        SetSpeed(4, 5);
    }