entity.MetaEditor2.Bitmask.BaseField_Leave C# (CSharp) Méthode

BaseField_Leave() public méthode

public BaseField_Leave ( object sender, EventArgs e ) : void
sender object
e System.EventArgs
Résultat void
        public override void BaseField_Leave(object sender, EventArgs e)
        {
            System.IO.BinaryWriter BW = new System.IO.BinaryWriter(meta.MS);
            if (map.Functions.ForMeta.FindMetaByOffset(((Bitmask)this).offsetInMap) == meta.TagIndex)
            {
                BW.BaseStream.Position = this.offsetInMap - meta.offset;
            }
            else
            {
                //((WinMetaEditor)this.TopLevelControl).ExternalData.Items.Add();
            }

            try
            {
                uint intToShift = 1;
                uint tempIntToWrite = 0;
                for (int counter = 0; counter < this.bitCount; counter++)
                {
                    if (this.Bits[counter] == true)
                    {
                        tempIntToWrite += intToShift;
                    }
                    intToShift <<= 1;
                }
                this.value = tempIntToWrite;
                switch (this.bitCount)
                {
                    case 8:
                        {
                            BW.Write(Convert.ToByte(this.value));
                            break;
                        }
                    case 16:
                        {
                            BW.Write(Convert.ToUInt16(this.value));
                            break;
                        }
                    case 32:
                        {
                            BW.Write(Convert.ToUInt32(this.value));
                            break;
                        }
                }
            }
            catch
            {
                MessageBox.Show("Man the hatches! Error in writing bitmask info to map!");
            }
        }