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); } } }
public HairChange(int spd, int lngth, IHairType tp) { hairSpeed = spd; hairLength = lngth; hairType = tp; }