void OnMessage_AttributePluss(AttribInfo.Attribute type) { AttribInfo info = GetAttributeInfo(type); if (info == null) { return; } if (Points < info.CurrentCost) { return; } int cost = info.CurrentCost; if (!info.AddPoint()) { return; } Points -= cost; Events.Instance.PointsChanged.Send(Points); UpdateAttribute(type, info); }
public string GetAttributeDescription(AttribInfo.Attribute type) { AttribInfo info = GetAttributeInfo(type); if (info == null) { return(""); } string value = ""; string cost = ""; value = string.Format("{0:0.##}", info.valuePerPoint); cost = string.Format("{0}", info.CurrentCost); return(string.Format("Add or Remove <color=#22AAff>{0}</color>, Takes or Gives you <color=#ff2255>{1}</color> points.", value, cost)); }
void OnMessage_AttributeMinus(AttribInfo.Attribute type) { AttribInfo info = GetAttributeInfo(type); if (info == null) { return; } if (!info.TakePoint()) { return; } Points += info.CurrentCost; Events.Instance.PointsChanged.Send(Points); UpdateAttribute(type, info); }
public string GetAttributeText(AttribInfo.Attribute type) { AttribInfo info = GetAttributeInfo(type); if (info == null) { return(""); } string name = ""; string value = ""; name = info.Name; switch (type) { case AttribInfo.Attribute.Player_Health: value = string.Format("{0}HP", info.CurrentValue); break; case AttribInfo.Attribute.Player_Regeneration: value = string.Format("{0:0.#}/s", info.CurrentValue); break; case AttribInfo.Attribute.Player_Weapon_Ammo_Regeneration: value = string.Format("{0:0.#}/s", info.CurrentValue); break; case AttribInfo.Attribute.Player_Weapon_Damage: break; case AttribInfo.Attribute.Base_Health: value = string.Format("{0}", info.CurrentValue); break; case AttribInfo.Attribute.Base_Regeneration: value = string.Format("{0:0.#}/s", info.CurrentValue); break; case AttribInfo.Attribute.Base_Shield1_Health: value = string.Format("{0}", info.CurrentValue); break; case AttribInfo.Attribute.Base_Shield1_Regeneration: value = string.Format("{0:0.#}/s", info.CurrentValue); break; case AttribInfo.Attribute.Base_Shield2_Health: value = string.Format("{0}", info.CurrentValue); break; case AttribInfo.Attribute.Base_Shield2_Regeneration: value = string.Format("{0:0.#}/s", info.CurrentValue); break; case AttribInfo.Attribute.Base_Damage: value = string.Format("{0}", info.CurrentValue); break; case AttribInfo.Attribute.Base_Shoot_Speed: value = string.Format("{0:0.#}s", info.CurrentValue); break; case AttribInfo.Attribute.Base_Range: value = string.Format("{0:0.#}m", info.CurrentValue); break; case AttribInfo.Attribute.Base_Rocket_Speed: value = string.Format("{0}m/s", info.CurrentValue); break; case AttribInfo.Attribute.Base_Rocket_Targeting_Speed: value = string.Format("{0}°/s", info.CurrentValue); break; case AttribInfo.Attribute.Enemy_Health: break; case AttribInfo.Attribute.Enemy_Damage: break; default: break; } return(string.Format("{0}: <color=#22ff55>{1}</color>", name, value)); }
public void UpdateAttribute(AttribInfo.Attribute type, AttribInfo info) { float before = 0f; switch (type) { case AttribInfo.Attribute.Player_Health: before = gameInfo.playerHealthThing.MaxHealth; gameInfo.playerHealthThing.MaxHealth = info.CurrentValue; gameInfo.playerHealthThing.CurrentHealth += gameInfo.playerHealthThing.MaxHealth - before; break; case AttribInfo.Attribute.Player_Regeneration: gameInfo.healthRegen.ValuePerSecond = info.CurrentValue; break; case AttribInfo.Attribute.Player_Weapon_Ammo_Regeneration: gameInfo.ammoRegen.AmmoPerSecond = info.CurrentValue; break; case AttribInfo.Attribute.Player_Weapon_Damage: break; case AttribInfo.Attribute.Base_Health: before = Base.Instance.DefaultHealth; Base.Instance.DefaultHealth = info.CurrentValue; Base.Instance.Health += Base.Instance.DefaultHealth - before; break; case AttribInfo.Attribute.Base_Regeneration: Base.Instance.HealthRegeneration = info.CurrentValue; break; case AttribInfo.Attribute.Base_Shield1_Health: before = Base.Instance.Shield1.DefaultHealth; Base.Instance.Shield1.DefaultHealth = info.CurrentValue; Base.Instance.Shield1.Health += Base.Instance.Shield1.DefaultHealth - before; break; case AttribInfo.Attribute.Base_Shield1_Regeneration: Base.Instance.Shield1.HealthRegeneration = info.CurrentValue; break; case AttribInfo.Attribute.Base_Shield2_Health: before = Base.Instance.Shield2.DefaultHealth; Base.Instance.Shield2.DefaultHealth = info.CurrentValue; Base.Instance.Shield2.Health += Base.Instance.Shield2.DefaultHealth - before; break; case AttribInfo.Attribute.Base_Shield2_Regeneration: Base.Instance.Shield2.HealthRegeneration = info.CurrentValue; break; case AttribInfo.Attribute.Base_Damage: Base.Instance.RocketDamage = (int)info.CurrentValue; break; case AttribInfo.Attribute.Base_Shoot_Speed: Base.Instance.RocketCooldown = info.CurrentValue; break; case AttribInfo.Attribute.Base_Range: Base.Instance.AutoTurretRange = info.CurrentValue; break; case AttribInfo.Attribute.Base_Rocket_Speed: Base.Instance.RocketSpeed = info.CurrentValue; break; case AttribInfo.Attribute.Base_Rocket_Targeting_Speed: Base.Instance.RocketSpeed = info.CurrentValue; break; case AttribInfo.Attribute.Enemy_Health: break; case AttribInfo.Attribute.Enemy_Damage: break; default: break; } }
public AttribInfo GetAttributeInfo(AttribInfo.Attribute type) { return(attributeInfo.FirstOrDefault(t => t.type == type)); }