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); }
/// <summary> /// Set operation property by the index of a given opeation enumerator. /// </summary> /// <param name="operations">Operation enumerator.</param> void SetOperationByIndex(IEnumerator <RuleOperation> operations) { operations.Reset(); for (int i = 0; i <= this.operationIndex; i++) { operations.MoveNext(); } this.operation = operations.Current; }
private static bool CheckOperationRule(RuleOperation rule, out string reason) { reason = ""; var r1 = rule as RuleOperation2D_Rectangular; if (null != r1) { if (r1.xRelative == 0 && r1.yRelative == 0) { reason = "Illegal Operation Rule!"; return false; } return true; } throw new NotImplementedException(); }
private static bool CheckOperationRule(RuleOperation rule, out string reason) { reason = ""; var r1 = rule as RuleOperation2D_Rectangular; if (null != r1) { if (r1.xRelative == 0 && r1.yRelative == 0) { reason = "Illegal Operation Rule!"; return(false); } return(true); } throw new NotImplementedException(); }
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 static string StaticSerialize(RuleOperation r) { return(JsonHelper.Serialize(new Tuple <string, string>(r.SerializeUID, r.Serialize()))); }
public static string StaticSerialize(RuleOperation r) { return JsonHelper.Serialize(new Tuple<string, string>(r.SerializeUID, r.Serialize())); }