Esempio n. 1
0
 private protected TongueType(ushort tongueLength, double tongueWidth, ShortDescriptor shortDesc, PartDescriptor <TongueData> longDesc,
                              PlayerBodyPartDelegate <Tongue> playerDesc, ChangeType <TongueData> transform, RestoreType <TongueData> restore) : base(shortDesc, longDesc, playerDesc, transform, restore)
 {
     _index = indexMaker++;
     tongues.AddAt(this, _index);
     length = tongueLength;
     width  = tongueWidth;
 }
Esempio n. 2
0
 private protected FullBehavior(SimpleDescriptor standardShortDesc, SimpleDescriptor singleShortDesc, PartDescriptor <DataClass> longDesc,
                                PlayerBodyPartDelegate <ContainerClass> playerDesc, ChangeType <DataClass> transformDesc, RestoreType <DataClass> restoreDesc) : base(standardShortDesc, singleShortDesc)
 {
     longStr          = longDesc ?? throw new ArgumentNullException(nameof(longDesc));
     playerStr        = playerDesc ?? throw new ArgumentNullException(nameof(playerDesc));
     transformFromStr = transformDesc ?? throw new ArgumentNullException(nameof(transformDesc));
     restoredStr      = restoreDesc ?? throw new ArgumentNullException(nameof(restoreDesc));
 }
Esempio n. 3
0
        //C# 7.2 magic. basically, prevents it from being messed with except internally.
        private AntennaeType(ShortPluralDescriptor desc, SimpleDescriptor singleItemDesc, PluralPartDescriptor <AntennaeData> longDesc,
                             PlayerBodyPartDelegate <Antennae> playerDesc, ChangeType <AntennaeData> transformMessage, RestoreType <AntennaeData> revertToDefault)
            : base(PluralHelper(desc), singleItemDesc, LongPluralHelper(longDesc), playerDesc, transformMessage, revertToDefault)
        {
            shortPluralDesc = desc ?? throw new ArgumentNullException(nameof(desc));
            longPluralDesc  = longDesc ?? throw new ArgumentNullException(nameof(longDesc));

            _index = indexMaker++;
            antennaes.AddAt(this, _index);
        }
Esempio n. 4
0
        private OvipositorType(byte maxEggs, ShortDescriptor shortDesc, PartDescriptor <OvipositorData> longDesc, PlayerBodyPartDelegate <Ovipositor> playerDesc,
                               OvipositorTransform transform, OvipositorRestore restore) : base(shortDesc)
        {
            this.maxEggs = maxEggs;

            this.longDesc   = longDesc ?? throw new ArgumentNullException(nameof(longDesc));
            this.playerDesc = playerDesc ?? throw new ArgumentNullException(nameof(playerDesc));

            this.transformStr = transform ?? throw new ArgumentNullException(nameof(transform));
            restoreStr        = restore ?? throw new ArgumentNullException(nameof(restore));
        }
Esempio n. 5
0
        protected EarType(bool internalEar, ShortPluralDescriptor shortDesc, SimpleDescriptor singleItemDesc, PluralPartDescriptor <EarData> longDesc,
                          PlayerBodyPartDelegate <Ears> playerDesc, ChangeType <EarData> transform, RestoreType <EarData> restore)
            : base(PluralHelper(shortDesc), singleItemDesc, LongPluralHelper(longDesc), playerDesc, transform, restore)
        {
            shortPluralDesc = shortDesc;
            longPluralDesc  = longDesc;

            _index = indexMaker++;
            ears.AddAt(this, id);

            isInternalEar = internalEar;
        }
Esempio n. 6
0
        //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;
        }
