コード例 #1
0
        public override void Update(double gameTime)
        {
            if (ManagerEvents.Active)
            {
                return;
            }

            _counter += gameTime;
            if (_counter < _cooldown)
            {
                return;
            }

            var ownerSprite = GetComponent <Sprite>(ComponentType.Sprite);

            if (ownerSprite == null)
            {
                return;
            }
            foreach (var baseObject in _targetList)
            {
                var sprite = baseObject.GetComponent <Sprite>(ComponentType.Sprite);
                if (sprite != null)
                {
                    if (ManagerFunction.Distance(ownerSprite.Position, sprite.Position) < _distance)
                    {
                        ManagerEvents.AddEvents(_gameEvent);
                        _counter = 0;
                    }
                }
            }
        }
コード例 #2
0
        public void StartEvent()
        {
            if (!ManagerEvents.Active)
            {
                var keys    = _gameEvents.Keys;
                var biggest = -1;
                foreach (int key in keys)
                {
                    if (key > biggest && ManagerLists.GetEventSwitchValue(key))
                    {
                        biggest = key;
                    }
                }

                if (biggest != -1)
                {
                    ManagerEvents.AddEvents(_gameEvents[biggest]);
                }
            }
        }