Ejemplo n.º 1
0
    void Start()
    {
        SetLaneSpawner();

        defenderSpawner = DefenderSpawner.instance;
        gameAssets      = GameAssets.instance;

        int resourceDepositCount = 0;

        for (int i = 0; i < goldDepositCount; i++)
        {
            ResourceDeposit goldDeposit = Instantiate(gameAssets.goldDeposit, transform);
            resourceDepositCount++;

            int randomIndex = Random.Range(0, possibleDepositSpawnLocations.Count);
            goldDeposit.transform.localPosition = possibleDepositSpawnLocations[randomIndex];
            possibleDepositSpawnLocations.Remove(possibleDepositSpawnLocations[randomIndex]);
        }

        for (int i = 0; i < resourceDepositCount; i++)
        {
            resourceDeposits.Add(transform.GetChild(i).GetComponent <ResourceDeposit>());
            unoccupiedResourceDeposits.Add(resourceDeposits[i]);
        }

        // Add this node to our list of nodes
        defenderSpawner.AddNode(transform.position);
        defenderSpawner.resourceNodes.Add(this);

        // Choose a random sprite
        for (int i = 0; i < resourceDeposits.Count; i++)
        {
            if (resourceDeposits[i].resourceType == ResourceType.Gold)
            {
                int randomIndex = Random.Range(0, gameAssets.goldDepositAnimatorControllers.Count);
                resourceDeposits[i].anim.runtimeAnimatorController = gameAssets.goldDepositAnimatorControllers[randomIndex];
            }

            int coinToss = Random.Range(0, 2);
            if (coinToss == 0)
            {
                resourceDeposits[i].sr.flipX = false;
            }
            else
            {
                resourceDeposits[i].sr.flipX = true;
            }
        }
    }