public override void Initialise(WorldManager worldManager)
    {
        seed = worldSeed + (int)transform.position.x + (int)transform.position.y;
        System.Random random = new System.Random(seed);

        if (randomiseDirection)
        {
            direction = (Village.Direction)random.Next(0, 4);
        }

        if (!usePrefabBuilding)
        {
            Array type = Enum.GetValues(typeof(BuildingType));
            Array size = Enum.GetValues(typeof(BuildingSize));

            buildingType = (BuildingType)type.GetValue(random.Next(type.Length));
            buildingSize = (BuildingSize)type.GetValue(random.Next(size.Length));

            base.Initialise(worldManager);
        }
        else
        {
            if (useRandomPrefabBuilding)
            {
                prefab = worldManager.buildingPrefabs[random.Next(0, worldManager.buildingPrefabs.Length)];
            }

            Generate(prefab);
        }

        StartCoroutine(SpawnCollectable());
    }
Exemple #2
0
    public GameObject GetBuildingPrefab(BuildingType _t, BuildingSize _s)
    {
        for (int i = 0; i < buildings.Length; i++)
        {
            if (buildings[i].type == _t && buildings[i].size == _s)
            {
                return(buildings[i].prefab);
            }
        }

        return(new GameObject());
    }
Exemple #3
0
    public void UpgradeBuilding(BuildingSize initialSize, GameObject newBuilding, ref int localVar, int upgradeAmount)
    {
        Building_Normal_Residence[] allHouses = FindObjectsOfType <Building_Normal_Residence>();

        foreach (Building_Normal_Residence b in allHouses)
        {
            if (b.buildingSize == initialSize)
            {
                RemoveForUpgradeBuilding(b);
                localVar++;
                b.GetComponentInChildren <Collider2D>().enabled = false;
                Vector2 tempPos = b.transform.position;
                GameHandler.Instance.ConstructionHandler.CreateNewBuildingAtPosition(tempPos, newBuilding, false);
                if (localVar >= upgradeAmount)
                {
                    return;
                }
            }
        }
    }