private void Update() { if (Mode == MothershipMode.MovingAround) { var q = Trans.rotation; transform.RotateAround(Planet.transform.position, Vector3.forward, 20 * MoveSpeed * Time.deltaTime); transform.rotation = q; } else if (Mode == MothershipMode.MovingNewBase) { Vector2 desired = Planet.transform.position - Trans.position; float dist = desired.magnitude; desired.Normalize(); if (dist < MoveRadius) { Mode = MothershipMode.MovingAround; var q = Trans.rotation; transform.RotateAround(Planet.transform.position, Vector3.forward, 20 * MoveSpeed * Time.deltaTime); transform.rotation = q; } else { transform.position += (Vector3)desired * Time.deltaTime * MoveSpeed; } } }
private void Die() { Mode = MothershipMode.Dead; Collision.IsDead = true; Weapon.Collision.IsDead = true; if (Health.Current <= 0) { MakeExplosion(); } Owner.PlayerController.PlayerUnitCount -= 1; PlayerController.UnitCount -= 1; ObjectPool.Recycle(gameObject); }