示例#1
0
    public static RedoObject handleRedoObject(RedoObject ro)
    {
        UncreateObject uco = ro as UncreateObject;

        if (uco != null)
        {
            GameObject   go           = PropHandler.objectFromId(uco.id);
            Prop         prop         = go.GetComponent <Prop>();
            UnmoveObject unmoveObject = new UnmoveObject(uco.id, go.transform, prop.name, prop.paintHistory);
            PropHandler.untrack(go, true);
            return(unmoveObject);
        }

        UnmoveObject umo = ro as UnmoveObject;

        if (umo != null)
        {
            GameObject go = PropHandler.objectFromId(umo.id);
            RedoObject redoOb;
            if (go == null)
            {
                go = GameObject.Instantiate(PropHandler.props[umo.propName]);
                Prop prop = go.GetComponent <Prop>();
                prop.paintHistory = umo.paintHistory;
                prop.propObjectId = umo.id;
                foreach (UnpaintObject unp in prop.paintHistory)
                {
                    Prop.paintFromPath(go, unp.getNewColor(), unp.getColorPath(), false, false);
                }
                PropHandler.track(go);

                redoOb = new UncreateObject(umo.id);
            }
            else
            {
                redoOb = new UnmoveObject(umo.id, go.transform.position, go.transform.rotation, go.transform.localScale, umo.propName);
            }
            go.transform.position   = umo.position;
            go.transform.rotation   = umo.rotation;
            go.transform.localScale = umo.localScale;
            return(redoOb);
        }

        UnpaintObject upo = ro as UnpaintObject;

        if (upo != null)
        {
            GameObject go = PropHandler.objectFromId(upo.id);
            return(Prop.paintFromPath(go, upo.getNewColor(), upo.getColorPath(), true, false));
        }
        return(null);
    }
示例#2
0
    public override void handUpdate(GameObject handOb, bool pinch)
    {
        sel.select(handOb);
        Color color = Color.gray;

        if (sel.getSelected() != null)
        {
            color = Color.red;
            if (pinch)
            {
                UnmoveObject unmoveObject = new UnmoveObject(sel.getSelected().propObjectId, sel.getSelected().gameObject.transform, sel.getSelected().name, sel.getSelected().paintHistory);
                RedoManager.addRedoObject(unmoveObject);
                PropHandler.untrack(sel.getSelected().gameObject, true);
            }
        }
        sel.drawLine(color);
    }