Esempio n. 7
0
        //wings that support large wings need to define a behavior on transform - do they keep the large wings?
        private protected WingType(BehaviorOnTransform behaviorOnTransform, WingSizeChangeDelegate changeSizeText, WingShortDesc wingShortDesc, WingSingleDesc singleWingDesc,
                                   PluralPartDescriptor <WingData> longDesc, PlayerBodyPartDelegate <Wings> playerDesc, ChangeType <WingData> transform, RestoreType <WingData> restore)
            : base(WingParser(wingShortDesc), WingSingleParser(singleWingDesc), LongPluralHelper(longDesc), playerDesc, transform, restore)
        {
            _index = indexMaker++;
            wings.AddAt(this, _index);
            transformBehavior = behaviorOnTransform;

            this.wingShortDesc = wingShortDesc;

            this.wingSingleDesc = singleWingDesc;

            longPluralDesc = longDesc;

            canChangeSize = true;

            changeSizeStr = changeSizeText ?? throw new ArgumentNullException(nameof(changeSizeText));
        }
Esempio n. 8
0
 internal FeatheredWings(HairFurColors defaultHair, BehaviorOnTransform behaviorOnTransform, WingSizeChangeDelegate changeSizeText, WingShortDesc wingShortDesc,
                         WingSingleDesc singleWingDesc, PluralPartDescriptor <WingData> longDesc, PlayerBodyPartDelegate <Wings> playerDesc, ChangeType <WingData> transform,
                         RestoreType <WingData> restore) : base(behaviorOnTransform, changeSizeText, wingShortDesc, singleWingDesc, longDesc, playerDesc, transform, restore)
 {
     defaultFeatherColor = defaultHair;
 }
Esempio n. 9
0
 internal FeatheredWings(HairFurColors defaultHair, bool canFly, ShortPluralDescriptor shortDesc, SimpleDescriptor singleWingDesc, PluralPartDescriptor <WingData> longDesc,
                         PlayerBodyPartDelegate <Wings> playerDesc, ChangeType <WingData> transform, RestoreType <WingData> restore)
     : base(canFly, shortDesc, singleWingDesc, longDesc, playerDesc, transform, restore)
 {
     defaultFeatherColor = defaultHair;
 }
Esempio n. 10
0
        private protected WingType(bool canFly,
                                   ShortPluralDescriptor shortDesc, SimpleDescriptor singleWingDesc, PluralPartDescriptor <WingData> longDesc, PlayerBodyPartDelegate <Wings> playerDesc,
                                   ChangeType <WingData> transform, RestoreType <WingData> restore) : base(PluralHelper(shortDesc), singleWingDesc, LongPluralHelper(longDesc), playerDesc, transform, restore)
        {
            _index = indexMaker++;
            wings.AddAt(this, _index);
            transformBehavior = canFly ? BehaviorOnTransform.CONVERT_TO_LARGE : BehaviorOnTransform.CONVERT_TO_SMALL;             //was wrong, caught in testing.

            wingShortDesc = (_, plural) => shortDesc(plural);

            wingSingleDesc = (_) => singleWingDesc();

            longPluralDesc = longDesc;

            canChangeSize = false;

            changeSizeStr = (x, y) => "";
        }
Esempio n. 11
0
 private OvipositorType(ShortDescriptor shortDesc, PartDescriptor <OvipositorData> longDesc, PlayerBodyPartDelegate <Ovipositor> playerDesc,
                        OvipositorTransform transform, OvipositorRestore restore) : this(0, shortDesc, longDesc, playerDesc, transform, restore)
 {
 }
Esempio n. 12
0
 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)
 {
 }
Esempio n. 13
0
        protected GillType(ShortPluralDescriptor shortDesc, SimpleDescriptor singleDesc, PartDescriptor <GillData> longDesc, PlayerBodyPartDelegate <Gills> playerDesc,
                           ChangeType <GillData> transform, RestoreType <GillData> restore) : base(PluralHelper(shortDesc), singleDesc, longDesc, playerDesc, transform, restore)
        {
            _index = indexMaker++;
            gills.AddAt(this, _index);

            pluralDesc = shortDesc;
        }