public DumpWrapper Dump() { var ret = new DumpWrapper(); ret.name = Name; ret.minimalPLMDump = minimalPlayablePLM; ret.canvasDump = CanvasConfig.StaticSerialize(canvasConfig); ret.matchRuleDumps = matchRules.SchemeStyleMap <RuleMatchBasic, string>((r) => { return(RuleMatchBasic.StaticSerialize(r)); }); ret.operationRuleDumps = operationRules.SchemeStyleMap <RuleOperation, string>((r) => { return(RuleOperation.StaticSerialize(r)); }); ret.extensionRuleDumps = extensionRules.SchemeStyleMap <RuleMatchExtension, string>((r) => { return(RuleMatchExtension.StaticSerialize(r)); }); ret.scoreRuleDumps = scoreRules.SchemeStyleMap <RuleScore, string>((r) => { return(RuleScore.StaticSerialize(r)); }); ret.refillRuleDump = RuleRefill.StaticSerialize(refillRule); ret.traitDumps = slotConfig.Traits.SchemeStyleMap <SlotTrait, string>((t) => { return(SlotTrait.StaticSerialize(t)); }); ret.specialDumps = new List <string>(); foreach (var kvp in slotConfig.Specials) { ret.specialDumps.Add(SlotSpecialty.StaticSerialize(kvp.Value)); } return(ret); }
public void SetDump(DumpWrapper dumpWrapper) { ClearDb(); mainContext.Arts.AddRange(dumpWrapper.Arts); //mainContext.Users.AddRange(dumpWrapper.Users); mainContext.Medias.AddRange(dumpWrapper.Medias); mainContext.Settings.AddRange(dumpWrapper.Settings); mainContext.Texts.AddRange(dumpWrapper.Texts); if (!Directory.Exists("medias")) { Directory.CreateDirectory("medias"); } if (!Directory.Exists("thumbnails")) { Directory.CreateDirectory("thumbnails"); } int id = 1; foreach (var item in dumpWrapper.MediaBase64) { string filename = id + ""; string saveImagePath = ("medias/") + filename; File.WriteAllBytes(saveImagePath, Convert.FromBase64String(item)); string saveThumbnPath = ("thumbnails/") + filename + ".jpg"; File.WriteAllBytes(saveThumbnPath, Convert.FromBase64String(item)); id++; } mainContext.SaveChanges(); }
private void InitFrom(DumpWrapper dump) { Name = dump.name; minimalPlayablePLM = dump.minimalPLMDump; canvasConfig = CanvasConfig.StaticDeserialize(dump.canvasDump); slotConfig = new SlotConfig(); slotConfig.Init(dump.traitDumps, dump.specialDumps); matchRules = dump.matchRuleDumps.SchemeStyleMap <string, RuleMatchBasic>((str) => { return(RuleMatchBasic.StaticDeserialize(str)); }); operationRules = dump.operationRuleDumps.SchemeStyleMap <string, RuleOperation>((str) => { return(RuleOperation.StaticDeserialize(str)); }); extensionRules = dump.extensionRuleDumps.SchemeStyleMap <string, RuleMatchExtension>((str) => { return(RuleMatchExtension.StaticDeserialize(str)); }); scoreRules = dump.scoreRuleDumps.SchemeStyleMap <string, RuleScore>((str) => { return(RuleScore.StaticDeserialize(str)); }); refillRule = RuleRefill.StaticDeserialize(dump.refillRuleDump); }
public PlayableScheme(DumpWrapper dump) { InitFrom(dump); }
public static void WriteToFile(DumpWrapper schemeDump) { var path = GetPath(schemeDump.name); File.WriteAllText(path, JsonHelper.Serialize(schemeDump)); }
public IActionResult SetDump([FromBody] DumpWrapper dumpWrapper) { mainService.SetDump(dumpWrapper); return(Ok("ok")); }