public static void RegisterTriggerContainer(TriggerContainer container, int axis) { if (axis == Consts.X_TRIGGER_AXIS) { _xTriggers = container; } else if (axis == Consts.Y_TRIGGER_AXIS) { _yTriggers = container; } else { _zTriggers = container; } foreach (var trigger in container.GetTriggers()) { StringToTrigger.Add(trigger.name, trigger); } }
public static void UnregisterTriggerContainer(TriggerContainer container, int axis) { if (axis == Consts.X_TRIGGER_AXIS) { _xTriggers = null; } else if (axis == Consts.Y_TRIGGER_AXIS) { _yTriggers = null; } else { _zTriggers = null; } foreach (var trigger in container.GetTriggers()) { if (StringToTrigger.ContainsKey(trigger.name)) { StringToTrigger.Remove(trigger.name); } } }
private void RefreshTriggerList() { var toRefresh = this.placeholderRefreshed; var newList = ( from x in TableCompiler.Instance.TriggerList where (x as Ticker) != null || (x as Spell)?.IsInstance == false select x).ToList(); do { if (toRefresh) { break; } if (newList.Count != this.TriggerList.Count) { toRefresh |= true; } else { toRefresh |= this.TriggerList.Any(x => !newList.Any(y => y.GetID() == x.ID)); if (toRefresh) { break; } toRefresh |= newList.Any(x => !this.TriggerList.Any(y => y.ID == x.GetID())); if (toRefresh) { break; } foreach (var x in this.TriggerList) { var y = newList.FirstOrDefault(z => z.GetID() == x.ID); var yc = new TriggerContainer() { Trigger = y }; if (x.Pattern != yc.Pattern) { toRefresh |= true; break; } } } } while (false); if (toRefresh) { this.TriggerList.Clear(); var i = 1; var query = from x in newList orderby x.ItemType select new TriggerContainer() { Trigger = x, No = i++, }; this.TriggerList.AddRange(query); this.ActiveTriggerCount = newList.LongCount() + SpellTable.Instance.GetInstanceSpells().Count; this.RaisePropertyChanged(nameof(this.ActiveTriggerCount)); } }
// Use this for initialization void Start() { triggerContainer = GetComponent <TriggerContainer>(); }