示例#1
0
        public void WriteXML(XElement ele, ElderScrollsPlugin master)
        {
            XElement subEle;

            ele.TryPathTo("Type", true, out subEle);
            subEle.Value = Type.ToString();

            ele.TryPathTo(Arg1Label, true, out subEle);
            if (Arg1Type == null)
            {
                subEle.Value = ((byte[])Argument1).ToHex();
            }
            else if (Arg1Type == typeof(FormID))
            {
                Argument1.WriteXML(subEle, master);
            }
            else if (Arg1Type.IsEnum)
            {
                subEle.Value = Argument1.ToString();
            }
            else
            {
                throw new ArgumentException(Arg1Type.ToString() + " is not handled.");
            }

            ele.TryPathTo(Arg2Label, true, out subEle);
            if (Arg2Type == null)
            {
                subEle.Value = ((byte[])Argument2).ToHex();
            }
            else if (Arg2Type == typeof(FormID))
            {
                Argument2.WriteXML(subEle, master);
            }
            else if (Arg2Type.IsEnum)
            {
                subEle.Value = Argument2.ToString();
            }
            else if (Arg2Type == typeof(uint))
            {
                subEle.Value = Argument2.ToString();
            }
            else
            {
                throw new ArgumentException(Arg2Type.ToString() + " is not handled.");
            }
        }
示例#2
0
        /// <summary>
        /// Formats the instruction as string.
        /// <example>
        /// ADD (x), x, 2
        /// </example>
        /// </summary>
        /// <returns>A string representing the instruction</returns>
        public override string ToString()
        {
            StringBuilder sb = new StringBuilder();

            sb.Append(Mnemonic);
            sb.Append(' ');
            sb.Append(Argument1.ToString());
            if (Argument2.Type != ArgumentType.None)
            {
                sb.Append(", ");
                sb.Append(Argument2.ToString());
            }
            if (Argument3.Type != ArgumentType.None)
            {
                sb.Append(", ");
                sb.Append(Argument3.ToString());
            }
            return(sb.ToString());
        }