private Block CreateBlockFromXmlNode(XElement node)
        {
            Block newBlock = null;

            switch (node.Name.ToString())
            {
            case SmashBlock.Data_Node_Name: newBlock = CreateSmashBlock(node); break;

            case SpringBlock.Data_Node_Name: newBlock = CreateSpringBlock(node); break;

            case SpikeBlock.Data_Node_Name: newBlock = CreateSpikeBlock(node); break;

            case ObstructionBlock.Data_Node_Name: newBlock = CreateObstructionBlock(node); break;

            case IceBlock.Data_Node_Name: newBlock = CreateIceBlock(node); break;

            case BombBlock.Data_Node_Name: newBlock = CreateBombBlock(node); break;

            case Block.Data_Node_Name: newBlock = CreateBlock(node); break;
            }

            if (newBlock != null)
            {
                if (newBlock is IAnimated)
                {
                    _animationController.AddAnimatedObject((IAnimated)newBlock);
                }
            }

            return(newBlock);
        }
Exemple #2
0
        protected override void RegisterGameObject(IGameObject toRegister)
        {
            if (toRegister is IMobile)
            {
                _motionController.AddMobileObject((IMobile)toRegister);
            }
            if (toRegister is IAnimated)
            {
                _animationController.AddAnimatedObject((IAnimated)toRegister);
            }
            if (toRegister is ICameraLinked)
            {
                _cameraController.AddCameraLinkedObject((ICameraLinked)toRegister);
            }
            if (toRegister is ICollidable)
            {
                _playerCollisionController.AddCollidableObject((ICollidable)toRegister);
            }
            if (toRegister is IPausable)
            {
                _pauseController.AddPausableObject((IPausable)toRegister);
            }

            base.RegisterGameObject(toRegister);
        }
        protected override void RegisterGameObject(IGameObject toRegister)
        {
            if (toRegister is IMobile)
            {
                _motionController.AddMobileObject((IMobile)toRegister);
            }
            if (toRegister is IAnimated)
            {
                _animationController.AddAnimatedObject((IAnimated)toRegister);
            }
            if (toRegister is ICameraLinked)
            {
                _cameraController.AddCameraLinkedObject((ICameraLinked)toRegister);
            }
            if (toRegister is ICollidable)
            {
                _playerCollisionController.AddCollidableObject((ICollidable)toRegister);
            }
            if (toRegister is IPausable)
            {
                _pauseController.AddPausableObject((IPausable)toRegister);
            }

            if (toRegister is SmashBlock)
            {
                ((SmashBlock)toRegister).SmashCallback = HandleSmashBlockSmash;
            }
            if (toRegister is ICanHaveGlowEffect)
            {
                _objectWithGlowEffect.Add((ICanHaveGlowEffect)toRegister);
            }

            base.RegisterGameObject(toRegister);
        }
        private Block CreateBlockFromXmlNode(XElement node)
        {
            Block newBlock = null;

            switch (node.Name.ToString())
            {
            case SmashBlock.Data_Node_Name: newBlock = CreateSmashBlock(node); break;

            case SpringBlock.Data_Node_Name: newBlock = CreateSpringBlock(node); break;

            case SpikeBlock.Data_Node_Name: newBlock = CreateSpikeBlock(node); break;

            case ObstructionBlock.Data_Node_Name: newBlock = CreateObstructionBlock(node); break;

            case IceBlock.Data_Node_Name: newBlock = CreateIceBlock(node); break;

            case Block.Data_Node_Name: newBlock = CreateBlock(node); break;
            }

            if (newBlock != null)
            {
                newBlock.ID = string.Concat(Serialized_Data_Identifier, _nextBlockID++);
                if (newBlock is IAnimated)
                {
                    _animationController.AddAnimatedObject((IAnimated)newBlock);
                }
            }

            return(newBlock);
        }
Exemple #5
0
 protected override void RegisterGameObject(IGameObject toRegister)
 {
     if (toRegister is IAnimated)
     {
         _animationController.AddAnimatedObject((IAnimated)toRegister);
     }
     base.RegisterGameObject(toRegister);
 }
 protected override void RegisterGameObject(IGameObject toRegister)
 {
     if (toRegister is IAnimated)
     {
         _animationController.AddAnimatedObject((IAnimated)toRegister);
     }
     if (toRegister is ContentBase)
     {
         ((ContentBase)toRegister).FadeFraction = 0.0f;
     }
     base.RegisterGameObject(toRegister);
 }