示例#1
0
        public void Initialize(CustomizedEnum customizedEnum, CustomizedEnum.CustomizedEnumMember enumMember)
        {
            _initialized = false;
            _isModified = false;
            _customizedEnum = customizedEnum;
            _originalMember = enumMember;
            if (enumMember == null)
            {
                _isNew = true;
                _enumMember = new CustomizedEnum.CustomizedEnumMember(enumMember);
            }
            else
            {
                _isNew = false;
                _enumMember = enumMember;
            }

            this.nameTextBox.Text = _enumMember.Name;
            this.valueNumericUpDown.Value = _enumMember.Value;
            this.dispTextBox.Text = _enumMember.DisplayName;
            this.descTextBox.Text = _enumMember.Description;

            _initialized = true;
        }
示例#2
0
        private static void LoadCustomTypes(XmlNode rootNode) {
            if (rootNode == null)
            { return; }

            CustomizedTypeManager.Instance.Enums.Clear();
            CustomizedTypeManager.Instance.Structs.Clear();

            foreach(XmlNode xmlNode in rootNode.ChildNodes) {
                if (xmlNode.Name == "enumtype") {
                    string enumName = GetAttribute(xmlNode, "Type");
                    string[] enumNames = enumName.Split(new char[] { ':' }, StringSplitOptions.RemoveEmptyEntries);
                    enumName = enumNames[enumNames.Length - 1];

                    string displayName = GetAttribute(xmlNode, "DisplayName");
                    string desc = GetAttribute(xmlNode, "Desc");

                    CustomizedEnum customizedEnum = new CustomizedEnum(null);
                    customizedEnum.Name = enumName;
                    customizedEnum.DisplayName = displayName;
                    customizedEnum.Description = desc;

                    foreach(XmlNode memberNode in xmlNode.ChildNodes) {
                        if (memberNode.Name == "enum") {
                            string memberName = GetAttribute(memberNode, "Value");
                            string[] memberNames = memberName.Split(new char[] { ':' }, StringSplitOptions.RemoveEmptyEntries);
                            memberName = memberNames[memberNames.Length - 1];

                            string memberDisplayName = GetAttribute(memberNode, "DisplayName");
                            string memberDesc = GetAttribute(memberNode, "Desc");
                            string memberValue = GetAttribute(memberNode, "MemberValue");

                            CustomizedEnum.CustomizedEnumMember enumMember = new CustomizedEnum.CustomizedEnumMember(null);
                            enumMember.Name = memberName;
                            enumMember.DisplayName = memberDisplayName;
                            enumMember.Description = memberDesc;

                            try {
                                enumMember.Value = int.Parse(memberValue);

                            } catch {
                                enumMember.Value = -1;
                            }

                            customizedEnum.Members.Add(enumMember);
                        }
                    }

                    CustomizedTypeManager.Instance.Enums.Add(customizedEnum);

                } else if (xmlNode.Name == "struct") {
                    string structName = GetAttribute(xmlNode, "Type");
                    string[] structNames = structName.Split(new char[] { ':' }, StringSplitOptions.RemoveEmptyEntries);
                    structName = structNames[structNames.Length - 1];

                    string displayName = GetAttribute(xmlNode, "DisplayName");
                    string desc = GetAttribute(xmlNode, "Desc");

                    CustomizedStruct customizedStruct = new CustomizedStruct(null);
                    customizedStruct.Name = structName;
                    customizedStruct.DisplayName = displayName;
                    customizedStruct.Description = desc;

                    foreach(XmlNode memberNode in xmlNode.ChildNodes) {
                        if (memberNode.Name == "Member") {
                            string memberName = GetAttribute(memberNode, "Name");
                            string[] memberNames = memberName.Split(new char[] { ':' }, StringSplitOptions.RemoveEmptyEntries);
                            memberName = memberNames[memberNames.Length - 1];

                            string memberType = GetAttribute(memberNode, "Type");
                            Type type = Plugin.GetTypeFromName(memberType);
                            string memberDisplayName = GetAttribute(memberNode, "DisplayName");
                            string memberDesc = GetAttribute(memberNode, "Desc");

                            PropertyDef structProp = new PropertyDef(null, type, structName, memberName, memberDisplayName, memberDesc);
                            customizedStruct.Properties.Add(structProp);
                        }
                    }

                    CustomizedTypeManager.Instance.Structs.Add(customizedStruct);
                }
            }
        }