Пример #1
0
        public static void Insert(this NumericComponent self, int numericType, long value, bool isPublicEvent = true)
        {
            long oldValue = self.GetByKey(numericType);

            if (oldValue == value)
            {
                return;
            }

            self.NumericDic[numericType] = value;

            if (numericType >= NumericType.Max)
            {
                self.Update(numericType, isPublicEvent);
                return;
            }

            if (isPublicEvent)
            {
                EventType.NumbericChange args = EventType.NumbericChange.Instance;
                args.Parent      = self.Parent;
                args.NumericType = numericType;
                args.Old         = oldValue;
                args.New         = value;
                Game.EventSystem.PublishClass(args);
            }
        }
Пример #2
0
        public static void Run(this NumericWatcherComponent self, EventType.NumbericChange args)
        {
            List <INumericWatcher> list;

            if (!self.allWatchers.TryGetValue(args.NumericType, out list))
            {
                return;
            }
            foreach (INumericWatcher numericWatcher in list)
            {
                numericWatcher.Run(args);
            }
        }
Пример #3
0
        public void Run(EventType.NumbericChange args)
        {
            List <INumericWatcher> list;

            if (!this.allWatchers.TryGetValue(args.NumericType, out list))
            {
                return;
            }
            foreach (INumericWatcher numericWatcher in list)
            {
                numericWatcher.Run(args);
            }
        }
Пример #4
0
        public void Run(EventType.NumbericChange args)
        {
            DUnit tower = args.Parent as DUnit;

            if (tower != null)
            {
                HPRegainComponent hPRegainComponent = tower.GetComponent <HPRegainComponent>();
                if (hPRegainComponent != null)
                {
                    hPRegainComponent.HpRegain = (int)args.New;
                }
            }
        }
Пример #5
0
        public void Run(EventType.NumbericChange args)
        {
            Unit unit = args.Parent as Unit;

            if (unit == null)
            {
                Log.Error("监视hp数值变化,改变血条值 Unit 未找到 !");
                return;
            }

            InfoComponent ic = unit.GetComponent <InfoComponent>();

            ic?.RefreshUI();
        }
Пример #6
0
        public static void Run(this NumericWatcherComponent self, Unit unit, EventType.NumbericChange args)
        {
            List <NumericWatcherInfo> list;

            if (!self.allWatchers.TryGetValue(args.NumericType, out list))
            {
                return;
            }

            SceneType unitDomainSceneType = unit.DomainScene().SceneType;

            foreach (NumericWatcherInfo numericWatcher in list)
            {
                if (numericWatcher.SceneType != unitDomainSceneType)
                {
                    continue;
                }
                numericWatcher.INumericWatcher.Run(unit, args);
            }
        }
Пример #7
0
 public void Run(EventType.NumbericChange args)
 {
 }
Пример #8
0
		public void Run(Unit unit, EventType.NumbericChange args)
		{
		}