public override int DefenseProc(Character enemy, int damage) { var spawnPoints = new List <int>(); for (var i = 0; i < Level.NEIGHBOURS8.Length; i++) { var p = pos + Level.NEIGHBOURS8[i]; if (FindChar(p) == null && (Level.passable[p] || Level.avoid[p])) { spawnPoints.Add(p); } } if (spawnPoints.Count <= 0) { return(base.DefenseProc(enemy, damage)); } var larva = new Larva(); larva.pos = Random.Element(spawnPoints); GameScene.Add(larva); AddDelayed(new Pushing(larva, pos, larva.pos), -1); return(base.DefenseProc(enemy, damage)); }
private void Awake() { //取得 _controller = GetComponent <Larva>(); shoot_Obj = GetComponentInChildren <LarvaShootObj>(); _move = GetComponent <MoveConstTime>(); player = GameObject.FindWithTag("PlayerTag"); }