Example #1
0
    private void OnGUI()
    {
        attack  = EditorGUILayout.IntField("Attack", attack);
        defense = EditorGUILayout.IntField("Defense", defense);

        GUILayout.Space(20f);

        GUILayout.BeginHorizontal();
        GUILayout.FlexibleSpace();

        if (GUILayout.Button("Calculate", GUILayout.Width(150f)))
        {
            result = EntityDamageCalculator.CalculateDamage(attack, defense);
        }

        if (GUILayout.Button("Clear", GUILayout.Width(150f)))
        {
            result = 0;
        }

        GUILayout.FlexibleSpace();
        GUILayout.EndHorizontal();

        GUILayout.Space(20f);

        if (result > 0)
        {
            GUILayout.Label("Result: " + result);
        }
    }
Example #2
0
    private void TakeDamage(DamageInfo damageInfo)
    {
        if (!godMode)
        {
            int damage = EntityDamageCalculator.CalculateDamage(damageInfo.Damage, self.Stats.GetDefense());
            self.Stats.Health -= damage;
        }

        if (damageInfo.HitEffect != null)
        {
            Vector3 position = statusEffectSpawnHolder.position + Random.insideUnitSphere;
            Instantiate(damageInfo.HitEffect, position, transform.rotation);
        }
    }