//--------------------------------------------------------------------------- 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); } }
//--------------------------------------------------------------------------- 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; } } }