예제 #1
0
        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");
    }