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(ShortDescriptor shortDesc, PartDescriptor <DataClass> longDesc,
                                PlayerBodyPartDelegate <ContainerClass> playerDesc, ChangeType <DataClass> transformDesc, RestoreType <DataClass> restoreDesc) : base(shortDesc)
 {
     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
 public GenericBite(ShortDescriptor teethName, byte strength = 1) : base(Attack)
 {
     biteStrength = Utils.Clamp2(strength, (byte)0, (byte)5);
     if (teethName is null)
     {
         throw new ArgumentNullException();
     }
     teeth = () => teethName(false);
 }
Esempio n. 4
0
 internal TailSlam(ShortDescriptor tailName, byte strength = 1) : base(Attack)
 {
     attackStrength = Utils.Clamp2(strength, (byte)0, (byte)5);
     if (tailName is null)
     {
         throw new ArgumentNullException(nameof(tailName));
     }
     name = () => tailName(false);
 }
Esempio n. 5
0
        //Constructor for an behavior that only has one member. This format allows a common function to be used for both formats, and a flag to alter the text
        //to match the required type.
        private protected BehaviorBase(ShortDescriptor shortDescFn)
        {
            if (shortDescFn is null)
            {
                throw new ArgumentNullException(nameof(shortDescFn));
            }
            //doesn't matter, the value is ignored.

            shortDesc  = () => shortDescFn(false);
            singleDesc = () => shortDescFn(true);
        }
Esempio n. 6
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. 7
0
 private OvipositorType(ShortDescriptor shortDesc, PartDescriptor <OvipositorData> longDesc, PlayerBodyPartDelegate <Ovipositor> playerDesc,
                        OvipositorTransform transform, OvipositorRestore restore) : this(0, shortDesc, longDesc, playerDesc, transform, restore)
 {
 }