Exemplo n.º 1
0
    public void SpawnLoopy()
    {
        if (loopySpawnIndex >= loopySpawnOrder.Length)
        {
            return;
        }

        LoopyMovement toSpawn = normalLoopyPrefab;

        switch (loopySpawnOrder[loopySpawnIndex])
        {
        case LoopyType.normal:
            toSpawn = normalLoopyPrefab;
            break;

        case LoopyType.speedy:
            toSpawn = speedyLoopyPrefab;
            break;

        case LoopyType.lazy:
            toSpawn = lazyLoopyPrefab;
            break;
        }
        LoopyMovement newLoopyMovement = Instantiate(toSpawn, transform.position, Quaternion.identity);

        newLoopyMovement.lookDir = spawnDirection;
        timeToNextSpawn          = spawnInterval;

        loopySpawnIndex++;
    }
Exemplo n.º 2
0
    private void Update()
    {
        timeToNextSpawn -= Time.deltaTime * GameManager.gm.movespeed;

        if (timeToNextSpawn <= 0)
        {
            SpawnLoopy();
        }

        //funtion as a rototator
        Collider2D occupantCheck = Physics2D.OverlapBox(transform.position, new Vector2(transform.localScale.x, transform.localScale.y), 0);

        if (occupantCheck != null)
        {
            if (occupantCheck.tag == "Player")
            {
                LoopyMovement occupant = occupantCheck.gameObject.GetComponent <LoopyMovement>();
                if (occupant.lookDir != spawnDirection)
                {
                    occupant.turnTo  = spawnDirection;
                    occupant.turnLoc = transform.position;
                }
            }
        }
    }
Exemplo n.º 3
0
 private void PullIn(LoopyMovement target, Vector2 dir, float dist)
 {
     if (target.lookDir != dir)
     {
         target.turnTo  = dir;
         target.turnLoc = transform.position - (new Vector3(dir.x, dir.y, 0) * (dist + target.radius));
     }
 }
Exemplo n.º 4
0
    void Update()
    {
        UpdatePower();

        if (hasPower)
        {
            Collider2D occupantCheck = Physics2D.OverlapBox(transform.position, new Vector2(transform.localScale.x, transform.localScale.y), 0);
            if (occupantCheck != null)
            {
                if (occupantCheck.tag == "Player")
                {
                    LoopyMovement occupant = occupantCheck.gameObject.GetComponent <LoopyMovement>();
                    if (occupant.lookDir != turnToDir)
                    {
                        occupant.turnTo  = turnToDir;
                        occupant.turnLoc = transform.position;
                    }
                }
            }
        }
    }