示例#1
0
    public void SetObject(ClickPotScript pot)
    {
        Vector3 spawnLocation = Camera.main.transform.position;

        if (spawnedObject == null)
        {
            GameObject prefabToInstantiate;            //pot.PrefabToInstantiate;
            if (pot.Plant != null)
            {
                prefabToInstantiate = pot.Plant.SeedBagPrefab;
            }
            else if (Inventory.State.Seeds.Count - 1 > PlantMenuDropdown.value)
            {
                PlantPrefabScript menuPlant = Inventory.State.Seeds[PlantMenuDropdown.value].GetComponent <PlantPrefabScript>();
                prefabToInstantiate = menuPlant.SeedBagPrefab;
            }
            else
            {
                return;
            }

            spawnedObject = Instantiate(
                prefabToInstantiate,
                spawnLocation,
                Camera.main.transform.rotation,
                Camera.main.transform
                );
            // Debug.Log("clicked pot size: " + Size + ", soil: " + SoilAmount);
        }
    }
    public void ApplyDayChange()
    {
        ClickPotScript.TimeStep(DaySlider.value);
        Inventory.State.DaysPassed += (int)DaySlider.value;
        if (Inventory.State.DaysPassed > Inventory.State.DayLimit)
        {
            GameOverUIParentScript.OpenMenuStatic();
            GameOverUIScript.OpenMenuStatic();
        }

        Inventory.State.Cash -= CashCostPerDay * DaySlider.value;
    }
    public void BuyPot(GameObject potPrefab)
    {
        ClickPotScript pot = potPrefab.GetComponent <ClickPotScript>();

        if (Inventory.State.Cash < pot.Price)
        {
            return;
        }

        Inventory.State.Cash -= pot.Price;
        Inventory.State.Pots.Add(potPrefab);
        InventoryMenuScript.MainInstance.PopulateMenu();

        AudioManager.instance.Play(BuySoundEffect);
    }
示例#4
0
    public void InspectPot(ClickPotScript pot)
    {
        ChoosePotMenuScript.CloseStaticMenu();

        if (InspectFadePanel != null)
        {
            InspectFadePanel.StartFadeOut();
        }

        currentPot = pot;
        SetObject(currentPot);
        gameObject.SetActive(true);
        ChoosePotMenuScript.MainInstance.CloseMenu();
        InventoryMenuScript.MainInstance.CloseMenu();
        OnOpenMenuAction.Invoke();
        UpdateUI();
    }
    public void PlacePot()
    {
        CloseMenu();
        if (currentPotSpot == null)
        {
            return;
        }

        if (Inventory.State.Pots.Count < PotMenuDropdown.value - 1)
        {
            return;
        }

        GameObject potToPlace = Inventory.State.Pots[PotMenuDropdown.value];

        Transform spawnTranform = currentPotSpot.SpawnTransform;

        if (spawnTranform == null)
        {
            spawnTranform = currentPotSpot.transform;
        }

        GameObject newPotObject = Instantiate(
            potToPlace,
            spawnTranform.position,
            spawnTranform.rotation,
            spawnTranform.parent             // TODO: better parent object
            );
        ClickPotScript newPot = newPotObject.GetComponent <ClickPotScript>();

        newPot.PotSpot = currentPotSpot.gameObject;

        AudioManager.instance.Play(
            newPot.PlacePotSoundEffect
            );

        Inventory.State.Pots.RemoveAt(PotMenuDropdown.value);
        PotMenuDropdown.value = 0;

        // Destroy(currentPotSpot.gameObject);
        currentPotSpot.gameObject.SetActive(false);
    }
示例#6
0
 public void DebugTimestep(float timeAmount)
 {
     ClickPotScript.TimeStep(timeAmount);
 }
示例#7
0
 public void ClearPot()
 {
     ClearObject();
     // CloseMenu();
     currentPot = null;
 }
示例#8
0
 public void UpdateObject(ClickPotScript pot)
 {
     ClearObject();
     SetObject(pot);
 }