public static void CheckBulletWithMap(LVector2Int iPos, GameEntity entity, IGameAudioService audioService, IMap2DService map2DService)
        {
            var unit   = entity.unit;
            var bullet = entity.bullet;
            var id     = map2DService.Pos2TileId(iPos, false);

            if (id != 0 && unit.health > 0)
            {
                //collide bullet with world
                if (id == TilemapUtil.TileID_Brick)
                {
                    if (unit.camp == ECampType.Player)
                    {
                        audioService.PlayClipHitBrick();
                    }

                    map2DService.ReplaceTile(iPos, id, 0);
                    unit.health--;
                }
                else if (id == TilemapUtil.TileID_Iron)
                {
                    if (!bullet.canDestoryIron)
                    {
                        if (unit.camp == ECampType.Player)
                        {
                            audioService.PlayClipHitIron();
                        }

                        unit.health = 0;
                    }
                    else
                    {
                        if (unit.camp == ECampType.Player)
                        {
                            audioService.PlayClipDestroyIron();
                        }

                        unit.health = LMath.Max(unit.health - 2, 0);
                        map2DService.ReplaceTile(iPos, id, 0);
                    }
                }
                else if (id == TilemapUtil.TileID_Grass)
                {
                    if (bullet.canDestoryGrass)
                    {
                        if (unit.camp == ECampType.Player)
                        {
                            audioService.PlayClipDestroyGrass();
                        }

                        unit.health -= 0;
                        map2DService.ReplaceTile(iPos, id, 0);
                    }
                }
                else if (id == TilemapUtil.TileID_Wall)
                {
                    unit.health = 0;
                }
            }
        }
Example #2
0
 public override void InitReference(IServiceContainer serviceContainer, IManagerContainer mgrContainer = null)
 {
     base.InitReference(serviceContainer, mgrContainer);
     _gameEffectService     = serviceContainer.GetService <IGameEffectService>();
     _gameAudioService      = serviceContainer.GetService <IGameAudioService>();
     _gameStateService      = serviceContainer.GetService <IGameStateService>();
     _gameConfigService     = serviceContainer.GetService <IGameConfigService>();
     _gameCollisionService  = serviceContainer.GetService <IGameCollision2DService>();
     _gameConstStateService = serviceContainer.GetService <IGameConstStateService>();
     _gameUnitService       = serviceContainer.GetService <IGameUnitService>();
 }
Example #3
0
 protected override void OnInitReference(IServiceContainer serviceContainer, IManagerContainer mgrContainer)
 {
     _gameEffectService      = serviceContainer.GetService <IGameEffectService>();
     _gameAudioService       = serviceContainer.GetService <IGameAudioService>();
     _gameStateService       = serviceContainer.GetService <IGameStateService>();
     _gameConfigService      = serviceContainer.GetService <IGameConfigService>();
     _gameResourceService    = serviceContainer.GetService <IGameResourceService>();
     _gameConstStateService  = serviceContainer.GetService <IGameConstStateService>();
     _gameCollision2DService = serviceContainer.GetService <IGameCollision2DService>();
     _gameUnitService        = serviceContainer.GetService <IGameUnitService>();
 }
        public override void InitReference(IServiceContainer serviceContainer, IManagerContainer mgrContainer)
        {
            base.InitReference(serviceContainer, mgrContainer);

            _networkService         = serviceContainer.GetService <INetworkService>();
            SimulatorServiceService = serviceContainer.GetService <ISimulatorService>();
            _uiService = serviceContainer.GetService <IUIService>();

            _gameEffectService   = serviceContainer.GetService <IGameEffectService>();
            _gameAudioService    = serviceContainer.GetService <IGameAudioService>();
            _gameStateService    = serviceContainer.GetService <IGameStateService>();
            _gameConfigService   = serviceContainer.GetService <IGameConfigService>();
            _gameViewService     = serviceContainer.GetService <IGameViewService>();
            _gameResourceService = serviceContainer.GetService <IGameResourceService>();
        }