public Task <object> Handle(UpdateProductCommand command, CancellationToken cancellationToken) { if (!command.IsValid()) { NotifyValidationErrors(command); } else { Dictionary <Entities.Unit, decimal> otherUnits = new Dictionary <Entities.Unit, decimal>(); foreach (ProductUnitModel productUnitModel in command.ProductUnitModels) { Entities.Unit unit = new Entities.Unit(new Identity((uint)productUnitModel.ID), null); otherUnits.Add(unit, productUnitModel.WPU); } Entities.Product product = new Entities.Product ( new Identity((uint)command.Id), new Name(command.Name), new Code(command.Code), new Note(command.Note), otherUnits, new Entities.Unit(new Identity((uint)command.CommonUnitId), null), command.WeightPerUnit, new Entities.Preservation((uint)command.PreservationId, null) ); bool result = _ProductRepository.Update(product); if (!result) { _bus.RaiseEvent(new DomainNotification("Product", "Server error", NotificationCode.Error)); } return(Task.FromResult(result as object)); } return(Task.FromResult(null as object)); }
private void PerformBuffOnEntity(Entities.Entity entity) { Entities.Unit unit = (Unit)entity; if (mModules != null) { unit.AddModulesFromData(mModules); } if (mStatusTags != null) { foreach (StatusOperationPair pair in mStatusTags) { if (pair.mShouldAdd) { if (!unit.HasStatus(pair.mTag)) { unit.AddStatus(pair.mTag); } } else { unit.RemoveStatus(pair.mTag); } } } unit.TemporaryHP += mTempHPBuff; }
public override void Execute(Entities.Entity Performer, List <Entities.Entity> Selection, CardGameState GS) { Entities.Unit attacker = (Entities.Unit)Performer; Entities.Unit target = (Entities.Unit)Selection[0]; attacker.DoAttack(target); }
void ISignalListener <SpawnUnitSignal> .SignalFired(SpawnUnitSignal signal) { ClientOnlyConditionalDebug.Log("spawn"); var viewInstance = Object.Instantiate(signal.View, signal.Position, Quaternion.identity); var unit = new Entities.Unit(signal.Data, viewInstance); _signalService.FireSignal(new UnitSpawnedSignal(unit)); }
public void CheckLifetime(Entities.Unit parent) { if (mMaxLifetime > -1) { if (++mCurrentLifetime >= mMaxLifetime) { parent.RemoveModule(this.Type, this); } } }
/// <summary> /// prepare the task /// </summary> /// <param name="executingUnit"></param> public void Prepare(Entities.Unit executingUnit) { this.executingUnit = executingUnit; // compute the path to the given target Point currentTile = FenrirGame.Instance.InGame.Scene.PixelPositionToTilePosition(this.executingUnit.Position); this.path = FenrirGame.Instance.InGame.Scene.getPath(currentTile, this.target) ?? new LinkedList <Point>(); this.executingUnit.Color = Color.CornflowerBlue; }
public override void Update(CardGameState GS) { foreach (CardZone rangeZone in GS.Players[Node.OwnerIndex].mBoard.RangeZones) { foreach (Entities.Entity E in rangeZone.List.Cards) { Entities.Unit U = ((Entities.Unit)E); if (U.IsClass(AffectedClass)) { U.AttackCostModifier += Amount; } } } }
public override void Draw() { Entities.Unit UnitEntity = (Entities.Unit)mEntity; Transform CardPartTransform = UnityCard.transform.Find("Card"); CardPartTransform.Find("CardName").gameObject.GetComponent <Text>().text = UnitEntity.Name; CardPartTransform.Find("APText").gameObject.GetComponent <Text>().text = (UnitEntity.BaseAttack + UnitEntity.AttackModifier).ToString() + "/" + (UnitEntity.BaseAttack).ToString(); CardPartTransform.Find("HPText").gameObject.GetComponent <Text>().text = (UnitEntity.BaseHealth + UnitEntity.HealthModifier).ToString() + ((UnitEntity.TemporaryHP != 0) ? ("+" + UnitEntity.TemporaryHP.ToString()) : "") + "/" + (UnitEntity.BaseHealth).ToString(); CardPartTransform.Find("VPText").gameObject.GetComponent <Text>().text = (UnitEntity.BaseVP + UnitEntity.VPModifier).ToString(); CardPartTransform.Find("StatusText").gameObject.GetComponent <Text>().text = UnitEntity.StatusString(); CardPartTransform.Find("ClassText").gameObject.GetComponent <Text>().text = UnitEntity.ClassString(); }
protected override bool CheckValidityInternal(Entities.Entity Performer, List <Entities.Entity> Selection, TurnInfo TI) { Entities.Unit attacker = (Entities.Unit)Performer; Entities.Unit target = (Entities.Unit)Selection[0]; if (Performer.IsUnit() && Selection[0].IsUnit() && Performer.GetOwnerIndex() != Selection[0].GetOwnerIndex() && TI.GetCPI() == Performer.GetOwnerIndex() && !attacker.HasStatus("Can't attack")) { return(attacker.CanAttack(target) != -1); } else { return(false); } }
public Task <object> Handle(AddNewUnitCommand command, CancellationToken cancellationToken) { Entities.Unit u = new Entities.Unit(null, new Name(command.Name)); if (!command.IsValid()) { NotifyValidationErrors(command); } else { UnitModel model = _unitRepository.Add(u); if (model != null) { return(Task.FromResult(model as object)); } _bus.RaiseEvent(new DomainNotification("Unit", "Server error", NotificationCode.Error)); } return(Task.FromResult(null as object)); }
protected override bool CheckValidityInternal(Entities.Entity Performer, List <Entities.Entity> Selection, TurnInfo TI) { bool result = true; // Even in the case of mAddSelfToSelection // we do not check if self qualifies. if (mClassTags != null && mClassTags.Count > 0 && Selection != null) { for (int i = 0; i < Selection.Count && result; i++) { Entities.Unit unit = (Entities.Unit)Selection[i]; for (int k = 0; k < mClassTags.Count && result; k++) { result = result && unit.IsClass(mClassTags[k].mValue); } } } return(result); }
protected override bool CheckValidityInternal(Entities.Entity Performer, List <Entities.Entity> Selection, TurnInfo TI) { Effects.Orders.OrderWithUses TheOrder = (Effects.Orders.OrderWithUses)(((Entities.Effect_Entity)Performer).GetEffect()); Entities.Unit TheTarget = (Entities.Unit)Selection[0]; Modules.Target.TargettingData TD = new Modules.Target.TargettingData(); TD.AttackType.Long = true; if (TheTarget.GetCurrentRange() == Range.Long) { TD.TargetType.Long = true; } else if (TheTarget.GetCurrentRange() == Range.Short) { TD.TargetType.Short = true; } int cost = 0; TheTarget.CheckTargetStatus(null, TD, ref cost); return(TheOrder.GetNumUses(mActionIndex) > 0 && TD.Result()); }
protected override void SetupInternal(Entities.Entity parent, Loading.ModuleData moduleData) { mParent = (Entities.Unit)parent; foreach (Loading.InfoTagData tag in moduleData.mInfoTags) { if (tag.mType == "AttackBuff") { bool result = int.TryParse(tag.mTagValue, out mAttackBuff); UnityEngine.Debug.Assert(result); } else if (tag.mType == "AttackCostBuff") { bool result = int.TryParse(tag.mTagValue, out mAttackCostBuff); UnityEngine.Debug.Assert(result); } else if (tag.mType == "Status") { mStatus = tag.mTagValue; } } }
public override void Execute(Entities.Entity Performer, List <Entities.Entity> Selection, CardGameState GS) { Entities.Effect_Entity performerEffectEntity = (Entities.Effect_Entity)Performer; performerEffectEntity.Owner.SpendCP(GetMinCost()); int numSalvos = 0; foreach (CardZone CZ in performerEffectEntity.Owner.mBoard.RangeZones) { foreach (Entities.Entity E in CZ.List.Cards) { Entities.Unit U = (Entities.Unit)E; if (U.IsClass("Bow") && U.IsClass("Infantry")) { numSalvos += 1; } } } Effects.Orders.OrderWithUses order = (Effects.Orders.OrderWithUses)(performerEffectEntity.GetEffect()); order.SetUses(mActionIndex, numSalvos); order.OrderUsed(); }
/// <summary> /// Returns the CP cost for Runner to attack Target if possible /// or -1 if this attack is not possible. /// </summary> public int Run(Entities.Unit Runner, Entities.Unit Target) { int Cost = 0; TargettingData TD = new TargettingData(); foreach (TargettingModule TM in TargetModules) { TM.Run(Runner, Target, TD, ref Cost); } Target.CheckTargetStatus(Runner, TD, ref Cost); if (Cost < 0) { Cost = 0; } if (!TD.Result()) { return(-1); } else { return(Cost); } }
public Attached_NewTurn(Entities.Unit Parent, string Name) : base() { this.Parent = Parent; AttachedToName = Name; this.Type = ModuleType.NewTurn; }
/// <summary> /// prepare the task /// </summary> /// <param name="executingUnit"></param> public void Prepare(Entities.Unit executingUnit) { this.executingUnit = executingUnit; // compute the path to the given target Point currentTile = FenrirGame.Instance.InGame.Scene.PixelPositionToTilePosition(this.executingUnit.Position); this.path = FenrirGame.Instance.InGame.Scene.getPath(currentTile, this.target) ?? new LinkedList<Point>(); this.executingUnit.Color = Color.CornflowerBlue; }
public StatusTextModule(Entities.Unit parent, string statusText) : base() { this.Parent = parent; mStatusText = statusText; Parent.AddStatus(mStatusText); }
protected override void SetupInternal(Entities.Entity parent, Loading.ModuleData MD) { this.Parent = (Entities.Unit)parent; mStatusText = MD.Data[0]; this.Parent.AddStatus(mStatusText); }
public abstract void Run(Entities.Unit Target);
public override void Run(Entities.Unit Target) { Parent.AddStatus(mStatus); }
public void Run(Entities.Unit Target) { this.Run(); }
public override void Run(Entities.Unit Target) { Target.Damage(Parent.CalcAttack()); Parent.AddStatus("Attacked"); }
public abstract void Run(Entities.Unit Unit1, Entities.Unit Unit2, TargettingData TD, ref int Cost);
public UnitSpawnedSignal(Entities.Unit unit) { Unit = unit; }
public DestroyUnitSignal(Entities.Unit unit) { Unit = unit; }