Exemplo n.º 1
0
 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);
     }
 }
Exemplo n.º 2
0
 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);
         }
     }
 }
Exemplo n.º 3
0
        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));
            }
        }
Exemplo n.º 4
0
    // Use this for initialization

    void Start()
    {
        triggerContainer = GetComponent <TriggerContainer>();
    }