Example #1
0
        private void ParseHairChanges(string v)
        {
            string[] tokens = v.Split(';');
            for (int i = 0; i < tokens.Length && i + 4 < tokens.Length; i += 5)
            {
                try
                {
                    int dashCount = int.Parse(tokens[i]);
                    dashCount = dashCount > HyperlineSettings.MAX_HAIR_LENGTH ? HyperlineSettings.MAX_HAIR_LENGTH - 1 : dashCount;
                    int    hairLength = int.Parse(tokens[i + 1]);
                    int    hairSpeed  = int.Parse(tokens[i + 2]);
                    string hairName   = tokens[i + 3];

                    IHairType type = Hyperline.Instance.hairTypes.GetType(hairName);
                    if (type == null)
                    {
                        Logger.Log("Hyperline", "HairColorTrigger no " + hairName + " type found for trigger parsing");
                        type = new SolidHair();
                    }
                    else
                    {
                        type = type.CreateNew(tokens[i + 4]);
                    }
                    hairChanges[dashCount] = new HairChange(hairSpeed, hairLength, type);
                }
                catch (Exception ex)
                {
                    Logger.Log("Hyperline", "HairColorTrigger error parsing...\n" + ex);
                }
            }
        }
Example #2
0
 public HairChange(int spd, int lngth, IHairType tp)
 {
     hairSpeed  = spd;
     hairLength = lngth;
     hairType   = tp;
 }