Ejemplo n.º 1
0
    public virtual void ExecuteCommand(AuthorShared.PeiceCommand cmd)
    {
        UnityEngine.Debug.Log(cmd.action, cmd.peice);
        switch (cmd.action)
        {
        case AuthorShared.PeiceAction.AddToSelection:
        {
            UnityEngine.Object   obj = cmd.peice.selectReference;
            UnityEngine.Object[] allSelectedObjects = AuthorShared.GetAllSelectedObjects();
            Array.Resize <UnityEngine.Object>(ref allSelectedObjects, (int)allSelectedObjects.Length + 1);
            allSelectedObjects[(int)allSelectedObjects.Length - 1] = obj;
            AuthorShared.SetAllSelectedObjects(allSelectedObjects);
            break;
        }

        case AuthorShared.PeiceAction.RemoveFromSelection:
        {
            UnityEngine.Object   obj1     = cmd.peice.selectReference;
            UnityEngine.Object[] objArray = AuthorShared.GetAllSelectedObjects();
            int num = 0;
            for (int i = 0; i < (int)objArray.Length; i++)
            {
                if (objArray[i] != obj1 && objArray[i] != cmd.peice)
                {
                    int num1 = num;
                    num            = num1 + 1;
                    objArray[num1] = objArray[i];
                }
            }
            if (num < (int)objArray.Length)
            {
                Array.Resize <UnityEngine.Object>(ref objArray, num);
                AuthorShared.SetAllSelectedObjects(objArray);
            }
            break;
        }

        case AuthorShared.PeiceAction.SelectSolo:
        {
            AuthorShared.SetAllSelectedObjects(new UnityEngine.Object[] { cmd.peice.selectReference });
            break;
        }

        case AuthorShared.PeiceAction.Delete:
        {
            bool?nullable = AuthorShared.Ask(string.Concat(new object[] { "You want to delete ", cmd.peice.peiceID, "? (", cmd.peice, ")" }));
            if ((!nullable.HasValue ? false : nullable.Value))
            {
                cmd.peice.Delete();
            }
            break;
        }

        case AuthorShared.PeiceAction.Dirty:
        {
            AuthorShared.SetDirty(cmd.peice);
            break;
        }

        case AuthorShared.PeiceAction.Ping:
        {
            AuthorShared.PingObject(cmd.peice);
            break;
        }
        }
    }