コード例 #1
0
ファイル: ItemEntity.cs プロジェクト: doanhtdpl/boom-game
        private void collisionWithBomber(BomberEntity bomber)
        {
            BomberRenderer renderer = bomber.RendererObj as BomberRenderer;
            BomberLogical logical = bomber.LogicalObj as BomberLogical;

            ItemRenderer obsRenderer = (this.RendererObj as ItemRenderer);
            ItemLogical obsLogical = (this.LogicalObj as ItemLogical);

            if (((Math.Abs(renderer.Position.X - obsRenderer.Position.X) <= 30 && (renderer.direction == Shared.Constants.DIRECTION_UP || renderer.direction == Shared.Constants.DIRECTION_DOWN))
                || (Math.Abs(renderer.Position.Y - obsRenderer.Position.Y) <= 30 && (renderer.direction == Shared.Constants.DIRECTION_LEFT || renderer.direction == Shared.Constants.DIRECTION_RIGHT))))
            {
                itemType.affect(bomber);
                this.isDead = true;

                // Play sound pick up item
                Global.PlaySoundEffect(Shared.Resources.Sound_Pick_Item);

                Global.Counter_Scores += 50;
            }
        }
コード例 #2
0
ファイル: BasicGameScene.cs プロジェクト: doanhtdpl/boom-game
        public void onInit(String mapPath)
        {
            this.Name = Shared.Macros.S_BASIC;

            Components.Add(Grid.Grid.getInst());

            MapReader.MapReader reader = new MapReader.MapReader(mapPath);
            reader.onInit(resourceManager);
            List<IGameEntity> entities = reader.Read();
            if (entities != null)
            {
                for (int i = 0; i < entities.Count; ++i)
                {
                    entities[i].onInit();
                    GameManager.Add(entities[i]);
                }
            }

            spr = (Sprite)resourceManager.GetResource<ISprite>(Shared.Resources.sand_green_road);

            backgroundLine = (Texture2D)resourceManager.GetResource<Texture2D>(Shared.Resources.BackgroundGame);

            // Create game info
            infoFont = (SpriteFont)resourceManager.GetResource<SpriteFont>(Shared.Resources.Time_Font);
            numberBomber = new Vector2(26f, 0f);
            numberEnemy = new Vector2(756f, 0f);
            clock = new Vector2(183f, -1f);
            scores = new Vector2(400f, -1f);
            gold = new Vector2(596f, -1f);

            // Create bomber
            BomberEntity bomberEntity = new BomberEntity(this.Game);
            bomberEntity.onInit();
            bomberEntity.RendererObj.Position = new Vector2(Global.Bomber_Start_Position_X, Global.Bomber_Start_Position_Y);
            GameManager.Add(bomberEntity);
            InputLayer.Add(bomberEntity);
            Global.Counter_Bomber++;

            // Set target bomber for enemy
            for (int i = 0; i < entities.Count; ++i)
            {
                if (entities[i] is ChasingEnemyEntity)
                {
                    (entities[i] as ChasingEnemyEntity).Target = bomberEntity;
                }
            }
            entities.Clear();

            Components.Add(InputLayer);

            s_background = resourceManager.GetResource<SCSEngine.Audio.Sound>(Global.RandomBackgroundSong());
            services.AudioManager.PlaySound(s_background, true, Global.isMusicOff, Global.isMusicZuneOff);
            s_background.IsLooped = true;

            Global.Counter_Time = 0;
        }
コード例 #3
0
ファイル: BombEntity.cs プロジェクト: doanhtdpl/boom-game
 private void collisionWithBomber(BomberEntity bomber)
 {
     if (!bomberEntities.ContainsKey(bomber))
     {
         bomberEntities.Add(bomber, false);
     }
 }
コード例 #4
0
ファイル: BomberEntity.cs プロジェクト: doanhtdpl/boom-game
 private void collisionWithBomber(BomberEntity bomber)
 {
     if ((this.RendererObj as BomberRenderer).Stage is WrapBombStage)
     {
         if ((bomber.LogicalObj as BomberLogical).Team == (this.LogicalObj as BomberLogical).Team)
         {
             (this.RendererObj as BomberRenderer).onStageChange(IdleStage.getInstance());
             (this.RendererObj as BomberRenderer).TimeToDie = 0;
         }
         else
         {
             this.isDead = true;
         }
     }
 }
コード例 #5
0
ファイル: BombEntity.cs プロジェクト: doanhtdpl/boom-game
 public bool IsBomberCollide(BomberEntity bomber)
 {
     if (bomberEntities.ContainsKey(bomber))
     {
         return bomberEntities[bomber];
     }
     return false;
 }