public ModelPointList(ModelPoint initStrengthPoint, ModelPoint lifetimePoint, ModelPoint[] initIntermediatePoints = null) { if (initStrengthPoint.Time != 0.0f) { Debug.LogError("Initial strength point must have a time value of zero!"); initStrengthPoint.Time = 0.0f; } if (lifetimePoint.Strength != 0.0f) { Debug.LogError("Lifetime point must have a strength value of zero!"); lifetimePoint.Strength = 0.0f; } _start = new ModelPointNode(initStrengthPoint); _end = new ModelPointNode(lifetimePoint); _comparer = new ModelPointComparer(); _start.next = _end; _end.previous = _start; if (initIntermediatePoints != null) { foreach (ModelPoint mp in initIntermediatePoints) { this.Add(mp); } } }