///<summary> ///Update our current object data ("Current Target") ///</summary> private bool RefreshTargetBehaviors() { bool conditionTest = false; lastBehavioralType = TargetBehavioralTypes.None; foreach (var TLA in TargetBehaviors) { //Check each behavior "pre-condition" if (!TLA.BehavioralCondition) continue; //Now test the behavior conditionTest = TLA.Test.Invoke(ref CurrentTarget); if (conditionTest) { if (!LastCachedTarget.RAGUID.Equals(CurrentTarget.RAGUID)) { TargetChangedArgs TargetChangedInfo = new TargetChangedArgs(CurrentTarget, lastBehavioralType); OnTargetChanged(TargetChangedInfo); } lastBehavioralType = TLA.TargetBehavioralTypeType; break; } } return conditionTest; }
public TargetChangedArgs(CacheObject newobj, TargetBehavioralTypes sendingtype) { newObject = newobj; targetBehaviorUsed = sendingtype; }