public override void Save(IContentDescriptor descriptor, IDataManagerArguments arguments) { PlayerDescriptor playerDescriptor = ((PlayerDescriptor)descriptor); using (var fileStream = new FileStream(this.RootPath + playerDescriptor.Name + EngineConstants.ACC_FILE_EXT, FileMode.OpenOrCreate)) { using (var binaryWriter = new BinaryWriter(fileStream)) { binaryWriter.Write(playerDescriptor.Name); binaryWriter.Write(playerDescriptor.Password); binaryWriter.Write(playerDescriptor.SpriteSheet.Sprite.TextureName); binaryWriter.Write(playerDescriptor.SpriteSheet.FrameWidth); binaryWriter.Write(playerDescriptor.SpriteSheet.FrameHeight); binaryWriter.Write(playerDescriptor.Speed); binaryWriter.Write(playerDescriptor.Stats.Health); binaryWriter.Write(playerDescriptor.Stats.CurrentHealth); binaryWriter.Write(playerDescriptor.Stats.Strength); binaryWriter.Write(playerDescriptor.Stats.Intelligence); binaryWriter.Write(playerDescriptor.Stats.Dexterity); binaryWriter.Write(playerDescriptor.Stats.Defense); binaryWriter.Write(playerDescriptor.Level); binaryWriter.Write(playerDescriptor.Position.X); binaryWriter.Write(playerDescriptor.Position.Y); binaryWriter.Write(playerDescriptor.MapID); binaryWriter.Write(playerDescriptor.Role.Name); binaryWriter.Write(playerDescriptor.Role.Level); binaryWriter.Write(playerDescriptor.Reach.X); binaryWriter.Write(playerDescriptor.Reach.Y); } } }
public override void Save(IContentDescriptor descriptor, IDataManagerArguments arguments) { var npcDesc = (NPCDescriptor)descriptor; string filePath = this.RootPath + (arguments as ContentFileDataLoaderArguments).FileName + EngineConstants.NPC_FILE_EXT; using (var fileStream = new FileStream(filePath, FileMode.OpenOrCreate)) { using (var binaryWriter = new BinaryWriter(fileStream)) { binaryWriter.Write(npcDesc.Name); binaryWriter.Write(npcDesc.Level); binaryWriter.Write(npcDesc.Speed); binaryWriter.Write(npcDesc.Stats.Strength); binaryWriter.Write(npcDesc.Stats.Defense); binaryWriter.Write(npcDesc.Stats.Dexterity); binaryWriter.Write(npcDesc.Stats.CurrentHealth); binaryWriter.Write(npcDesc.Stats.Intelligence); binaryWriter.Write(npcDesc.Stats.Health); binaryWriter.Write(npcDesc.CollisionBounds.X); binaryWriter.Write(npcDesc.CollisionBounds.Y); binaryWriter.Write(npcDesc.CollisionBounds.Width); binaryWriter.Write(npcDesc.CollisionBounds.Height); binaryWriter.Write(npcDesc.AggresiveRange); binaryWriter.Write(npcDesc.TexturePath); binaryWriter.Write(npcDesc.MaxRoam.X); binaryWriter.Write(npcDesc.MaxRoam.Y); binaryWriter.Write(npcDesc.FrameSize.X); binaryWriter.Write(npcDesc.FrameSize.Y); binaryWriter.Write(npcDesc.Reach.X); binaryWriter.Write(npcDesc.Reach.Y); binaryWriter.Write(npcDesc.Scripts.Count); foreach (var script in npcDesc.Scripts) { binaryWriter.Write(script); } binaryWriter.Write(npcDesc.Dialogue); binaryWriter.Write(npcDesc.DialogueBranch); } } }
public override void Save(IContentDescriptor descriptor, IDataManagerArguments arguments) { var mapDesc = (IMapDescriptor <ILayerDescriptor <ITileDescriptor <SpriteInfo> > >)descriptor; string filePath = this.RootPath + (arguments as ContentFileDataLoaderArguments).FileName + EngineConstants.MAP_FILE_EXT; using (var fileStream = new FileStream(filePath, FileMode.OpenOrCreate)) { using (var bW = new BinaryWriter(fileStream)) { bW.Write(mapDesc.TilesetPaths.Count); foreach (var tilesetPath in mapDesc.TilesetPaths) { bW.Write(tilesetPath); } bW.Write(mapDesc.Name); bW.Write((int)mapDesc.Dimensions.X); bW.Write((int)mapDesc.Dimensions.Y); bW.Write(mapDesc.Dark); bW.Write(mapDesc.Layers.Count); foreach (var layer in mapDesc.Layers) { bW.Write(layer.Name); bW.Write(layer.LayerIndex); for (int x = 0; x < layer.Tiles.GetLength(0); x++) { for (int y = 0; y < layer.Tiles.GetLength(1); y++) { if (layer.Tiles[x, y] != null) { bW.Write(true); if (layer.Tiles[x, y].Attribute == null) { bW.Write(false); } else { bW.Write(true); var attributeData = layer.Tiles[x, y].Attribute.Serialize(); bW.Write(attributeData.Length); bW.Write(attributeData); } if (layer.Tiles[x, y].Sprite != null) { bW.Write(true); bW.Write(layer.Tiles[x, y].Animated); bW.Write(layer.Tiles[x, y].LightSource); bW.Write(layer.Tiles[x, y].Sprite.TextureName); bW.Write(layer.Tiles[x, y].Sprite.Transform.LayerDepth); bW.Write(layer.Tiles[x, y].Sprite.Transform.Color.R); bW.Write(layer.Tiles[x, y].Sprite.Transform.Color.G); bW.Write(layer.Tiles[x, y].Sprite.Transform.Color.B); bW.Write(layer.Tiles[x, y].Sprite.Transform.Color.A); bW.Write(layer.Tiles[x, y].Sprite.Transform.Rect.X); bW.Write(layer.Tiles[x, y].Sprite.Transform.Rect.Y); bW.Write(layer.Tiles[x, y].Sprite.Transform.Rect.Width); bW.Write(layer.Tiles[x, y].Sprite.Transform.Rect.Height); bW.Write(layer.Tiles[x, y].FrameCount); } else { bW.Write(false); } } else { bW.Write(false); } } } } } } }
public override void Save(IContentDescriptor descriptor, IDataManagerArguments arguments) { throw new NotImplementedException(); }
public abstract void Save(IContentDescriptor descriptor, IDataManagerArguments arguments);
public ContentBindings(IContentDescriptor contentInfo, string contentViewPath, object contentViewModel, bool editable = false) : this(contentInfo) { ViewPath = contentViewPath; ViewModel = contentViewModel; Editable = editable; }
public ContentBindings(IContentDescriptor contentInfo) { ContentType = contentInfo.ContentType; ContentId = contentInfo.ContentId; VersionCode = contentInfo.VersionCode; }