//i should use maybe plural desriptor here by naming conventions, but in this case i know exactly when it's plural, so i can fake it with the function that //exposes the delegate. probably should do it anyway, but it's easier to implement like this. private protected EyeType(EyeColor defaultEyeColor, EyeChangeDelegate eyeChange, ShortPluralDescriptor shortDesc, SimpleDescriptor singleItemDesc, PartDescriptor <EyeData> longDesc, SingleEyeDescriptor oneEyeDesc, PartDescriptor <EyeData> fullDesc, PlayerBodyPartDelegate <Eyes> playerDesc, ChangeType <EyeData> transform, RestoreType <EyeData> restore, byte numEyes = 2, ScleraColor color = ScleraColor.CLEAR) : base(PluralHelper(shortDesc), singleItemDesc, longDesc, playerDesc, transform, restore) { EyeChangeSpecial = eyeChange; eyeCount = numEyes; defaultColor = defaultEyeColor; _index = indexMaker++; eyeDesc = shortDesc; eyeFullDesc = fullDesc ?? throw new ArgumentNullException(nameof(fullDesc)); this.oneEyeDesc = oneEyeDesc ?? throw new ArgumentNullException(nameof(oneEyeDesc)); eyes.AddAt(this, _index); scleraColor = color; }
public StoneStareEyeType(EyeColor defaultEyeColor, EyeChangeDelegate eyeChange, ShortPluralDescriptor shortDesc, SimpleDescriptor singleItemDesc, PartDescriptor <EyeData> longDesc, SingleEyeDescriptor oneEyeDesc, PartDescriptor <EyeData> fullDesc, PlayerBodyPartDelegate <Eyes> playerDesc, ChangeType <EyeData> transform, RestoreType <EyeData> restore, byte numEyes = 2, ScleraColor color = ScleraColor.CLEAR) : base(defaultEyeColor, eyeChange, shortDesc, singleItemDesc, longDesc, oneEyeDesc, fullDesc, playerDesc, transform, restore, numEyes, color) { }