ArtemisComm.SystemNode.Initialize C# (CSharp) Method

Initialize() private method

private Initialize ( Stream stream, int index ) : void
stream Stream
index int
return void
        void Initialize(Stream stream, int index)
        {
            if (stream != null)
            {
                bool isDone = false;
                stream.Position = index;
                if (Convert.ToByte(stream.ReadByte()) == 255)
                {
                    isDone = true;
                    return;
                }
                stream.Position = index++;
                if (index < stream.Length && !isDone )
                {
                    X = Convert.ToByte(stream.ReadByte());

                    if (Convert.ToByte(stream.ReadByte()) == 255)
                    {
                        isDone = true;
                        return;
                    }
                    stream.Position = ++index;
                }


                if (index < stream.Length && !isDone)
                {
                    Y = Convert.ToByte(stream.ReadByte());

                    if (Convert.ToByte(stream.ReadByte()) == 255)
                    {
                        isDone = true;
                        return;
                    }
                    stream.Position = ++index;
                }
                if (index < stream.Length && !isDone)
                {
                    Z = Convert.ToByte(stream.ReadByte());

                    if (Convert.ToByte(stream.ReadByte()) == 255)
                    {
                        isDone = true;
                        return;
                    }
                    stream.Position = ++index;
                }
                if (index < stream.Length - 4 && !isDone)
                {
                    byte[] buffer = new byte[4];
                   
                        stream.Read(buffer, 0, 4);
                   
                    Damage = BitConverter.ToSingle(buffer, 0);
                }
                else
                {
                    isDone = true; 
                }
            }
        }
        //This contains a list of system nodes, terminated with 0xff. Each system node is formatted as follows: