void Start() { tinker = GameObject.Find("tinker").GetComponent<tinker>(); phoneMessaging = GameObject.Find("messages").GetComponent<phoneMessages>(); scoring = GameObject.Find("setup").GetComponent<scoring>(); sound = GameObject.Find("planets").GetComponent<planetSound>(); anim = GetComponent<planetAnimation>(); planetInit = GetComponent<planetInit>(); allPlanets = GameObject.FindGameObjectsWithTag("Planet"); }
// Update is called once per frame void Update() { // bleed all planets for (int i = 0; i < planets.Length; i++) { planet = planets[i]; settings = planet.GetComponent<planetSettings>(); init = planet.GetComponent<planetInit>(); // choose the bigger evil of hold/gravity float bleed = 1.0f; if (init.gravityBleedMultilier > bleed) bleed = init.gravityBleedMultilier; else if (init.bleedMultilier > bleed) bleed = init.bleedMultilier; if (init.do_kill_people && settings.population > 0.0f) { diffMagnitude = Mathf.Abs(init.initVelocity.magnitude - planet.GetComponent<Rigidbody2D>().velocity.magnitude); settings.population -= diffMagnitude * (settings.maxPopulation * settings.bleedPercentage * bleed) * Time.deltaTime; // planet dead if (settings.population < 0.0f) { settings.population = 0.0f; } } PlayDamageSounds(settings, planet); UpdateDeceaseCount(); } }