Exemplo n.º 1
0
    public void Disassemble(GameObject go)
    {
        var meteor = go.GetComponent <Meteor>();

        _projPool.Push(meteor.Projector);
        meteor.Projector = null;
        _meteorPool.Push(go);
    }
Exemplo n.º 2
0
    public void Disassemble(GameObject go)
    {
        if (!go.CompareTag("Car"))
        {
            throw new ArgumentException();
        }

        var veh = go.GetComponent <Vehicle>();

        veh.Rezet();

        if (veh.Behaviour is Vehicle.MilitaryCar)
        {
            _mPool.Push(go);
        }
        else if (veh.Behaviour is Vehicle.PoliceCar)
        {
            _pPool.Push(go);
        }
        else if (veh.Behaviour is Vehicle.Trailer)
        {
            _tPool.Push(go);
        }
        else if (veh.Behaviour is Vehicle.CarBehaviour)
        {
            switch (veh.Size)
            {
            case 1:
                _s1Pool.Push(go);
                break;

            case 2:
                _s2Pool.Push(go);
                break;

            case 3:
                _s3Pool.Push(go);
                break;

            default:
                throw new ArgumentException();
            }
        }

        veh.Behaviour.Destruct();
    }
Exemplo n.º 3
0
 public void Disassemble(GameObject go)
 {
     if (go.CompareTag("OilPuddle"))
     {
         if (go.GetComponent(typeof(BoxCollider)) == null)
         {
             _transitPool.Push(go);
         }
         else
         {
             _firstPool.Push(go);
         }
     }
     else
     {
         _endPool.Push(go);
     }
 }
Exemplo n.º 4
0
 private void Destroy()
 {
     SelfPool.Push(gameObject);
 }
Exemplo n.º 5
0
 public void Disassemble(GameObject go)
 {
     _wallPool.Push(go);
 }