/// <summary> /// The Indices class /// </summary> /// <param name="meta">The controls meta data</param> /// <param name="iEntName">The identifying name of the meta string</param> /// <param name="map">The metas map file</param> /// <param name="iOffsetInChunk">The offset to the string in the memory stream</param> /// <param name="iValueType">The value type associated with the Indices /// <para>Available types are:</para> /// <para>��Byte, Short, UShort, Int, UInt, Float, Unknown</para></param> /// <param name="iIndex">The type of data that the value points to /// <para>Available types are:</para> /// <para>��Ident, StringID, Float, Short, UShort, Int, UInt, String32, UnicodeString64, String256, UnicodeString256</para></param> public Indices(Meta meta, string iEntName, Map map, int iOffsetInChunk, IFPIO.ObjectEnum iValueType, IFPIO.Index iIndex) { this.meta = meta; this.LineNumber = iIndex.lineNumber; this.Dock = DockStyle.Top; this.map = map; switch (iValueType) { case IFPIO.ObjectEnum.Byte: this.size = 1; break; case IFPIO.ObjectEnum.Short: case IFPIO.ObjectEnum.UShort: this.size = 2; break; case IFPIO.ObjectEnum.Int: case IFPIO.ObjectEnum.UInt: case IFPIO.ObjectEnum.Float: case IFPIO.ObjectEnum.Unknown: this.size = 4; break; } this.chunkOffset = iOffsetInChunk; this.EntName = iEntName; this._EntIndex = iIndex; this._IndicesList = new List <string>(0); #region Set Block Indice Reference Type switch (this._EntIndex.ItemType.ToLower()) { case "ident": { this._ItemType = IFPIO.ObjectEnum.Ident; // entity.MetaEditor.DataValues.ENTType.ident; break; } case "stringid": { this._ItemType = IFPIO.ObjectEnum.StringID; // entity.MetaEditor.DataValues.ENTType.sid; break; } case "float": { this._ItemType = IFPIO.ObjectEnum.Float; // entity.MetaEditor.DataValues.ENTType.Float; break; } case "short": { this._ItemType = IFPIO.ObjectEnum.Short; // entity.MetaEditor.DataValues.ENTType.Int16; break; } case "ushort": { this._ItemType = IFPIO.ObjectEnum.UShort; // entity.MetaEditor.DataValues.ENTType.Uint16; break; } case "int": { this._ItemType = IFPIO.ObjectEnum.Int; // entity.MetaEditor.DataValues.ENTType.Int32; break; } case "uint": { this._ItemType = IFPIO.ObjectEnum.UInt; // entity.MetaEditor.DataValues.ENTType.UInt32; break; } case "string32": { this._ItemType = IFPIO.ObjectEnum.String32; // entity.MetaEditor.DataValues.ENTType.string32; break; } case "unicodestring64": { this._ItemType = IFPIO.ObjectEnum.UnicodeString64; // entity.MetaEditor.DataValues.ENTType.unicodestring64; break; } case "string256": { this._ItemType = IFPIO.ObjectEnum.String256; // entity.MetaEditor.DataValues.ENTType.string256; break; } case "unicodestring256": { this._ItemType = IFPIO.ObjectEnum.UnicodeString256; // entity.MetaEditor.DataValues.ENTType.unicodestring64; break; } default: { this._ItemType = IFPIO.ObjectEnum.Unknown; // entity.MetaEditor.DataValues.ENTType.nothing; break; } } #endregion InitializeComponent(); switch (iValueType) { case IFPIO.ObjectEnum.Short: { this.label1.Text = "Int16 Block Index"; this._ValueType = IFPIO.ObjectEnum.Short; break; } case IFPIO.ObjectEnum.Int: { this.label1.Text = "Int32 Block Index"; this._ValueType = IFPIO.ObjectEnum.Int; break; } case IFPIO.ObjectEnum.UShort: { this.label1.Text = "Uint16 Block Index"; this._ValueType = IFPIO.ObjectEnum.UShort; break; } case IFPIO.ObjectEnum.UInt: { this.label1.Text = "Uint32 Block Index"; this._ValueType = IFPIO.ObjectEnum.UInt; break; } case IFPIO.ObjectEnum.Byte: { this.label1.Text = "Byte Block Index"; this._ValueType = IFPIO.ObjectEnum.Byte; break; } } this.label2.Text = this.EntName; if (this._EntIndex.reflexiveTagType + this._EntIndex.reflexiveTagName != string.Empty) { System.Windows.Forms.ToolTip toolTip1 = new ToolTip(); toolTip1.IsBalloon = true; toolTip1.AutoPopDelay = 10000; toolTip1.SetToolTip( this.comboBox1, "Label located in [" + this._EntIndex.reflexiveTagType + "] " + this._EntIndex.reflexiveTagName); } }
/// <summary> /// Initializes a new instance of the <see cref="Indices"/> class. /// </summary> /// <param name="iEntName"> /// The i ent name. /// </param> /// <param name="map"> /// The map. /// </param> /// <param name="iOffsetInChunk"> /// The i offset in chunk. /// </param> /// <param name="iValueType"> /// The i value type. /// </param> /// <param name="iIndex"> /// The i index. /// </param> public Indices(string iEntName, Map map, int iOffsetInChunk, IFPIO.ObjectEnum iValueType, IFPIO.Index iIndex) { this.LineNumber = iIndex.lineNumber; this.Dock = DockStyle.Top; this.map = map; this.chunkOffset = iOffsetInChunk; this.EntName = iEntName; this.EntIndex = iIndex; this.tempvalue = new List <string>(0); switch (this.EntIndex.ItemType.ToLower()) { case "ident": { this.ItemType = IFPIO.ObjectEnum.Ident; // Entity.MetaEditor.DataValues.ENTType.ident; break; } case "stringid": { this.ItemType = IFPIO.ObjectEnum.StringID; // Entity.MetaEditor.DataValues.ENTType.sid; break; } case "float": { this.ItemType = IFPIO.ObjectEnum.Float; // Entity.MetaEditor.DataValues.ENTType.Float; break; } case "short": { this.ItemType = IFPIO.ObjectEnum.Short; // Entity.MetaEditor.DataValues.ENTType.Int16; break; } case "ushort": { this.ItemType = IFPIO.ObjectEnum.UShort; // Entity.MetaEditor.DataValues.ENTType.Uint16; break; } case "int": { this.ItemType = IFPIO.ObjectEnum.Int; // Entity.MetaEditor.DataValues.ENTType.Int32; break; } case "uint": { this.ItemType = IFPIO.ObjectEnum.UInt; // Entity.MetaEditor.DataValues.ENTType.UInt32; break; } case "string32": { this.ItemType = IFPIO.ObjectEnum.String32; // Entity.MetaEditor.DataValues.ENTType.string32; break; } case "unicodestring64": { this.ItemType = IFPIO.ObjectEnum.UnicodeString64; // Entity.MetaEditor.DataValues.ENTType.unicodestring64; break; } case "string256": { this.ItemType = IFPIO.ObjectEnum.String256; // Entity.MetaEditor.DataValues.ENTType.string256; break; } case "unicodestring256": { goto case "string256"; } default: { this.ItemType = IFPIO.ObjectEnum.Unknown; // Entity.MetaEditor.DataValues.ENTType.nothing; break; } } InitializeComponent(); switch (iValueType) { case IFPIO.ObjectEnum.Short: { this.label1.Text = "Int16 Block Index"; this.ValueType = IFPIO.ObjectEnum.Short; break; } case IFPIO.ObjectEnum.Int: { this.label1.Text = "Int32 Block Index"; this.ValueType = IFPIO.ObjectEnum.Int; break; } case IFPIO.ObjectEnum.UShort: { this.label1.Text = "Uint16 Block Index"; this.ValueType = IFPIO.ObjectEnum.UShort; break; } case IFPIO.ObjectEnum.UInt: { this.label1.Text = "Uint32 Block Index"; this.ValueType = IFPIO.ObjectEnum.UInt; break; } case IFPIO.ObjectEnum.Byte: { this.label1.Text = "Byte Block Index"; this.ValueType = IFPIO.ObjectEnum.Byte; break; } } this.label2.Text = this.EntName; this.Enter += Indices_Enter; this.Leave += Indices_Leave; }