public TargetingData(GameFormationActor source, FormationDistance distance, string priority, int diceAssigned, string fireType) { this.FireDiceAssigned = diceAssigned; this.FirePriority = priority; this.FireType = fireType; this.Source = new TargetingProfile(source); this.Target = new TargetingProfile(distance.TargetFormationId, distance.TargetFormationName); this.FormationRange = distance.Value; }
public AttackEvent(FireOrder fo, GameFormationActor source, FormationDistanceGraph distanceGraph, int percentileRoll = PercentileNotRolled, int exchange = 0, int volley = 0) : base("Attack Event", exchange, volley) { var distance = distanceGraph.GetOrEstablishDistance(source.GetFormationId(), fo.TargetID); this.Description = "Attack Event"; this.TargetingData = new TargetingData(source, distance, fo.Priority, fo.DiceAssigned, fo.FireType); this.UnitAssignmentPercentile = percentileRoll; // Just to avoid any confusion this.TargetingData.TargetUnitPercentileRoll = percentileRoll; }
public AttackEvent(FireOrder fo, GameFormationActor source, GameFormationActor target, FormationDistanceGraph distanceGraph, int exchange = 0, int volley = 0, int percentileRoll = PercentileNotRolled) : base("Attack Event", exchange, volley) { var distance = distanceGraph.GetOrEstablishDistance(source.GetFormationId(), target.GetFormationId()); if (target.GetFormationId() != fo.TargetID) { throw new InvalidOperationException( $"FireOrder specified target formation [{fo.TargetID}]{fo.TargetFormationName} " + $"but target Formation argument in AttackEvent is [{target.GetFormationId()}]{target.GetFormationName()}"); } this.TargetingData = new TargetingData(source, target, distance, fo.Priority, fo.DiceAssigned, fo.FireType); this.UnitAssignmentPercentile = percentileRoll; }
public TargetingData(GameFormationActor source, GameFormationActor target, FormationDistance distance, string priority, int diceAssigned, string fireType) : this(source, distance, priority, diceAssigned, fireType) { this.Target.FormationActor = target; }
public TargetingProfile(GameFormationActor actor, GameUnitFormationActor unitActor) : this(actor.GetFormationId(), actor.GetFormationName(), unitActor.UnitId, unitActor.UnitName) { this.FormationActor = actor; this.UnitActor = unitActor; }
public TargetingProfile(GameFormationActor actor, int unitId = 0, string unitName = "") : this(actor.GetFormationId(), actor.GetFormationName(), unitId, unitName) { this.FormationActor = actor; }