public virtual void DoDrops() { if (random.NextBool(25)) { GameObject itemDrop = new GameObject("itemDrop"); itemDrop.transform.position = transform.position + Vector3.up * .5F; itemDrop.transform.localEulerAngles = new Vector3(0F, random.Next(-90, 90), 0); EntityItem item = itemDrop.AddComponent <EntityItem>(); item.stack = DropGenerator.Generate(); } }
private void OnMouseDown() { int drops = random.Next(min, max + 1); for (int i = 0; i < drops; i++) { GameObject itemDrop = new GameObject("itemDrop"); itemDrop.transform.position = transform.position + Vector3.up * .5F + Vector3.forward * (random.Next(-5, 5) * .05F) + Vector3.left * (random.Next(-5, 5) * .05F); itemDrop.transform.localEulerAngles = new Vector3(0F, random.Next(-90, 90), 0); EntityItem item = itemDrop.AddComponent <EntityItem>(); item.stack = DropGenerator.Generate(); } Destroy(gameObject); }
static void Main(string[] args) { ItemBuilder commonItemBuilder = new CommonItemBuilder(); // this is blueprint DropGenerator dg = new DropGenerator(commonItemBuilder); //This is the generator generates an item based on the blueprint DropGenerator dgother = new DropGenerator(new UniqueItemBuilder()); dg.MakeItem(); dgother.MakeItem(); Item it = dg.GetItem(); Item it2 = dgother.GetItem(); Console.WriteLine(it.Base); Console.WriteLine(it.DropRate); Console.WriteLine(it.Name); Console.WriteLine(it.Rarity); Console.ReadKey(); Console.WriteLine(it2.Base); Console.WriteLine(it2.DropRate); Console.WriteLine(it2.Name); Console.WriteLine(it2.Rarity); Console.ReadKey(); }
private void Awake() { Instance = this; }