Ejemplo n.º 1
0
        void Update()
        {
            if (!this.canHandleInput)
            {
                return;
            }

            if (EventSystem.current.IsPointerOverGameObject())
            {
                return;
            }

            if (Input.GetMouseButtonDown(0))
            {
                Ray        ray = Camera.main.ScreenPointToRay(Input.mousePosition);
                RaycastHit hit;
                if (Physics.Raycast(ray, out hit, Mathf.Infinity, this.buildingLayerMask))
                {
                    BuildingVisual buildingVisual = hit.collider.GetComponent <BuildingVisual>();
                    if (buildingVisual != null)
                    {
                        buildingVisual.SpawnPopup();
                    }
                }
            }
        }
Ejemplo n.º 2
0
 public void UpdateVisual()
 {
     if (Visual == null)
     {
         Visual = new BuildingVisual(this);
     }
     Visual?.VisualUpdate();
 }
Ejemplo n.º 3
0
 public void Initialize(ShopItemData _itemData)
 {
     m_itemData = _itemData;
     m_visual   = Instantiate(ShopItemManager.Instance.buildingVisualPrefab, transform, false);
     m_visual.SetSprite(_itemData.Sprite);
     _audioSource = GetComponent <AudioSource>();
     _audioSource.PlayOneShot(m_itemData.PlacementSfx);
     StartCoroutine(LateStart(1));
 }
Ejemplo n.º 4
0
    private void Start()
    {
        // GameSave gameSave = DataLoader.LoadOrCreateGame();
        GameSave gameSave =
            new GameSave(new ResourceManager(new[] { new Resource("Food", 0, 10, 0, true), new Resource("Wood") }),
                         new BuildingManager(new[] {
            new Building("Farm", "Produces food", new BuildingCost[0],
                         new BuildingEffect[] { new IncreaseProduction(0, 0.1f) }, 0, true,
                         true),
            new Building("Sawmill", "Produces wood", new[] { new BuildingCost(0, 10) },
                         new BuildingEffect[] { new IncreaseProduction(1, 1) })
        }));

        ResourceVisual resourceVisual = new ResourceVisual(gameSave.GetResourceManager, resourcePrefab, resourceParent);

        // TODO: Remove having a copy. Best would be to have it static all the way
        BuildingEffectManager buildingEffectManager = new BuildingEffectManager(gameSave.GetResourceManager);

        BuildingVisual buildingVisual = new BuildingVisual(gameSave.GetBuildingManager, gameSave.GetResourceManager,
                                                           buildingButtonReferencePrefab, buildingButtonParent);
    }