public static ContentConfiguration <T> GetFromRootElement(XElement elemRoot, XName name)
    {
        ContentConfiguration <T> output;

        if (elemRoot.Element(name).Elements().Count() == 0)
        {
            output          = new MaterialConfiguration <T>();
            output.nodeName = name.LocalName;
            return(output);
        }
        switch (elemRoot.Element(name).Elements().First().Name.LocalName)
        {
        case "material":
            output = new MaterialConfiguration <T>();
            break;

        case "tiletype":
            output = new TileConfiguration <T>();
            break;

        case "random":
            output = new RandomConfiguration <T>();
            break;

        case "ramp":
            output = new RampConfiguration <T>();
            break;

        case "item":
            output = new ItemConfiguration <T>();
            break;

        default:
            Debug.LogError("Found unknown matching method \"" + elemRoot.Element(name).Elements().First().Name.LocalName + "\", assuming material.");
            output = new MaterialConfiguration <T>();
            break;
        }
        output.nodeName = name.LocalName;
        return(output);
    }
Ejemplo n.º 2
0
    public static TileConfiguration <T> GetFromRootElement(XElement elemRoot, XName name)
    {
        TileConfiguration <T> output;

        if (elemRoot.Element(name).Elements().Count() == 0)
        {
            output          = new TileMaterialConfiguration <T>();
            output.nodeName = name.LocalName;
            return(output);
        }
        string   matchType    = "NoMatch";
        XElement matchElement = elemRoot.Element(name).Elements().First();

        foreach (var element in elemRoot.Element(name).Elements())
        {
            if (element.Name.LocalName == "subObject")
            {
                continue;
            }
            matchType    = element.Name.LocalName;
            matchElement = element;
            break;
        }
        switch (matchType)
        {
        case "material":
            output = new TileMaterialConfiguration <T>();
            break;

        case "tiletype":
            output = new TileTypeConfiguration <T>();
            break;

        case "random":
            output = new RandomConfiguration <T>();
            break;

        case "ramp":
            output = new RampConfiguration <T>();
            break;

        case "item":
            if (ItemTokenList.IsValid)
            {
                output = new ItemConfiguration <T>();
            }
            else
            {
                Debug.LogError("Item Types not available in this version of Remotefortressreader. Please upgrade.");
                output = new TileMaterialConfiguration <T>();
            }
            break;

        case "growth":
            output = new PlantGrowthConfiguration <T>();
            break;

        case "designation":
            output = new TileDesignationConfiguration <T>();
            break;

        case "coverage":
            output = new CoverageConfiguration <T>();
            break;

        default:
            IXmlLineInfo lineinfo = matchElement;
            Debug.LogError("Found unknown matching method \"" + matchType + "\" int " + elemRoot.BaseUri + ":" + lineinfo.LineNumber + "," + lineinfo.LinePosition + ", assuming material.");
            output = new TileMaterialConfiguration <T>();
            break;
        }
        output.nodeName = name.LocalName;
        return(output);
    }
        public override string Populate(RandomConfiguration config)
        {
            string reg1 = config.RandomWriteRegister();

            return(Get(new[] { config.RandomReadRegister(), reg1 }));
        }
Ejemplo n.º 4
0
 public override string Populate(RandomConfiguration config)
 {
     string reg  = config.RandomWriteRegister();
     string ins1 = Instruction.Get("andi", new[]
Ejemplo n.º 5
0
 public override string Populate(RandomConfiguration config)
 {
     return(Get(new[] { config.RandomReadRegister(), config.RandomLabel() }));
 }
Ejemplo n.º 6
0
 public override string Populate(RandomConfiguration config)
 {
     return(Get(new[] { config.RandomWriteRegister(), config.RandomReadRegister(), _signed ? config.RandomSignedImmediate() : config.Random16BitImmediate(max) }));
 }
Ejemplo n.º 7
0
 public override string Populate(RandomConfiguration config)
 {
     return(Get(new[] { config.RandomWriteRegister() }));
 }