public void ClearAllFlagsWhere(FlagKind kind) { ClearAllFlagsWhere(delegate(NodeFlag flag) { return(flag.Kind == kind); }); }
public static NodeFlag Register(MathIdentifier id, Type ownerType, FlagKind kind) { NodeEvent dirtiedEvent = NodeEvent.Register ( id.DerivePostfix("DirtiedEvent"), typeof(EventHandler <NodeFlagDirtiedEventArgs>), ownerType ); NodeEvent changedEvent = NodeEvent.Register ( id.DerivePostfix("ChangedEvent"), typeof(EventHandler <NodeFlagChangedEventArgs>), ownerType ); NodeEvent enabledEvent = NodeEvent.Register ( id.DerivePostfix("EnabledEvent"), typeof(EventHandler <NodeFlagChangedEventArgs>), ownerType ); NodeEvent noLongerEnabledEvent = NodeEvent.Register ( id.DerivePostfix("NoLongerEnabledEvent"), typeof(EventHandler <NodeFlagChangedEventArgs>), ownerType ); NodeFlag nf = new NodeFlag(id, ownerType, null, kind, dirtiedEvent, changedEvent, enabledEvent, noLongerEnabledEvent); return(nf); }
private NodeFlag(MathIdentifier id, Type ownerType, IdentifierService <MathIdentifier> service, FlagKind kind, NodeEvent dirtiedEvent, NodeEvent changedEvent, NodeEvent enabledEvent, NodeEvent noLongerEnabledEvent) : base(id, ownerType, service) { _kind = kind; _dirtiedEvent = dirtiedEvent; _changedEvent = changedEvent; _enabledEvent = enabledEvent; _noLongerEnabledEvent = noLongerEnabledEvent; }
public static NodeFlag Register(MathIdentifier id, Type ownerType, FlagKind kind, params NodeEventTrigger[] triggers) { NodeFlag nf = Register(id, ownerType, kind); foreach (NodeEventTrigger trigger in triggers) { if (trigger.RegisterAtRemoteFlag) { trigger.RemoteFlag.AddRemoteEventTrigger(trigger, nf); continue; } if (trigger.RegisterAtRemoteProperty) { trigger.RemoteProperty.AddRemoteEventTrigger(trigger, nf); continue; } nf.AddEventFlagTrigger(trigger, nf); } return(nf); }