//---------------------------------------------------------------------------

        public void Spawn(EItemType item)
        {
            TransformComponent transform = GetComponent <TransformComponent>();

            if (transform != null)
            {
                float   rot   = (SeedManager.Get().NextRandF() * (float)Math.PI * 2.0f);
                float   dist  = (SeedManager.Get().NextRandF() * 120.0f + 400.0f);
                Vector3 force = new Vector3((float)Math.Sin(rot) * dist, (float)Math.Cos(rot) * dist, SeedManager.Get().NextRandF(20, 40));
                PickupFactory.Create(item, transform.Location, force);
            }
        }
Beispiel #2
0
        //---------------------------------------------------------------------------

        public void TryDrop(int index, int count)
        {
            InventorySlot slot = m_Items[index];

            if (slot != null && slot.Drop())
            {
                TransformComponent transform = GetComponent <TransformComponent>();

                if (transform != null)
                {
                    PickupFactory.Create(slot.Item.Type, transform.Location, new Vector3(transform.Orientation.X * 600, transform.Orientation.Y * 600, 40));
                }

                if (slot.Count == 0)
                {
                    m_Items[index] = null;
                }
            }
        }