protected List <Change> FindDependencies(IDAndChanges ec) { var dependencies = new List <Change>(); Change change; ChangeType changeType; try { for (int i = 0; i < ec.Changes.Count; i++) { change = ec.Changes[i]; changeType = change.GetChangeType(); if (DependencyChangeTypes.Contains(changeType)) { dependencies.Add(change); } } } catch (Exception ex) { MakeLogError(ex); } return(dependencies); }
protected bool DetectIsGlobal(IDAndChanges ec) { for (int i = 0; i < ec.Changes.Count; i++) { if (ec.Changes[i].GetChangeType() == ChangeType.Effect_GlobalID_Set) { return(true); } } return(false); }
protected bool TryGenerateEffect(Dictionary <int, Effect> effectsByID, IDAndChanges ec, BaseEffectHandler globalsEH) { var effect = new Effect(); globalsEH = globalsEH ?? new BaseEffectHandler("globalsEH", null, null); var dependencies = FindDependencies(ec); if (ContainsUnresolvedDependencies(dependencies)) { return(false); } effect = new Effect(); effect.AddChanges(ec.Changes); effectsByID.Add(ec.ID, effect); if (DetectIsGlobal(ec)) { globalsEH.AddEffect(effect); } return(true); }