// Update is called once per frame public void duplicate() { BuildableProperties bp = ins.selectedItem.gameObject.GetComponent <BuildableProperties>(); GameObject duplicated = (GameObject)Instantiate(Resources.Load(bp.resource), ins.selectedItem.transform.position, ins.selectedItem.transform.rotation); duplicated.transform.localScale = ins.selectedItem.transform.localScale; // Copy over any object properties. if (duplicated.GetComponent <ObjectProperties>() != null) { duplicated.GetComponent <ObjectProperties>().Duplicate(ins.selectedItem.gameObject.GetComponent <ObjectProperties>()); } BuildableStats bs = ins.selectedItem.GetComponent <BuildableStats>(); if (bs != null) { duplicated.GetComponent <BuildableStats>().transparency = bs.transparency; //TODO un-hardcode. } spawnOBJ.awaitingClick = true; spawnOBJ.obj = duplicated; World.objects.Add(duplicated, bp.resource); insu.clear(); }