Added the basic purchase multiplier for houses and to un/assign workers.

This commit is contained in:
4-Bit-Player
2024-08-20 12:58:10 +02:00
parent 776250d08e
commit b5fad17a32
5 changed files with 423 additions and 20 deletions

View File

@@ -9,28 +9,34 @@ public class HouseManager : MonoBehaviour
private float ttnw = 30; //Time to next worker
private float currentTtnw = 0;
private int workerPerHouse = 3;
private int purchaseMultiplier;
private TogglePurchaseAmount purchaseAmount;
private GameManager gameManager;
[SerializeField]
private GameObject mouseNotificationLabel;
//House cost: Brick Tile Plank
public int[] cost = new int[3] { 10, 5, 2 };
// public int[] cost = new int[3] { 10, 5, 2 };
public int[] cost = new int[3] { 2, 1, 1 };
[SerializeField]
private Transform notificationOrigin;
[SerializeField]
[SerializeField]
private TMP_Text houseReqLabel;
// Start is called before the first frame update
void Start()
{
purchaseAmount = GameObject.Find("PurchaseMultiplier").GetComponent<TogglePurchaseAmount>();
gameManager = GameObject.Find("GameManager").GetComponent<GameManager>();
}
// Update is called once per frame
void Update()
{
houseReqLabel.text = $"{gameManager.GetResourceCount(Resource.BRICK)}/{cost[0]} Bricks\n" +
$"{gameManager.GetResourceCount(Resource.TILE)}/{cost[1]} Tiles\n" +
$"{gameManager.GetResourceCount(Resource.PLANKS)}/{cost[2]} Planks\n";
if (currentTtnw > 0)
purchaseMultiplier = purchaseAmount.GetPurchaseAmount();
Debug.Log(purchaseMultiplier.ToString());
houseReqLabel.text = $"{gameManager.GetResourceCount(Resource.BRICK)}/{cost[0] * purchaseMultiplier} Bricks\n" +
$"{gameManager.GetResourceCount(Resource.TILE)}/{cost[1] * purchaseMultiplier} Tiles\n" +
$"{gameManager.GetResourceCount(Resource.PLANKS)}/{cost[2] * purchaseMultiplier} Planks\n";
if (currentTtnw > 0)
{
currentTtnw -= Time.deltaTime;
} else
@@ -53,9 +59,9 @@ public class HouseManager : MonoBehaviour
public void BuildHouse()
{
if (gameManager.GetResourceCount(Resource.BRICK) < cost[0] ||
gameManager.GetResourceCount(Resource.TILE) < cost[1] ||
gameManager.GetResourceCount(Resource.PLANKS) < cost[2])
if (gameManager.GetResourceCount(Resource.BRICK) < cost[0] * purchaseMultiplier ||
gameManager.GetResourceCount(Resource.TILE) < cost[1] * purchaseMultiplier ||
gameManager.GetResourceCount(Resource.PLANKS) < cost[2] * purchaseMultiplier)
{
Debug.Log("Not enough resources to build house!");
GameObject infoLabel = Instantiate(mouseNotificationLabel, GameObject.Find("Canvas").transform);
@@ -64,9 +70,9 @@ public class HouseManager : MonoBehaviour
return;
}
gameManager.RemoveResource(Resource.BRICK, cost[0]);
gameManager.RemoveResource(Resource.TILE, cost[1]);
gameManager.RemoveResource(Resource.PLANKS, cost[2]);
gameManager.AddResource(Resource.HOUSE, 1);
gameManager.RemoveResource(Resource.BRICK, cost[0] * purchaseMultiplier);
gameManager.RemoveResource(Resource.TILE, cost[1] * purchaseMultiplier);
gameManager.RemoveResource(Resource.PLANKS, cost[2] * purchaseMultiplier);
gameManager.AddResource(Resource.HOUSE, 1 * purchaseMultiplier);
}
}