Exemple #1
0
        public void ChangeAlternative(Level level)
        {
            int counter = 0;

            foreach (BaseLevelObject lo in level.LevelObjects)
            {
                _loViews[counter].ChangeModel(lo);
                counter++;
            }

            foreach (InteractiveLevelObject lo in level.InteractiveLevelObjects)
            {
                _loViews[counter].ChangeModel(lo);
                counter++;
            }
        }
Exemple #2
0
        public LevelView(Level level)
        {
            _loViews = new List<View>();

            foreach(BaseLevelObject lo in level.LevelObjects)
            {
                View view = new View(lo);
                _loViews.Add(view);
            }

            foreach(InteractiveLevelObject lo in level.InteractiveLevelObjects)
            {
                View view = new InteractiveLevelObjectView(lo);
                _loViews.Add(view);
            }
        }
Exemple #3
0
        public object Clone()
        {
            List<BaseLevelObject> lObjects = new List<BaseLevelObject>();
            foreach(BaseLevelObject lo in LevelObjects)
            {
                lObjects.Add(lo.Clone() as BaseLevelObject);
            }

            List<InteractiveLevelObject> ilObjets = new List<InteractiveLevelObject>();
            foreach(InteractiveLevelObject lo in InteractiveLevelObjects)
            {
                ilObjets.Add(lo.Clone() as InteractiveLevelObject);
            }

            ilObjets[0].AddLevelObject(lObjects[2]);
            ilObjets[0].AddLevelObject(lObjects[3]);

            Level clone = new Level(lObjects, ilObjets);

            return clone;
        }
Exemple #4
0
        private void OnAlternativeChange(Level level)
        {
            _levelView.ChangeAlternative(level);
            _player.ActivateGravity = true;

            if(_alterverse.CurrentAlternative > _alterIcons.Count-1)
            {
                AlternativeIcon newAltIcon = new AlternativeIcon(_alterIcons[_alterIcons.Count - 1].Position + new Vector2(100, 0),
                    (_alterverse.CurrentAlternative+1).ToString());
                newAltIcon.LoadContent();
                _alterIcons.Add(newAltIcon);
            }

            foreach(AlternativeIcon alterIcon in _alterIcons)
            {
                alterIcon.IsActive = false;
            }

            _alterIcons[_alterverse.CurrentAlternative].IsActive = true;
        }