Beispiel #1
0
    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);
    }
Beispiel #2
0
        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();
        }
Beispiel #3
0
 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);
 }
Beispiel #4
0
 public PlayableScheme(DumpWrapper dump)
 {
     InitFrom(dump);
 }
Beispiel #5
0
    public static void WriteToFile(DumpWrapper schemeDump)
    {
        var path = GetPath(schemeDump.name);

        File.WriteAllText(path, JsonHelper.Serialize(schemeDump));
    }
Beispiel #6
0
 public IActionResult SetDump([FromBody] DumpWrapper dumpWrapper)
 {
     mainService.SetDump(dumpWrapper);
     return(Ok("ok"));
 }