1
Fork 0
mirror of https://github.com/Steffo99/gravity-fusion.git synced 2024-11-29 03:24:30 +00:00
gravity-fusion/Assets/Components/GameController.cs

70 lines
2 KiB
C#
Raw Normal View History

2019-10-05 08:55:53 +00:00
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
2019-10-06 13:04:50 +00:00
using UnityEngine.Animations;
2019-10-05 08:55:53 +00:00
public class GameController : MonoBehaviour
{
2019-10-06 15:44:41 +00:00
[Header("Constants")]
2019-10-05 18:41:07 +00:00
public float gravitationConstant = 2;
public int particlesToMerge = 5;
public int scaleMultiplier = 3;
2019-10-06 15:44:41 +00:00
public int particleDurationPerTier = 5;
2019-10-06 13:04:50 +00:00
2019-10-06 15:44:41 +00:00
[Header("Big Bang")]
public int bigBangParticles;
public GameObject blackHolePrefab;
[Header("Particles")]
public GameObject particlePrefab;
2019-10-06 13:04:50 +00:00
public Gradient[] tierGradients;
public RuntimeAnimatorController[] tierAnimation;
2019-10-06 17:04:47 +00:00
public List<Gravitation> simulatedObjects;
public int maxTierPresent;
2019-10-06 15:44:41 +00:00
[Header("Upgrades")]
public float[] upgradePushForce;
public float[] upgradePushRadius;
public float[] upgradeParticleCount;
[Header("Bought Upgrades")]
public int levelPush = 0;
public int levelClick = 0;
[Header("References")]
public SpawnOnMouseClick spawner;
public PushOnMouseClick pusher;
public CameraPan panner;
public MusicManager musicManager;
protected void Awake() {
spawner = Camera.main.GetComponent<SpawnOnMouseClick>();
pusher = Camera.main.GetComponent<PushOnMouseClick>();
panner = Camera.main.GetComponent<CameraPan>();
musicManager = GetComponent<MusicManager>();
2019-10-06 17:04:47 +00:00
simulatedObjects = new List<Gravitation>();
}
protected void Start() {
maxTierPresent = -1;
}
public void CheckNewMaxTier(int tier) {
if(tier > maxTierPresent) {
maxTierPresent = tier;
musicManager.UpdateLayers(maxTierPresent);
}
}
public void RecalculateMaxTier() {
maxTierPresent = -1;
foreach(GameObject particleObject in GameObject.FindGameObjectsWithTag("Particle")) {
Particle particle = particleObject.GetComponent<Particle>();
if(particle.Tier > maxTierPresent) {
maxTierPresent = particle.Tier;
}
};
musicManager.UpdateLayers(maxTierPresent);
2019-10-06 15:44:41 +00:00
}
2019-10-05 08:55:53 +00:00
}