Beispiel #1
0
    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;
            }
        }
    }
Beispiel #2
0
    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);
    }