internal void UnregisterPeice(AuthorPeice peice) { if (this.allPeices != null && this.allPeices.IndexOf(peice) != -1) { this.OnWillUnregisterPeice(peice); this.allPeices.Remove(peice); if (this.selected != null) { this.selected.Remove(peice); } this.OnUnregisteredPeice(peice); if (!Application.isPlaying) { AuthorShared.SetDirty(this); } } }
internal void InitializeFromOwner(AuthorChHit self, AuthorChJoint.Kind kind) { this.self = self; this.kind = kind; AuthorShared.SetDirty(this); }
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; } } }