public void CreateItemsForSmashBlock(SmashBlock smashedBlock)
 {
     for (int i = 0; i < smashedBlock.Contents.Count; i++)
     {
         CreateItemsForSingleTexture(
             smashedBlock.Contents[i],
             smashedBlock.WorldPosition + (new Vector2(Definitions.Grid_Cell_Pixel_Size) / 2.0f),
             smashedBlock.CameraPosition);
     }
 }
 public void RecordBlockHasBeenSmashed(SmashBlock smashedBlock)
 {
     if (!_smashedBlockWorldPositions.Contains(smashedBlock.WorldPosition)) { _smashedBlockWorldPositions.Add(smashedBlock.WorldPosition); }
 }
 protected virtual void HandleSmashBlockSmash(SmashBlock smashedBlock)
 {
     _opaqueParticleEffectManager.LaunchCrateSmash(smashedBlock);
     _smashBlockItemFactory.CreateItemsForSmashBlock(smashedBlock);
 }
 public void UpdateFromSmashBlockContents(SmashBlock smashedBlock)
 {
     for (int i = 0; i < smashedBlock.Contents.Count; i++)
     {
         switch (smashedBlock.Contents[i].AffectsItem)
         {
             case SmashBlockItemData.AffectedItem.Score:
                 AddScoreForUnits(smashedBlock.Contents[i].Value, smashedBlock.Contents[i].Count);
                 _candiesCollected += smashedBlock.Contents[i].Count;
                 break;
             case SmashBlockItemData.AffectedItem.GoldenTicket:
                 HandleGoldenTicketCollection(smashedBlock);
                 break;
         }
     }
 }
Beispiel #5
0
 private void HandleSmashBlockCollision(SmashBlock collidingSmashBlock)
 {
     if ((_motionEngine.VerticalMovementCanSmash) || (_isSmashingSmashBlocks))
     {
         collidingSmashBlock.HandleSmash();
         _map.RecordBlockHasBeenSmashed(collidingSmashBlock);
         _motionEngine.PreventNextJump();
         _isSmashingSmashBlocks = true;
     }
     else
     {
         HandleSolidBlockCollision(collidingSmashBlock);
         _motionEngine.PlayerHasJustLandedOnSmashBlock = true;
     }
 }
        protected override void HandleSmashBlockSmash(SmashBlock smashedBlock)
        {
            if (smashedBlock.Contents.Count > 0)
            {
                _powerUpButton.IconTexture = smashedBlock.Contents[0].TextureName;
                _powerUpCoordinator.SetAvailablePowerUpFromTexture(smashedBlock.Contents[0].TextureName);

                if (Data.Profile.Settings.ShowPowerUpHelpers)
                {
                    _powerUpHelper.SetHelpText(smashedBlock.Contents[0].TextureName);
                    _powerUpHelper.Activate();
                }

                _inputProcessor.ActivateButton(PowerUpButton.In_Game_Button_Name);
            }
            base.HandleSmashBlockSmash(smashedBlock);
        }
 protected override void HandleSmashBlockSmash(SmashBlock smashedBlock)
 {
     _levelData.UpdateFromSmashBlockContents(smashedBlock);
     base.HandleSmashBlockSmash(smashedBlock);
 }