Exemple #1
0
        public void Run()
        {
            foreach (var index in _eventFilter)
            {
                var target = _eventFilter.Get1(index).Target;
                var teaser = _eventFilter.Get1(index).Teaser;

                var pacmanECPair = _pacmanFilter.FirstOrDefault(x => x.Object == target);

                if (pacmanECPair == null)
                {
                    return;
                }

                var enemyECPair = _enemiesFilter.FirstOrDefault(x => x.Object == teaser);

                if (enemyECPair == null)
                {
                    return;
                }

                ref var pacmanComponent = ref pacmanECPair.Entity.Set <PacmanComponent>();

                pacmanComponent.Health = pacmanECPair.Component.Health - enemyECPair.Component.Damage;
            }
Exemple #2
0
        public void Init()
        {
            var pacmanEcsData = _pacmanFilter.FirstOrDefault();

            if (pacmanEcsData == null)
            {
                return;
            }

            var startPosition = pacmanEcsData.Component.Object.transform.position;
            var seeingPoints  = _raycastService.SeeingPoints(startPosition).ToArray();

            foreach (var point in seeingPoints)
            {
                FindPlaceAndSpawn(point);
            }
        }
Exemple #3
0
        public void Run()
        {
            foreach (var index in _eventFilter)
            {
                var coin = _coinFilter.FirstOrDefault(x => x.Target == _eventFilter.Get1(index).Target);

                if (coin == null)
                {
                    continue;
                }

                var pacman = _pacmanFilter.FirstOrDefault();
                if (pacman == null)
                {
                    continue;
                }

                ref var pacmanComponent = ref pacman.Entity.Set <PacmanComponent>();
                pacmanComponent.Points += coin.Component.Points;

                Object.Destroy(coin.Component.Target);

                coin.Entity.Destroy();
            }