public LevelSystem(GameController inController, Application inApp, SystemConfig inConfig = null) : base(inController, inApp, inConfig) { _config = inConfig as LevelSystemConfig; if (_config == null) { throw new Exception($"System config must be not null."); } ClearComponentList(); Level = CreateLevel(); }
private Core.Level CreateLevel() { // -------------------------------------------------------------------------------- // Setup Level // -------------------------------------------------------------------------------- Level = CreateEmptyLevel(); Level.Move(Vector2.zero); var levelSprite = SystemFacade.Resources.LoadSprite(ResourcesMap.Level); var levelView = new SpriteView(this.application, "Level", LayerNames.Level); levelView.SetSprite(levelSprite); Level.AddLevel(levelView, new Vector3(0, 0, 1)); ViewsContainer.AddView(levelView); // -------------------------------------------------------------------------------- // Setup Background // -------------------------------------------------------------------------------- /*var bgPos = new Vector2( * (SystemFacade.Renderer.ScreenWidth / 2 / SystemFacade.Renderer.CurrentResolution) * ,(SystemFacade.Renderer.ScreenHeight / 2 / SystemFacade.Renderer.CurrentResolution));*/ var bgSprite = SystemFacade.Resources.LoadSprite(ResourcesMap.Background); _background = new SpriteView(this.application, "Background", LayerNames.Background); _background.SetSprite(bgSprite); //- duplicate the background to fit the level platform var duplicated = new SpriteView(this.application, "Background", LayerNames.Background); duplicated.SetSprite(bgSprite); _background.AddChild(duplicated); duplicated.SetPosition(new Vector2(_background.GetSize().x, 0)); //apply offset Level.AddBackground(_background, _config.backgroundPosition); ViewsContainer.AddView(_background); return(Level); }
public JsonLevel(Core.Level level) { this.DisplayName = level.DisplayName; this.Name = level.Name; this.Value = level.Value; }