summaryrefslogtreecommitdiff
path: root/GameCode/IncomeGenerator.cs
blob: 9afd8f51c64e0a54fe0cd90b4ceeac6455c92a01 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
using UnityEngine;

public class IncomeGenerator : MonoBehaviour
{
	public int incomePerRound;

	public float incomeTimesLevel;

	[SerializeField]
	private DamageTracker.IncomeType myIncomeType;

	public int netGold { get; private set; }

	protected virtual void Start()
	{
		SpawnManager.instance.incomeGenerators.Add(this);
		netGold = 0;
	}

	public virtual void GenerateIncome()
	{
		int num = incomePerRound + (int)(incomeTimesLevel * (float)SpawnManager.instance.level);
		if (num > 0)
		{
			ResourceManager.instance.AddMoney(num);
			netGold += num;
			DamageTracker.instance.AddIncome(myIncomeType, num);
			SFXManager.instance.PlaySound(Sound.CoinShort, base.transform.position);
			DamageNumber component = ObjectPool.instance.SpawnObject(ObjectPool.ObjectType.DamageNumber, base.transform.position, Quaternion.identity).GetComponent<DamageNumber>();
			component.SetText("+" + num + "g", "Grey", 1f);
			component.SetHoldTime(2.5f);
		}
	}

	public void RemoveIncomeGeneration()
	{
		SpawnManager.instance.incomeGenerators.Remove(this);
	}
}