Exemple #1
0
    // 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();
    }