示例#1
0
        public CarGen(string oplstr)
        {
            OPLStr = oplstr;
            string[] parts = oplstr.Split(',');

            PosX          = float.Parse(parts[0].Trim(), CultureInfo.InvariantCulture);
            PosY          = float.Parse(parts[1].Trim(), CultureInfo.InvariantCulture);
            PosZ          = float.Parse(parts[2].Trim(), CultureInfo.InvariantCulture);
            RotX          = float.Parse(parts[3].Trim(), CultureInfo.InvariantCulture);
            RotY          = float.Parse(parts[4].Trim(), CultureInfo.InvariantCulture);
            Length        = float.Parse(parts[5].Trim(), CultureInfo.InvariantCulture);
            ModelName     = parts[6].Trim().ToLowerInvariant();
            CarColor1     = int.Parse(parts[7].Trim(), CultureInfo.InvariantCulture);
            CarColor2     = int.Parse(parts[8].Trim(), CultureInfo.InvariantCulture);
            CarColor3     = int.Parse(parts[9].Trim(), CultureInfo.InvariantCulture);
            SpecularColor = int.Parse(parts[10].Trim(), CultureInfo.InvariantCulture);
            Flags         = uint.Parse(parts[11].Trim(), CultureInfo.InvariantCulture);
            Alarm         = int.Parse(parts[12].Trim(), CultureInfo.InvariantCulture);
            Unk2          = int.Parse(parts[13].Trim(), CultureInfo.InvariantCulture);

            //if (model.StartsWith("hash:"))
            //{
            //    ModelName = model.Substring(5);
            //    if (ModelName == "0") ModelName = string.Empty;
            //}
            //else
            //{
            //    ModelName = model;
            //}
            if (ModelName.StartsWith("hash:"))
            {
                string[] hparts = ModelName.Split(':');
                uint     hash;
                if (uint.TryParse(hparts[1].Trim(), out hash))
                {
                    string str = JenkIndex.TryGetString(hash);
                    if (!string.IsNullOrEmpty(str))
                    {
                        ModelName = str.ToLowerInvariant();
                    }
                    else
                    {
                        ModelName = "hash_" + hash.ToString("X").ToLowerInvariant();
                    }
                }
            }
        }
示例#2
0
        public Entity(string oplstr)
        {
            OPLStr = oplstr;
            string[] parts = oplstr.Split(',');

            PosX        = float.Parse(parts[0].Trim(), CultureInfo.InvariantCulture);
            PosY        = float.Parse(parts[1].Trim(), CultureInfo.InvariantCulture);
            PosZ        = float.Parse(parts[2].Trim(), CultureInfo.InvariantCulture);
            RotX        = float.Parse(parts[3].Trim(), CultureInfo.InvariantCulture);
            RotY        = float.Parse(parts[4].Trim(), CultureInfo.InvariantCulture);
            RotZ        = float.Parse(parts[5].Trim(), CultureInfo.InvariantCulture);
            RotW        = float.Parse(parts[6].Trim(), CultureInfo.InvariantCulture);
            Name        = parts[7].Trim().ToLowerInvariant();
            Flags       = int.Parse(parts[8].Trim(), CultureInfo.InvariantCulture);
            ParentIndex = int.Parse(parts[9].Trim(), CultureInfo.InvariantCulture);
            Unk1        = int.Parse(parts[10].Trim(), CultureInfo.InvariantCulture);
            Unk2        = float.Parse(parts[11].Trim(), CultureInfo.InvariantCulture);

            if (Name.StartsWith("hash:"))
            {
                string[] hparts = Name.Split(':');
                uint     hash;
                if (uint.TryParse(hparts[1].Trim(), out hash))
                {
                    string str = JenkIndex.TryGetString(hash);
                    if (!string.IsNullOrEmpty(str))
                    {
                        Name = str.ToLowerInvariant();
                    }
                    else
                    {
                        Name = "hash_" + hash.ToString("X").ToLowerInvariant();
                    }
                }
            }
        }