Exemple #1
0
    public virtual void ApplyUpgrade()
    {
        if (!HasRequiredResources())
        {
            Debug.Log("You do not have the required resources");
            return;
        }

        foreach (KeyValuePair <SettlementResourceData, int> kvp in upgrade.RequiredResources)
        {
            SettlementResourceData resourceRequired = kvp.Key;
            int amountRequired = kvp.Value;

            settlement.SettlementData.RemoveResource(resourceRequired, amountRequired);
        }
        int        markerIndex   = SettlementUpgradeUI.Instance.upgradeMarkerIndex;
        GameObject upgradeObject = Instantiate(upgrade.Prefab, settlement.settlementUpgradeSpawns[markerIndex]);

        upgradeObject.transform.localPosition = new Vector3(0, 0, 0);
        settlement.DisableMarkerAtIndex(markerIndex);

        Destroy(gameObject);
    }