Beispiel #1
0
        public override bool Inspect(Trigger t)
        {
            bool changed = base.Inspect(t);

            Values so = Values.current;

            if (so != null)
            {
                bool val = so.GetTagBool(t);
                if (pegi.toggle(ref val))
                {
                    changed = true;
                    so.SetTagBool(t, val);
                }
            }

            return(changed);
        }
Beispiel #2
0
        public static void Apply(this ResultType type, int updateValue, ValueIndex dest, Values so)
        {
            switch (type)
            {
            case ResultType.SetBool: dest.SetBool(so, (updateValue > 0)); break;

            case ResultType.Set: dest.SetInt(so, updateValue); break;

            case ResultType.Add: so.ints[dest.groupIndex].Add(dest.triggerIndex, updateValue); break;

            case ResultType.Subtract: so.ints[dest.groupIndex].Add(dest.triggerIndex, -updateValue); break;

            case ResultType.SetTimeReal: dest.SetInt(so, LogicMGMT.RealTimeNow()); break;

            case ResultType.SetTimeGame: dest.SetInt(so, (int)Time.time); break;

            case ResultType.SetTagBool: so.SetTagBool(dest.groupIndex, dest.triggerIndex, updateValue > 0); break;

            case ResultType.SetTagInt: so.SetTagEnum(dest.groupIndex, dest.triggerIndex, updateValue); break;
            }
        }