protected override void Save(IniKeyCollection iniData, NinepatchLayer data, LayerHandlerContext context) { iniData.Add("top", data.Top); iniData.Add("bottom", data.Bottom); iniData.Add("left", data.Left); iniData.Add("right", data.Right); }
protected override TooltipLayer Load(IniKeyCollection iniData, LayerHandlerContext context) { return(new TooltipLayer { Text = Encoding.UTF8.GetString(context.LoadExternalFile(TextFileKey)) }); }
protected override void Save(IniKeyCollection iniData, AudioLayer data, LayerHandlerContext context) { iniData.Add("id", data.Id); iniData.Add("volume", data.BaseVolume); context.SaveExternalFile(AudioFileKey, data.Data); }
protected override void Save(IniKeyCollection iniData, TileLayer data, LayerHandlerContext context) { iniData.Add("type", data.Type); iniData.Add("id", data.Id); iniData.Add("weight", data.Weight); context.SaveExternalFile(ImageFileKey, data.ImageData); }
protected override CodeLayer Load(IniKeyCollection iniData, LayerHandlerContext context) { return(new CodeLayer { Name = iniData.GetString("name"), ByteCode = context.LoadExternalFile(ClassFileKey) }); }
protected override void Save(IniKeyCollection iniData, ImageLayer data, LayerHandlerContext context) { iniData.Add("id", data.Id); iniData.Add("z", data.Z); iniData.Add("subz", data.SubZ); iniData.Add("off", data.Offset); context.SaveExternalFile(ImageFileKey, data.Data); }
protected override AudioLayer Load(IniKeyCollection iniData, LayerHandlerContext context) { return(new AudioLayer { Id = iniData.GetString("id"), BaseVolume = iniData.GetDouble("volume", 1.0), Data = context.LoadExternalFile(AudioFileKey) }); }
protected override NinepatchLayer Load(IniKeyCollection iniData, LayerHandlerContext context) { return(new NinepatchLayer { Top = iniData.GetByte("top", 0), Bottom = iniData.GetByte("bottom", 0), Left = iniData.GetByte("left", 0), Right = iniData.GetByte("right", 0) }); }
protected override TileLayer Load(IniKeyCollection iniData, LayerHandlerContext context) { return(new TileLayer { ImageData = context.LoadExternalFile(ImageFileKey), Type = iniData.GetChar("type"), Id = iniData.GetByte("id"), Weight = iniData.GetUInt16("weight", 0) }); }
protected override void Save(IniKeyCollection iniData, CodeEntryLayer data, LayerHandlerContext context) { foreach (var entry in data.Entries) { iniData.Add("entry", $"{entry.Name}:{entry.ClassName}"); } foreach (var classpath in data.Classpath) { iniData.Add("ref", $"{classpath.Name}:{classpath.Version}"); } }
protected override ImageLayer Load(IniKeyCollection iniData, LayerHandlerContext context) { return(new ImageLayer { Id = iniData.GetInt16("id", -1), Z = iniData.GetInt16("z", 0), SubZ = iniData.GetInt16("subz", 0), Offset = iniData.GetPoint("off", Point2D.Empty), Data = context.LoadExternalFile(ImageFileKey), }); }
public void Save(IniKeyCollection iniData, object data, LayerHandlerContext context) { if (data == null) { throw new ArgumentNullException(nameof(data)); } using (var ms = new MemoryStream()) using (var buffer = new BinaryDataWriter(ms)) { binaryHandler.Serialize(buffer, data); ms.Position = 0; context.SaveExternalFile(DataFileKey, ms.ToArray()); } }
protected override void Save(IniKeyCollection iniData, TexLayer data, LayerHandlerContext context) { context.SaveExternalFile(ImageFileKey, data.ImageData); if (data.MaskImageData != null) { context.SaveExternalFile(MaskFileKey, data.MaskImageData); } iniData.Add("id", data.Id); iniData.Add("off", data.Offset); iniData.Add("size", data.Size); iniData.Add("magfilter", data.MagFilter.ToString()); iniData.Add("minfilter", data.MinFilter.ToString()); iniData.Add("mipmap", data.Mipmap.ToString()); }
protected override void Save(IniKeyCollection iniData, ActionLayer data, LayerHandlerContext context) { iniData.Add("name", data.Name); iniData.Add("hotkey", data.Hotkey); if (!data.Parent.IsEmpty()) { iniData.Add("parent", $"{data.Parent.Name}:{data.Parent.Version}"); } if (!string.IsNullOrEmpty(data.Prerequisite)) { iniData.Add("prereq", data.Prerequisite); } if (data.Verbs != null && data.Verbs.Length > 0) { iniData.Add("verbs", string.Join(",", data.Verbs)); } }
protected override ActionLayer Load(IniKeyCollection iniData, LayerHandlerContext context) { var data = new ActionLayer(); data.Name = iniData.GetString("name"); data.Hotkey = iniData.GetChar("hotkey"); var parent = iniData.GetString("parent", ""); if (!string.IsNullOrEmpty(parent)) { var parts = parent.Split(':'); data.Parent = new ResourceRef(parts[0], ushort.Parse(parts[1])); } data.Prerequisite = iniData.GetString("prereq", string.Empty); data.Verbs = iniData.GetString("verbs", "")?.Split(','); return(data); }
protected override TexLayer Load(IniKeyCollection iniData, LayerHandlerContext context) { var data = new TexLayer(); data.Id = iniData.GetInt16("id", -1); data.ImageData = context.LoadExternalFile(ImageFileKey); data.MaskImageData = context.HasExternalFile(MaskFileKey) ? context.LoadExternalFile(MaskFileKey) : null; data.Offset = iniData.GetPoint("off", Point2D.Empty); data.Size = iniData.GetPoint("size"); data.Mipmap = iniData.GetEnum("mipmap", TexMipmap.None); data.MagFilter = iniData.GetEnum("magfilter", TexMagFilter.Nearest); var defaultMinFilter = (data.Mipmap != TexMipmap.None) ? TexMinFilter.LinearMipmapLinear : TexMinFilter.Linear; data.MinFilter = iniData.GetEnum("minfilter", defaultMinFilter); return(data); }
protected override CodeEntryLayer Load(IniKeyCollection iniData, LayerHandlerContext context) { var entries = new List <CodeEntry>(); var refs = new List <ResourceRef>(); foreach (var key in iniData) { switch (key.Name.ToLower()) { case "entry": { var parts = key.Value.Split(':'); if (parts.Length != 2) { throw new FormatException("Invalid entry: " + key.Value); } entries.Add(new CodeEntry(parts[0], parts[1])); break; } case "ref": { var parts = key.Value.Split(':'); if (parts.Length != 2) { throw new FormatException("Invalid ref: " + key.Value); } refs.Add(new ResourceRef(parts[0], ushort.Parse(parts[1]))); break; } } } return(new CodeEntryLayer { Entries = entries.ToArray(), Classpath = refs.ToArray() }); }
protected override TilesetLayer Load(IniKeyCollection iniData, LayerHandlerContext context) { return(new TilesetLayer { HasTransitions = iniData.GetBool("has_transitions", false) }); }
protected override void Save(IniKeyCollection iniData, TooltipLayer data, LayerHandlerContext context) { context.SaveExternalFile(TextFileKey, Encoding.UTF8.GetBytes(data.Text)); }
protected override void Save(IniKeyCollection iniData, TilesetLayer data, LayerHandlerContext context) { iniData.Add("has_transitions", data.HasTransitions.ToString()); }
protected override void Save(IniKeyCollection iniData, CodeLayer data, LayerHandlerContext context) { iniData.Add("name", data.Name); context.SaveExternalFile(ClassFileKey, data.ByteCode); }
protected override FontLayer Load(IniKeyCollection iniData, LayerHandlerContext context) { return(new FontLayer { Data = context.LoadExternalFile(FontFileKey) }); }
protected override void Save(IniKeyCollection iniData, FontLayer data, LayerHandlerContext context) { context.SaveExternalFile(FontFileKey, data.Data); }
public object Load(IniKeyCollection iniData, LayerHandlerContext context) { using (var reader = new BinaryDataReader(context.LoadExternalFile(DataFileKey))) return(binaryHandler.Deserialize(reader)); }