namespace ns2
{
    using iQuest;
    using ns3;
    using System;
    using System.Collections.Generic;
    using System.Globalization;
    using System.Runtime.CompilerServices;

    internal class Class3
    {
        [CompilerGenerated]
        private byte byte_0;
        [CompilerGenerated]
        private byte byte_1;
        [CompilerGenerated]
        private byte byte_2;
        [CompilerGenerated]
        private byte byte_3;
        [CompilerGenerated]
        private byte byte_4;
        [CompilerGenerated]
        private byte[] byte_5;
        [CompilerGenerated]
        private byte[] byte_6;
        public Dictionary<byte, byte[]> dictionary_0 = new Dictionary<byte, byte[]>();
        public List<Class4> list_0 = new List<Class4>();
        public List<QuestReward> list_1 = new List<QuestReward>();
        public List<Class5> list_2 = new List<Class5>();
        [CompilerGenerated]
        private string string_0;
        [CompilerGenerated]
        private string string_1;
        [CompilerGenerated]
        private string string_2;
        [CompilerGenerated]
        private ushort ushort_0;
        [CompilerGenerated]
        private ushort ushort_1;
        [CompilerGenerated]
        private ushort ushort_2;
        [CompilerGenerated]
        private ushort ushort_3;
        [CompilerGenerated]
        private ushort ushort_4;

        public string method_0()
        {
            string str = "";
            for (int i = 0; i < (this.RewardData.Length - 1); i++)
            {
                str = str + this.RewardData[i].ToString("X2") + " ";
            }
            return (str + this.RewardData[this.RewardData.Length - 1].ToString("X2"));
        }

        public void method_1(string string_3)
        {
            string[] strArray = string_3.Split(new char[] { ' ' });
            if (strArray.Length != 0x12)
            {
                throw new Exception("Incorrect lenght!");
            }
            for (int i = 0; i < strArray.Length; i++)
            {
                this.RewardData[i] = byte.Parse(strArray[i], NumberStyles.HexNumber);
            }
        }

        public string ActionScript
        {
            [CompilerGenerated]
            get
            {
                return this.string_1;
            }
            [CompilerGenerated]
            set
            {
                this.string_1 = value;
            }
        }

        public uint DataLen
        {
            get
            {
                uint num = 0;
                num = 0x268;
                num = (uint) (0x268 + (this.StartScript.Length + 1));
                num += (uint) (this.ActionScript.Length + 1);
                return (num + ((uint) (this.FinishScript.Length + 1)));
            }
        }

        public ushort Description
        {
            [CompilerGenerated]
            get
            {
                return this.ushort_2;
            }
            [CompilerGenerated]
            set
            {
                this.ushort_2 = value;
            }
        }

        public string FinishScript
        {
            [CompilerGenerated]
            get
            {
                return this.string_2;
            }
            [CompilerGenerated]
            set
            {
                this.string_2 = value;
            }
        }

        public ushort ID
        {
            [CompilerGenerated]
            get
            {
                return this.ushort_0;
            }
            [CompilerGenerated]
            set
            {
                this.ushort_0 = value;
            }
        }

        public byte[] ItemData
        {
            [CompilerGenerated]
            get
            {
                return this.byte_6;
            }
            [CompilerGenerated]
            set
            {
                this.byte_6 = value;
            }
        }

        public byte MaxLevel
        {
            [CompilerGenerated]
            get
            {
                return this.byte_1;
            }
            [CompilerGenerated]
            set
            {
                this.byte_1 = value;
            }
        }

        public byte MinLevel
        {
            [CompilerGenerated]
            get
            {
                return this.byte_0;
            }
            [CompilerGenerated]
            set
            {
                this.byte_0 = value;
            }
        }

        public byte MultiQuest
        {
            [CompilerGenerated]
            get
            {
                return this.byte_4;
            }
            [CompilerGenerated]
            set
            {
                this.byte_4 = value;
            }
        }

        public byte NeedClass
        {
            [CompilerGenerated]
            get
            {
                return this.byte_3;
            }
            [CompilerGenerated]
            set
            {
                this.byte_3 = value;
            }
        }

        public byte NeedLevel
        {
            [CompilerGenerated]
            get
            {
                return this.byte_2;
            }
            [CompilerGenerated]
            set
            {
                this.byte_2 = value;
            }
        }

        public ushort Predesessor
        {
            [CompilerGenerated]
            get
            {
                return this.ushort_4;
            }
            [CompilerGenerated]
            set
            {
                this.ushort_4 = value;
            }
        }

        public byte[] RewardData
        {
            [CompilerGenerated]
            get
            {
                return this.byte_5;
            }
            [CompilerGenerated]
            set
            {
                this.byte_5 = value;
            }
        }

        public ushort StartingNPC
        {
            [CompilerGenerated]
            get
            {
                return this.ushort_3;
            }
            [CompilerGenerated]
            set
            {
                this.ushort_3 = value;
            }
        }

        public string StartScript
        {
            [CompilerGenerated]
            get
            {
                return this.string_0;
            }
            [CompilerGenerated]
            set
            {
                this.string_0 = value;
            }
        }

        public ushort Title
        {
            [CompilerGenerated]
            get
            {
                return this.ushort_1;
            }
            [CompilerGenerated]
            set
            {
                this.ushort_1 = value;
            }
        }
    }
}

