Exemplo n.º 1
0
        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);
                }
            }
        }
Exemplo n.º 2
0
        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);
                }
            }
        }
Exemplo n.º 3
0
        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);
                                }
                            }
                        }
                    }
                }
            }
        }
Exemplo n.º 4
0
 public override void Save(IContentDescriptor descriptor, IDataManagerArguments arguments)
 {
     throw new NotImplementedException();
 }
Exemplo n.º 5
0
 public abstract void Save(IContentDescriptor descriptor, IDataManagerArguments arguments);
Exemplo n.º 6
0
 public ContentBindings(IContentDescriptor contentInfo, string contentViewPath, object contentViewModel, bool editable = false) : this(contentInfo)
 {
     ViewPath  = contentViewPath;
     ViewModel = contentViewModel;
     Editable  = editable;
 }
Exemplo n.º 7
0
 public ContentBindings(IContentDescriptor contentInfo)
 {
     ContentType = contentInfo.ContentType;
     ContentId   = contentInfo.ContentId;
     VersionCode = contentInfo.VersionCode;
 }