void Instance(GameObject obj, BoxObject box, EnemyParam.Level level = EnemyParam.Level.Mob) { var instance = MonoBehaviour.Instantiate(obj); instance.transform.position = box.Obj.transform.position; var enemy = new Enemy(); box.Enemy = enemy; box.Enemy.EnemyParam.Obj = instance; box.Enemy.EnemyParam.Renderer = instance.GetComponent <Renderer>(); instance.tag = "Enemy"; if (level == EnemyParam.Level.LastBoss) { instance.name = "last_boss"; } box.IsEnemyInstance = false; box.Enemy.Ini(level); }
public void Ini(EnemyParam param, EnemyParam.Level level) { switch (level) { case EnemyParam.Level.Mob: param.LevelStatus = level; param.ActionTimer = Random.Range(1.0f, 3.0f); param.HP = 1; break; case EnemyParam.Level.Boss: param.LevelStatus = level; param.ActionTimer = Random.Range(3.0f, 5.0f); param.HP = 5; break; case EnemyParam.Level.LastBoss: param.LevelStatus = level; param.ActionTimer = 1; param.HP = 20; break; } }
public void Ini(EnemyParam.Level level = EnemyParam.Level.Mob) { action.Ini(param, level); StaticDatas.Instance.EnemyManager.EnemyList.Add(this); StaticDatas.Instance.UpdateManager.Add(this, param.Obj); }