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); }
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); }
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; }
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); } }
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); }