Exemplo n.º 1
0
    private void ConstructionDone()
    {
        isBuilding = false;
        buildingAnimator.Play("BuildingIdle");
        parentTile.RemoveProgressBar();
        isBuilt = true;

        foreach (LifeNeeds need in providedNeeds)
        {
            if (need.providedRequirements == LivingRequirements.People)
            {
                LivingResourcesManager.AddLivingSpace(need.amount);
                LivingResourcesManager.AddWorkers(need.amount);
            }
        }

        if (parentTile.IsHighlighted)
        {
            TileInfoController.main.CurrentTile = parentTile;
        }

        if (IsProducing)
        {
            parentTile.CreateProgressBar();
        }
    }
Exemplo n.º 2
0
 // Use this for initialization
 void Start()
 {
     Debug.Log(GetComponent <Text>());
     LivingResourcesManager.personCount = GetComponent <Text>();
     LivingResourcesManager.AddLivingSpace(5);
     LivingResourcesManager.AddWorkers(5);
 }
Exemplo n.º 3
0
    public void RemovePersonFromResource()
    {
        if (currentObject.PeopleWorking > 0)
        {
            currentObject.PeopleWorking -= 1;
            LivingResourcesManager.AddWorkers(1);
        }

        UpdatePeopleAmount();
    }
Exemplo n.º 4
0
    protected void HarvestDone()
    {
        foreach (Resource resource in resources)
        {
            ItemBarController.main.Add(resource.ResourceType, resource.Amount);
        }

        parentTile.RemoveProgressBar();


        if (parentTile.IsHighlighted)
        {
            Tile tile = parentTile;
            tile.ChildObject = null;
            TileInfoController.main.CurrentTile = tile;
        }
        LivingResourcesManager.AddWorkers(peopleWorking);
        Destroy(gameObject);
    }
Exemplo n.º 5
0
 // Use this for initialization
 void Start()
 {
     LivingResourcesManager.waterCount = GetComponent <Text>();
     LivingResourcesManager.AddWater(150);
 }
Exemplo n.º 6
0
 // Use this for initialization
 void Start()
 {
     LivingResourcesManager.powerText = GetComponent <Text>();
     LivingResourcesManager.AddPower(0);
 }
Exemplo n.º 7
0
    public void Update()
    {
        if (isBuilding)
        {
            constructionTime += Time.deltaTime;
            parentTile.ProgressBar.GetComponent <Slider>().value = constructionTime / totalConstructionTime;
            if (constructionTime >= totalConstructionTime)
            {
                ConstructionDone();
            }
        }

        bool hasResources = true;

        foreach (ResourceType need in resourceNeeds)
        {
            hasResources = ItemBarController.main.AmountOf(need) > 0;

            if (!hasResources)
            {
                Debug.Log("Doesn't have resources");
                break;
            }
        }

        bool hasRequirements = true;

        // if there are resources, check the living
        foreach (LifeNeeds need in requiredNeeds)
        {
            switch (need.providedRequirements)
            {
            case LivingRequirements.Energy:
                Debug.Log("Doesnt have power: " + need.amount);
                hasRequirements = LivingResourcesManager.CheckPower(need.amount);
                break;

            case LivingRequirements.Food:
                Debug.Log("Doesnt have food: " + need.amount);
                hasRequirements = LivingResourcesManager.CheckFood(need.amount);
                break;

            case LivingRequirements.Water:
                Debug.Log("Doesnt have water: " + need.amount);
                hasRequirements = LivingResourcesManager.CheckWater(need.amount);
                break;

            default:
                break;
            }
            if (!hasRequirements)
            {
                Debug.Log("Doesn't have requirements");
                break;
            }
        }

        if (isBuilt && IsProducing && (hasResources && hasRequirements))
        {
            productionTime += Time.deltaTime;
            parentTile.ProgressBar.GetComponent <Slider>().value = productionTime / totalProductionTime;

            // Check somewhere that resourceNeeds are met
            if (productionTime >= totalProductionTime)
            {
                productionTime = 0.0f;

                foreach (ResourceProduction production in resourceOutput)
                {
                    if (Random.value <= production.chance)
                    {
                        ItemBarController.main.Add(production.resource, production.amount);
                    }
                }

                foreach (ResourceType need in resourceNeeds)
                {
                    ItemBarController.main.Add(need, -1);
                }

                foreach (LifeNeeds need in requiredNeeds)
                {
                    switch (need.providedRequirements)
                    {
                    case LivingRequirements.Energy:
                        LivingResourcesManager.GetPower(need.amount);
                        break;

                    case LivingRequirements.Food:
                        LivingResourcesManager.GetFood(need.amount);
                        break;

                    case LivingRequirements.Water:
                        LivingResourcesManager.GetWater(need.amount);
                        break;

                    default:
                        break;
                    }
                }

                foreach (LifeNeeds need in providedNeeds)
                {
                    switch (need.providedRequirements)
                    {
                    case LivingRequirements.Energy:
                        LivingResourcesManager.AddPower(need.amount);
                        break;

                    case LivingRequirements.Food:
                        LivingResourcesManager.AddFood(need.amount);
                        break;

                    case LivingRequirements.Water:
                        LivingResourcesManager.AddWater(need.amount);
                        break;

                    default:
                        break;
                    }
                }

                Debug.Log("Getting up keep for: " + PeopleRequired);
                LivingResourcesManager.GetUpKeep(PeopleRequired);
            }
            //Provide the needs to needs manager.
        }
    }
Exemplo n.º 8
0
 // Use this for initialization
 void Start()
 {
     LivingResourcesManager.foodCount = GetComponent <Text>();
     LivingResourcesManager.AddFood(150);
 }
Exemplo n.º 9
0
    public void AssignPersonToResource()
    {
        if (currentObject != null && currentObject.PeopleWorking < currentObject.PeopleRequired && LivingResourcesManager.GetWorkers(1))
        {
            currentObject.PeopleWorking += 1;
        }

        UpdatePeopleAmount();
    }