Exemplo n.º 1
0
 public static void Update(float deltaTime, List <GameObject> nearbyNPC, GameMap map, GameObject source)
 {
     source.PhysicsComponent.Clock      += deltaTime;
     source.PhysicsComponent.NearbyUnits = getInRangeUnits(nearbyNPC, source);
     Move(deltaTime, map, source.PhysicsComponent);
     if (source.PhysicsComponent.objective != null &&
         !StatsProcessor.CheckIfAlive(source.PhysicsComponent.objective.StatsComponent))
     {
         source.PhysicsComponent.objective = null;
     }
 }
Exemplo n.º 2
0
 public static void Unequip(GameObject bearer, ItemComponent item)
 {
     StatsProcessor.RemoveBonuses(bearer.StatsComponent);
     if (bearer.Inventory.Where(i => i.Name.Equals(item.Name) && i.Equiped).First() != null)
     {
         bearer.StatsComponent.ItemStrength     -= item.StrengthBonus;
         bearer.StatsComponent.ItemDexterity    -= item.DexterityBonus;
         bearer.StatsComponent.ItemIntelligence -= item.IntelligenceBonus;
         bearer.StatsComponent.ItemConstitution -= item.ConstitutionBonus;
         bearer.StatsComponent.ItemSpirit       -= item.SpiritBonus;
         bearer.StatsComponent.ItemRange        -= item.RangeBonus;
         bearer.StatsComponent.ItemDamage       -= item.DamageBonus;
         bearer.StatsComponent.ItemHp           -= item.HPBonus;
         item.Equiped = false;
     }
     StatsProcessor.ApplyBonuses(bearer.StatsComponent);
     StatsProcessor.CalculateStats(bearer.StatsComponent);
 }