public void Apply(BehaviourConfig behaviourConfig)
        {
            var ability = behaviourConfig.AttachTo(gameObject) as IAbility;

            abilityes.Add(ability);
            NotifyStateChanged();
        }
        public void loadWorld()
        {
            models.Clear();
            ConfigSettings  config          = Game.Content.Load <ConfigSettings>(@"Config\levelconfig");
            BehaviourConfig behaviourConfig = Game.Content.Load <BehaviourConfig>(@"Config\behaviourconfig");

            int counterX    = 0;
            int counterY    = 0;
            int counterXMax = int.MinValue;

            while (counterY < config.modelmap.GetLength(0))
            {
                while (counterX < config.modelmap[counterY].Length)
                {
                    addModel(config.modelmap[counterY][counterX], counterX, counterY);
                    counterX++;
                    if (counterX > counterXMax)
                    {
                        counterXMax = counterX;
                    }
                }
                counterX = 0;
                counterY++;
            }
            widthOfMap  = counterXMax;
            heightOfMap = counterY;
        }