Beispiel #1
0
    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);
    }
Beispiel #2
0
    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));
    }
Beispiel #3
0
    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);
    }
Beispiel #4
0
    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));
    }
Beispiel #5
0
    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;
        }
    }
Beispiel #6
0
 public AttribInfo GetAttributeInfo(AttribInfo.Attribute type)
 {
     return(attributeInfo.FirstOrDefault(t => t.type == type));
 }