private float GetAIEnemyDamageRatio(LineUnitHolder line) { float dmgAISum = 0f; float dmgEnemySum = 0f; foreach (var enemyUnit in line.enemyUnits) { dmgEnemySum += enemyUnit.GetHealth(); } foreach (var myUnit in line.myUnits) { dmgAISum += myUnit.GetHealth(); } if (dmgEnemySum == 0 && dmgAISum == 0) { // noone on the line return(1); } if (dmgEnemySum != 0 && dmgAISum == 0) { // only enemy on the line return(1); } if (dmgEnemySum == 0) { // only AI on the line dmgEnemySum = 1; } return(dmgAISum / dmgEnemySum); }
private float GetAIEnemyHealthRatio(LineUnitHolder line) { float healthAISum = 0f; float healthEnemySum = 0f; foreach (var enemyUnit in line.enemyUnits) { healthEnemySum += enemyUnit.GetHealth(); } foreach (var myUnit in line.myUnits) { healthAISum += myUnit.GetHealth(); } if (healthEnemySum == 0 && healthAISum == 0) { // noone on the line return(0); } if (healthEnemySum != 0 && healthAISum == 0) { // only enemy on the line return(-1); } if (healthEnemySum == 0) { // only AI on the line healthEnemySum = 1; } return(healthAISum / healthEnemySum); }