Example #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);
    }
 /// <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;
 }
Example #3
0
	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();
	}
Example #4
0
    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();
    }
Example #5
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);
 }
Example #6
0
 public static string StaticSerialize(RuleOperation r)
 {
     return(JsonHelper.Serialize(new Tuple <string, string>(r.SerializeUID, r.Serialize())));
 }
Example #7
0
	public static string StaticSerialize(RuleOperation r)
	{
		return JsonHelper.Serialize(new Tuple<string, string>(r.SerializeUID, r.Serialize()));
	}