public BattalionTemplate(BattalionIdentifier id, IEnumerable <BattalionStateModifier> modifiers, IEnumerable <BattalionEffector> effectSources) { Id = id; Modifiers = modifiers; EffectSources = effectSources; }
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; }
public BattalionState(BattalionIdentifier id, BattalionPosition position, IEnumerable <BattalionStateModifier> modifiers, IEnumerable <BattalionEffector> effectSources) : this(id, position, GetModifiedAttributes(new Dictionary <BattalionAttribute, int>(), modifiers).AsReadonly(), effectSources) { }
private BattalionState(BattalionIdentifier id, BattalionPosition position, IReadOnlyDictionary <BattalionAttribute, int> attributes, IEnumerable <BattalionEffector> effectSources) { Id = id; Position = position; this.attributes = attributes; EffectSources = effectSources; }
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)); }