Esempio n. 1
0
    /// <summary>
    /// Metoda powoduje anulowanie stawiania lub sprzedania budynku
    /// </summary>
    public void CancelGhost()
    {
        GhostFollowingButtonScript ghostFollowScript = GhostFollowingButton.GetComponent <GhostFollowingButtonScript>();

        ghostFollowScript.UnsetGhostObject();
        GhostFollowingButton.SetActive(false);

        if (GhostObject == null)
        {
            return;
        }

        Building buildingScript = GhostObject.GetComponent <Building>();

        if (buildingScript != null)
        {
            if (!buildingScript.IsPlacedForReal)
            {
                GameObject.Destroy(GhostObject);
            }
            else
            {
                GhostObject.transform.position = ghostOriginalPosition;
            }
        }

        Helper.GetGUIManager().EditMode_SetGhostPositionGroupVisible(false);
        GhostObject = null;
    }
Esempio n. 2
0
    private void ActivateGhostObject()
    {
        // Activate following button to move object
        GhostFollowingButton.SetActive(true);
        GhostFollowingButtonScript ghostFollowScript = GhostFollowingButton.GetComponent <GhostFollowingButtonScript>();

        ghostFollowScript.SetGhostObject(GhostObject);

        GhostScript ghostScript = GhostObject.GetComponent <GhostScript>();

        ghostScript.isGhost = true;

        // Zapamiętywanie pozycji w razie anulowania
        Building buildingScript = GhostObject.GetComponent <Building>();

        if (buildingScript.IsPlacedForReal)
        {
            ghostOriginalPosition = GhostObject.transform.position;
        }

        Helper.GetGUIManager().EditMode_SetGhostPositionGroupVisible(true);
    }
Esempio n. 3
0
    /// <summary>
    /// Jeżeli ghost jest wybudowanym wczesniej budynkiem to go sprzedaje. ( po kliknięciu przycisku sell )
    /// </summary>
    public void SellGhost()
    {
        GhostFollowingButtonScript ghostFollowScript = GhostFollowingButton.GetComponent <GhostFollowingButtonScript>();

        ghostFollowScript.UnsetGhostObject();
        GhostFollowingButton.SetActive(false);

        Building buildingScript = GhostObject.GetComponent <Building>();

        if (buildingScript != null)
        {
            if (buildingScript.IsPlacedForReal)
            {
                GameStats.Instance.AddMoney(buildingScript.GetSellPrice());
            }
        }

        Helper.GetGUIManager().EditMode_SetGhostPositionGroupVisible(false);
        Helper.GetGUIManager().GameStats_TotalPeopleCountUpdate();
        GameObject.Destroy(GhostObject);
        GhostObject = null;
    }
Esempio n. 4
0
    /// <summary>
    /// Zamienia obiekt Ghost na budynek
    /// </summary>
    public void DropObject()
    {
        GhostScript ghost = GhostObject.GetComponent <GhostScript>();

        if (ghost.canPlace)
        {
            // Place object
            ghost.isGhost = false;

            // Hide following button to place button
            GhostFollowingButtonScript ghostFollowScript = GhostFollowingButton.GetComponent <GhostFollowingButtonScript>();
            ghostFollowScript.UnsetGhostObject();
            GhostFollowingButton.SetActive(false);

            // Ustawianie budynku jako child grupy budynków
            GhostObject.transform.SetParent(Helper.GetBuildingsGroup().transform);

            // Informowanie budowli, że została wybudowana
            Building buildingScript = GhostObject.GetComponent <Building>();
            if (buildingScript != null)
            {
                if (!buildingScript.IsPlacedForReal)
                {
                    buildingScript.IsPlacedForReal = true;

                    // Wydanie pieniędzy
                    GameStats.Instance.SpendMoney(buildingScript.GetCost());
                    GameStats.Instance.AddExperience(buildingScript.BuildingBuyExperience);
                }
            }

            GhostObject = null;
            Helper.GetGUIManager().EditMode_SetGhostPositionGroupVisible(false);
            Helper.GetGUIManager().GameStats_TotalPeopleCountUpdate();
        }
    }