public LevelContent(Level level) { Level = level; UidMap = new Dictionary<Guid, int>(); AssetMap = new Dictionary<Guid, string>(); PopulateUidMap(); }
public ObjectLayerForm(Level level, string name) { InitializeForm(); Text = "New Object Layer"; _level = level; _nameField.Text = name; _validateController.Validate(); }
private void ApplyNew() { int originX = (int)_originXField.Value; int originY = (int)_originYField.Value; int levelWidth = (int)_levelWidth.Value; int levelHeight = (int)_levelHeight.Value; _level = new Level(_name.Text.Trim(), originX, originY, levelWidth, levelHeight); _level.Project = _project; //_level.Layers.Add(new MultiTileGridLayer("Tile Layer 1", originX, originY, levelWidth, levelHeight)); _project.Levels.Add(_level); }
public void CommandClone(object param) { if (!LevelExists(param)) return; Level level = Editor.Project.Levels[(Guid)param]; Level clone = new Level(level, Editor.Project); clone.TrySetName(Editor.Project.Levels.CompatibleName(level.Name)); Editor.Project.Levels.Add(clone); }
protected TileGridLayer(string name, int tileWidth, int tileHeight, Level level) : base(name, tileWidth, tileHeight) { Level = level; _tileOriginX = (int)Math.Floor(level.OriginX * 1.0 / tileWidth); _tileOriginY = (int)Math.Floor(level.OriginY * 1.0 / tileHeight); int diffOriginX = level.OriginX - (_tileOriginX * tileWidth); int diffOriginY = level.OriginY - (_tileOriginY * tileHeight); _tilesWide = (int)Math.Ceiling((level.OriginX + level.Width + diffOriginX) * 1.0 / tileWidth) - _tileOriginX; _tilesHigh = (int)Math.Ceiling((level.OriginY + level.Height + diffOriginY) * 1.0 / tileHeight) - _tileOriginY; }
public MultiTileGridLayer(LevelX.MultiTileGridLayerX proxy, Level level, Dictionary<int, Guid> tileIndex) : base(proxy.Name, proxy.TileWidth, proxy.TileHeight, level) { _tiles = new TileStack[TilesHigh, TilesWide]; Opacity = proxy.Opacity; IsVisible = proxy.Visible; RasterMode = proxy.RasterMode; Level = level; foreach (var blockProxy in proxy.Blocks) ParseTileBlockString(blockProxy.Data); if (proxy.Properties != null) { foreach (var propertyProxy in proxy.Properties) CustomProperties.Add(Property.FromXmlProxy(propertyProxy)); } }
public ResizeLevelForm(Level level) { InitializeComponent(); _level = level; NewWidth = level.Width; NewHeight = level.Height; _alignmentControl.SourceIcon = Properties.Resources.Map; _alignmentControl.OldSize = new Size(_level.Width, _level.Height); _alignmentControl.NewSize = new Size(_level.Width, _level.Height); _alignmentControl.Alignment = Alignment.TopLeft; _alignmentControl.AlignmentChanged += _alignmentControl_AlignmentChanged; _oldWidthLabel.Text = _level.Width.ToString(); _oldHeightLabel.Text = _level.Height.ToString(); CalculatePositionValues(_alignmentControl.Alignment); }
public ResizeLevelForm(Level level) { InitializeComponent(); System.Reflection.Assembly assembly = System.Reflection.Assembly.GetExecutingAssembly(); _level = level; NewWidth = level.Width; NewHeight = level.Height; _alignmentControl.SourceIcon = Image.FromStream(assembly.GetManifestResourceStream("Treefrog.Icons._16.map.png")); _alignmentControl.OldSize = new Size(_level.Width, _level.Height); _alignmentControl.NewSize = new Size(_level.Width, _level.Height); _alignmentControl.Alignment = Alignment.TopLeft; _alignmentControl.AlignmentChanged += _alignmentControl_AlignmentChanged; _oldWidthLabel.Text = _level.Width.ToString(); _oldHeightLabel.Text = _level.Height.ToString(); CalculatePositionValues(_alignmentControl.Alignment); }
public ObjectLayer(LevelX.ObjectLayerX proxy, Level level) : this(proxy.Name, level) { Opacity = proxy.Opacity; IsVisible = proxy.Visible; RasterMode = proxy.RasterMode; GridColor = Color.ParseArgbHex(proxy.GridColor); GridWidth = proxy.GridWidth; GridHeight = proxy.GridHeight; Level = level; IResourceCollection<ObjectPool> pools = Level.Project.ObjectPoolManager.Pools; foreach (var objProxy in proxy.Objects) { ObjectInstance inst = ObjectInstance.FromXProxy(objProxy, Level.Project.ObjectPoolManager); if (inst != null) AddObject(inst); } if (proxy.Properties != null) { foreach (var propertyProxy in proxy.Properties) PropertyManager.CustomProperties.Add(Property.FromXmlProxy(propertyProxy)); } }
public ObjectLayer(string name, Level level) : this(name, level.OriginX, level.OriginY, level.Width, level.Height) { }
public LevelContent(Level level, IEnumerable<KeyValuePair<Guid, string>> assetMap) : this(level) { foreach (var kvp in assetMap) AssetMap.Add(kvp.Key, kvp.Value); }
private void AddLevel(Level level) { _levels.Add(level); }
public LevelPresenter(PresenterManager pm, EditorPresenter editor, Level level) { _pm = pm; _pm.InstanceRegistered += PresenterRegsitered; _pm.InstanceUnregistered += PresenterUnregistered; _editor = editor; _level = level; _zoom = new ZoomState(); _zoom.ZoomLevelChanged += ZoomStateLevelChanged; _info = new LevelInfoPresenter(this); _layerPresenters = new Dictionary<Guid, LevelLayerPresenter>(); _history = new CommandHistory(); _history.HistoryChanged += HistoryChangedHandler; _annotations = new ObservableCollection<Annotation>(); InitializeCommandManager(); InitializeLayerHierarchy(); InitializeLayers(); }
public MultiTileGridLayer(string name, int tileWidth, int tileHeight, Level level) : base(name, tileWidth, tileHeight, level) { _tiles = new TileStack[TilesHigh, TilesWide]; }
public SyncLevelEventArgs(Level level, LevelPresenter controller) { PreviousLevel = level; PreviousLevelPresenter = controller; }
public void NewDefault() { Project prevProject = _project; if (_project != null) { _project.Modified -= ProjectModifiedHandler; } _project = EmptyProject(); _project.Modified += ProjectModifiedHandler; //_project.Levels.ResourceRemapped += LevelNameChangedHandler; _project.ObjectPoolManager.Pools.Add(new ObjectPool("Default")); _openContent = new List<Guid>(); _levels = new Dictionary<Guid, LevelPresenter>(); Level level = new Level("Level 1", 0, 0, 800, 480); level.Project = _project; level.Layers.Add(new MultiTileGridLayer("Tile Layer 1", 16, 16, 50, 30)); Level level2 = new Level("Level 2", 0, 0, 800, 480); level2.Project = _project; level2.Layers.Add(new MultiTileGridLayer("Tile Layer 1", 32, 32, 25, 15)); LevelPresenter pres = new LevelPresenter(this, level); _levels[level.Uid] = pres; LevelPresenter pres2 = new LevelPresenter(this, level2); _levels[level2.Uid] = pres2; _openContent.Add(level.Uid); _openContent.Add(level2.Uid); _project.Levels.Add(level); _project.Levels.Add(level2); SelectLevel(level.Uid); PropertyListPresenter propList = _presentation.PropertyList as PropertyListPresenter; propList.Provider = level; ContentInfoArbitrationPresenter info = _presentation.ContentInfo as ContentInfoArbitrationPresenter; info.BindInfoPresenter(CurrentLevel.InfoPresenter); Modified = false; Project.ResetModified(); OnSyncCurrentProject(new SyncProjectEventArgs(prevProject)); RefreshEditor(); }
public LevelProperties (Level parent) : base(_reservedPropertyNames) { _parent = parent; }
private static void WriteLevel(ProjectResolver resolver, Level level, string levelPath) { using (Stream stream = resolver.OutputStream(levelPath)) { XmlWriterSettings settings = new XmlWriterSettings() { CloseOutput = true, Indent = true, }; XmlWriter writer = XmlTextWriter.Create(stream, settings); LevelX proxy = Level.ToXProxy(level); XmlSerializer serializer = new XmlSerializer(typeof(LevelX)); serializer.Serialize(writer, proxy); writer.Close(); } }
public static Level FromXProxy (LevelX proxy, Project project) { if (proxy == null) return null; Guid uid = proxy.PropertyGroup != null ? proxy.PropertyGroup.LevelGuid : Guid.NewGuid(); Level level = new Level(uid, proxy.Name); level.Initialize(proxy, project); return level; }
public static LevelX ToXProxy (Level level) { if (level == null) return null; foreach (Layer layer in level.Layers) { if (layer is TileGridLayer) { TileGridLayer tileLayer = layer as TileGridLayer; foreach (LocatedTile tile in tileLayer.Tiles) { if (!level._localTileIndex.ContainsValue(tile.Tile.Uid)) level._localTileIndex.Add(level._indexSequence++, tile.Tile.Uid); } } } List<LevelX.TileIndexEntryX> tileIndexEntries = new List<LevelX.TileIndexEntryX>(); foreach (var item in level._localTileIndex) { tileIndexEntries.Add(new LevelX.TileIndexEntryX() { Id = item.Key, Uid = item.Value, }); } LevelX.TileIndexX tileIndex = new LevelX.TileIndexX() { Entries = tileIndexEntries, Sequence = level._indexSequence, }; List<AbstractXmlSerializer<LevelX.LayerX>> layers = new List<AbstractXmlSerializer<LevelX.LayerX>>(); foreach (Layer layer in level.Layers) { if (layer is MultiTileGridLayer) layers.Add(MultiTileGridLayer.ToXmlProxyX(layer as MultiTileGridLayer)); else if (layer is ObjectLayer) layers.Add(ObjectLayer.ToXmlProxyX(layer as ObjectLayer)); } LevelX.PropertyGroupX propGroup = new LevelX.PropertyGroupX() { LevelGuid = level.Uid, Extra = level.Extra, }; if (level.Project != null) propGroup.ProjectGuid = level.Project.Uid; return new LevelX() { PropertyGroup = propGroup, Name = level.Name, OriginX = level.OriginX, OriginY = level.OriginY, Width = level.Width, Height = level.Height, TileIndex = tileIndex, Layers = layers.Count > 0 ? layers : null, }; }