public CarotADMLCharacter(ADML.Character src, string override_image_filename)
        {
            admlchar = src;

            string srcimage = (override_image_filename!=null)?override_image_filename:src.source;

            //dice up the source image if it hasnt been done yet
            using(Image srcimg = GameEngine.Game.LoadImage(srcimage)) {
                foreach(ADML.View view in src.views.Values) {
                    FrameServer fs = new FrameServer(view);
                    fs.dice(src.tcol, srcimg);
                    view.SetFrameServer(fs);
                }
            }

            tryCreateIdleAnim("l_idle", "l_walk");
            tryCreateIdleAnim("r_idle", "r_walk");
            tryCreateIdleAnim("u_idle", "u_walk");
            tryCreateIdleAnim("d_idle", "d_walk");

            //create the animrecords
            foreach(ADML.Anim anim in admlchar.anims.Values) {
                AnimRecord ar = new AnimRecord();
                ar.admlanim = anim;
                ar.controller = new StandardChrAnimationController(ar.admlanim.str);
                ar.address = int.Parse(ar.admlanim.addr);
                animations[anim.name] = ar;
            }

            //setup the hardcoded animation types
            walkAnims[(int)Directions.w] = findAnim("l_walk");
            walkAnims[(int)Directions.e] = findAnim("r_walk");
            walkAnims[(int)Directions.n] = findAnim("u_walk");
            walkAnims[(int)Directions.s] = findAnim("d_walk");
            idleAnims[(int)Directions.w] = findAnim("l_idle");
            idleAnims[(int)Directions.e] = findAnim("r_idle");
            idleAnims[(int)Directions.n] = findAnim("u_idle");
            idleAnims[(int)Directions.s] = findAnim("d_idle");

            if(walkAnims[(int)Directions.w].admlanim.idle != null)
                idleAnims[(int)Directions.w] = animations["l_idle"];
            if(walkAnims[(int)Directions.e].admlanim.idle != null)
                idleAnims[(int)Directions.e] = animations["r_idle"];
            if(walkAnims[(int)Directions.n].admlanim.idle != null)
                idleAnims[(int)Directions.n] = animations["u_idle"];
            if(walkAnims[(int)Directions.s].admlanim.idle != null)
                idleAnims[(int)Directions.s] = animations["d_idle"];
        }
Example #2
0
        public Policy(XElement elem, ADML adml)
        {
            Name = elem.Attribute("name").Value;

            Class = elem.Attribute("class").Value switch
            {
                "Both" => PolicyClass.Both,
                "Machine" => PolicyClass.Machine,
                "User" => PolicyClass.User,
                _ => throw new XmlException()
            };

            DisplayNameId = elem.Attribute("displayName").Value.Replace("$(string.", "").TrimEnd(')');
            DisplayName   = adml.ConvertString(DisplayNameId);
            ExplainTextId = elem.Attribute("explainText").Value.Replace("$(string.", "").TrimEnd(')');
            ExplainText   = adml.ConvertString(ExplainTextId);
            Key           = elem.Attribute("key")?.Value ?? string.Empty;
            ValueName     = elem.Attribute("valueName")?.Value ?? string.Empty;
            ADMLContent   = elem.ToString();
        }
 public FrameServer(ADML.View view)
 {
     this.view = view;
 }
Example #4
0
 public ADMX(XElement admxDoc, ADML adml)
 {
     this.admxDoc = admxDoc;
     this.adml    = adml;
 }