Example #1
0
        private bool OnLoadEntity(Level level, LevelData levelData, Vector2 offset, EntityData entityData)
        {
            if (entityData.Name == "ghostTouchSwitch")
            {
                GhostTouchSwitch touch = new GhostTouchSwitch(entityData, offset);
                level.Add(touch);
                if (Client != null && Client.Connection != null)
                {
                    Client.AddGhostTouch(touch);
                }
                return(true);
            }

            if (entityData.Name == "timedSwitchGate")
            {
                TimedSwitchGate touch = new TimedSwitchGate(entityData, offset);
                level.Add(touch);
                return(true);
            }

            if (entityData.Name == "multiplayerDeathTrigger")
            {
                MultiplayerDeathTrigger trigger = new MultiplayerDeathTrigger(entityData, offset);
                level.Add(trigger);
                return(true);
            }

            if (entityData.Name == "kevinballEndzoneTrigger")
            {
                KevinballEndzoneTrigger trigger = new KevinballEndzoneTrigger(entityData, offset);
                level.Add(trigger);
                if (Client != null && Client.Connection != null)
                {
                    Client.LoadedKevinballLevel(level);
                }
                return(true);
            }

            if (entityData.Name == "kevinballP1SpawnTrigger")
            {
                KevinballP1SpawnTrigger trigger = new KevinballP1SpawnTrigger(entityData, offset);
                level.Add(trigger);
                if (Client != null && Client.Connection != null)
                {
                    Client.p1Spawn = trigger.Center;
                }
                return(true);
            }

            if (entityData.Name == "kevinballP2SpawnTrigger")
            {
                KevinballP2SpawnTrigger trigger = new KevinballP2SpawnTrigger(entityData, offset);
                level.Add(trigger);
                if (Client != null && Client.Connection != null)
                {
                    Client.p2Spawn = trigger.Center;
                }
                return(true);
            }

            if (entityData.Name == "multiplayerTriggerSpikesDown")
            {
                MultiplayerTriggerSpikes spike = new MultiplayerTriggerSpikes(entityData, offset, MultiplayerTriggerSpikes.Directions.Down);
                level.Add(spike);
                if (Client != null && Client.Connection != null)
                {
                    Client.AddTriggerSpikes(spike);
                }
                return(true);
            }

            if (entityData.Name == "multiplayerTriggerSpikesLeft")
            {
                MultiplayerTriggerSpikes spike = new MultiplayerTriggerSpikes(entityData, offset, MultiplayerTriggerSpikes.Directions.Left);
                level.Add(spike);
                if (Client != null && Client.Connection != null)
                {
                    Client.AddTriggerSpikes(spike);
                }
                return(true);
            }

            if (entityData.Name == "multiplayerTriggerSpikesRight")
            {
                MultiplayerTriggerSpikes spike = new MultiplayerTriggerSpikes(entityData, offset, MultiplayerTriggerSpikes.Directions.Right);
                level.Add(spike);
                if (Client != null && Client.Connection != null)
                {
                    Client.AddTriggerSpikes(spike);
                }
                return(true);
            }

            if (entityData.Name == "multiplayerTriggerSpikesUp")
            {
                MultiplayerTriggerSpikes spike = new MultiplayerTriggerSpikes(entityData, offset, MultiplayerTriggerSpikes.Directions.Up);
                level.Add(spike);
                if (Client != null && Client.Connection != null)
                {
                    Client.AddTriggerSpikes(spike);
                }
                return(true);
            }

            if (entityData.Name == "multiplayerVariableSpeedCrushBlock")
            {
                MultiplayerVariableSpeedCrushBlock block = new MultiplayerVariableSpeedCrushBlock(entityData, offset);
                level.Add(block);
                if (Client != null && Client.Connection != null)
                {
                    Client.crushBlock = block;
                }
                return(true);
            }

            if (entityData.Name == "kevinRefill")
            {
                KevinRefill fill = new KevinRefill(entityData, offset);
                level.Add(fill);
                if (Client != null && Client.Connection != null)
                {
                    Client.refill = fill;
                }
                return(true);
            }

            if (entityData.Name == "multiplayerControlSwitch")
            {
                MultiplayerControlSwitch cSwitch = new MultiplayerControlSwitch(entityData, offset);
                level.Add(cSwitch);
                if (Client != null && Client.Connection != null)
                {
                    Client.AddControlSwitch(cSwitch);
                }

                return(true);
            }

            return(false);
        }