public ActionResult ChooseUnits(AdventuresChooseUnitsModel model) { var units = new List <UnitDTO>(UnitFacade.ListUnitsByVillage(model.VillageID)); model.UnitsTypes = new List <string>(units.Select(u => u.UnitType)); model.UnitsCount = new List <int>(new int [units.Count()]); return(View(model)); }
public IPromise <UnitFacade> Initialize(UnitFacade striker, UnitFacade target, Vector3 from, Vector3 direction, int damage) { this.target = target.UnitModel; this.from = from; this.direction = direction; hitPromise = new Promise <UnitFacade>(); return(hitPromise.Then(hitUnit => ProcessHit(hitUnit, striker, damage))); }
public IBullet Create(UnitFacade attacker, UnitFacade target, WeaponConfig weapon, Vector3 fireDirection) { var bullet = GameObject.Instantiate(weapon.BulletPrefab) as GameObject; _container.InjectGameObject(bullet); var bulletFireComponent = bullet.GetComponent <BulletBase>(); bulletFireComponent.Initialize(attacker, target, weapon.firePoint.position, fireDirection, weapon.damagePerShot); return(bulletFireComponent); }
public ActionResult ChooseUnitsPost(AdventuresChooseUnitsModel model) { List <UnitDTO> units = new List <UnitDTO>(UnitFacade.ListUnitsByVillage(model.VillageID)); for (int i = 0; i < units.Count(); ++i) { units[i].Count = model.UnitsCount[i]; } if (ModelState.IsValid) { AdventureFacade.Adventure(units, model.AdventureTypeId);//esteze okej cakaj } return(RedirectToAction("Index", "Adventures", new { id = model.VillageID })); }
// GET: Units public ActionResult Index(int id) { if (!BuildingFacade.GetBuildingByNameAndVillageId("TrainingCamp", id).Built) { //w return(RedirectToAction("VisitVillage", "Villages", new { id = id })); } var result = new List <UnitDTO>(UnitFacade.ListUnitsByVillage(id)); var model = new UnitsListViewModel { VillageId = id, Units = result }; return(View("UnitsListView", model)); }
private UnitFacade ProcessHit(UnitFacade hitUnit, UnitFacade striker, int damage) { if (hitUnit != null) { if (hitUnit.UnitModel.hp > 0) { hitUnit.UnitModel.DoDamage(damage); if (hitUnit.UnitModel.hp <= 0) { _signalBus.Fire(new UnitDestroyedBySignal(hitUnit, striker)); } } } return(hitUnit); }
// GET: Adventures public ActionResult Index(int id) { if (!BuildingFacade.GetBuildingByNameAndVillageId("Tavern", id).Built) { return(RedirectToAction("VisitVillage", "Villages", new { id = id })); } var result1 = new List <AdventureDTO>(AdventureFacade.ListAdventures(id)); var result2 = new List <UnitDTO>(UnitFacade.ListUnitsByVillage(id)); var model = new AdventureListViewModel() { Adventures = result1, Units = result2, VillageID = id }; return(View("AdventureListView", model)); }
private UnitFacade GetClosestAttackableEnemy(IEnumerable <UnitFacade> unitsToIterate) { UnitFacade closest = null; foreach (var unit in unitsToIterate) { if (_model.teamId != unit.UnitModel.teamId) { var distance = Vector3.Distance(_model.position, unit.UnitModel.position); if (distance <= _model.detectRadius) { if (closest == null || distance < Vector3.Distance(_model.position, closest.UnitModel.position)) { closest = unit; } } } } return(closest); }
public ActionResult TrainUnit(int id, int amount, int villageId) { UnitFacade.Train(id, amount); return(RedirectToAction("Index", new { id = villageId })); }
public UnitDestroyedBySignal(UnitFacade hitUnit, UnitFacade striker) { this.hitUnit = hitUnit; this.striker = striker; }