/// <summary> /// Scans the all execution groups to look for a component by instance id. /// </summary> /// <param name="instanceId"></param> /// <param name="updateFound"></param> /// <param name="fixedUpdateFound"></param> public void FindComponent(int instanceId, out bool updateFound, out bool fixedUpdateFound) { bool didFindUpdate = false; bool didFindFixedUpdate = false; void CheckUpdate(ManagedUpdatesBehaviour component) { didFindUpdate |= (instanceId == component.GetInstanceID()); } void CheckFixedUpdate(ManagedUpdatesBehaviour component) { didFindFixedUpdate |= (instanceId == component.GetInstanceID()); } // As part of the loop condition, bail out if we've already found all update types. for (int i = 0; i < _executionGroups.Count && !(didFindUpdate && didFindFixedUpdate); i++) { ManagedExecutionGroup group = _executionGroups[i]; group.TraverseForType(UpdateType.Normal, CheckUpdate); group.TraverseForType(UpdateType.Fixed, CheckFixedUpdate); } updateFound = didFindUpdate; fixedUpdateFound = didFindFixedUpdate; }
public Config(ManagedExecutionGroup executionGroup, bool update, bool fixedUpdate) { this._executionGroup = executionGroup; this._update = update; this._fixedUpdate = fixedUpdate; this.valueChangedAction = null; }