Ejemplo n.º 1
0
    // Update is called once per frame
    void Update()
    {
        if (placingObject)
        {
            Vector2 pos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
            pos.x = Mathf.Round(pos.x);
            pos.y = Mathf.Round(pos.y);

            objectBeingPlaced.transform.position = pos;

            CheckResources();

            if (Input.GetMouseButtonDown(1))
            {
                placingObject = false;
                Destroy(objectBeingPlaced);
            }
            if (Input.GetMouseButtonDown(0))
            {
                if (enoughResources)
                {
                    foreach (KeyValuePair <Resources, int> resource in objectBeingPlaced.GetComponent <Buildable>().resourcesNeeded)
                    {
                        switch (resource.Key)
                        {
                        case Resources.Energy:
                            resourcesHandler.RemoveResource(Resources.Energy, resource.Value);
                            break;

                        case Resources.Ore:
                            resourcesHandler.RemoveResource(Resources.Ore, resource.Value);
                            break;

                        default:
                            break;
                        }
                    }

                    objectBeingPlaced.GetComponent <ResourceGenerator>().enabled = true;
                    objectBeingPlaced.GetComponent <SpriteRenderer>().color      = new Color(1, 1, 1, 1);
                    sceneHandler.currentColony.GetComponent <Colony>().renderers.Add(objectBeingPlaced.GetComponent <Renderer>());
                    placingObject     = false;
                    objectBeingPlaced = null;
                }
            }
        }
    }
Ejemplo n.º 2
0
 public void Tick()
 {
     timeLapsed += Time.deltaTime;
     if (timeLapsed > frequency)
     {
         if (resourceHandler.RemoveResource(Resources.Energy, powerUsed))
         {
             if (resourceType == Resources.Research)
             {
                 researchHandler.GenerateResearch(amountProduced);
             }
             else
             {
                 resourceHandler.AddResource(resourceType, amountProduced);
             }
         }
         timeLapsed = 0;
     }
 }
Ejemplo n.º 3
0
 public void Unload(Resources resourceType, int amount)
 {
     resourcesHandler.RemoveResource(resourceType, amount);
 }