예제 #1
0
 public BattalionTemplate(BattalionIdentifier id,
                          IEnumerable <BattalionStateModifier> modifiers,
                          IEnumerable <BattalionEffector> effectSources)
 {
     Id            = id;
     Modifiers     = modifiers;
     EffectSources = effectSources;
 }
예제 #2
0
 public BattalionSpawnEffect(BattalionIdentifier spawnSource,
                             BattalionState spawnedUnit,
                             SpawnPosition position)
 {
     SpawnSource = spawnSource;
     SpawnedUnit = spawnedUnit;
     Position    = position;
 }
 public BattalionStateModifier(BattalionEffector source,
                               BattalionIdentifier target,
                               BattalionAttribute attribute,
                               int modifier)
 {
     Source    = source;
     Target    = target;
     Attribute = attribute;
     Modifier  = modifier;
 }
예제 #4
0
 public BattalionState(BattalionIdentifier id,
                       BattalionPosition position,
                       IEnumerable <BattalionStateModifier> modifiers,
                       IEnumerable <BattalionEffector> effectSources)
     : this(id,
            position,
            GetModifiedAttributes(new Dictionary <BattalionAttribute, int>(), modifiers).AsReadonly(),
            effectSources)
 {
 }
예제 #5
0
 private BattalionState(BattalionIdentifier id,
                        BattalionPosition position,
                        IReadOnlyDictionary <BattalionAttribute, int> attributes,
                        IEnumerable <BattalionEffector> effectSources)
 {
     Id              = id;
     Position        = position;
     this.attributes = attributes;
     EffectSources   = effectSources;
 }
예제 #6
0
        public BattalionBuilder(BattalionType type,
                                int hitpoints,
                                int moral)
        {
            id        = new BattalionIdentifier(type);
            effectors = new List <BattalionEffector>();
            modifiers = new List <BattalionStateModifier>();

            modifiers.Add(new BattalionStateModifier(null, id, BattalionAttribute.MaxHitpoints, hitpoints));
            modifiers.Add(new BattalionStateModifier(null, id, BattalionAttribute.RemainingHitpoints, hitpoints));
            modifiers.Add(new BattalionStateModifier(null, id, BattalionAttribute.MaxMoral, moral));
            modifiers.Add(new BattalionStateModifier(null, id, BattalionAttribute.RemainingMoral, moral));
        }
 public void Add(BattalionIdentifier id, BattalionAttribute attribute, int value)
 {
     modifiers.Add(new BattalionStateModifier(source, id, attribute, value));
 }