public void MoveRechargeBars(bool combatEnter)
{
StartCoroutine(MoveRechargeBarsCoroutine(combatEnter));
}
private IEnumerator MoveRechargeBarsCoroutine(bool combatEnter)
{
Vector3 healthStartingPos;
Vector3 healthNewPos;
Vector3 manaStartingPos;
Vector3 manaNewPos;
float travelTime = 10000;
float currentTime = 0;
float normalizedTime;
if (combatEnter)
{
healthStartingPos = healthRechargeOutOfCombatPosition.transform.position;
healthNewPos = healthRechargeCombatPosition.transform.position;
manaStartingPos = manaRechargeOutOfCombatPosition.transform.position;
manaNewPos = manaRechargeCombatPosition.transform.position;
}
else
{
healthStartingPos = healthRechargeCombatPosition.transform.position;
healthNewPos = healthRechargeOutOfCombatPosition.transform.position;
manaStartingPos = manaRechargeCombatPosition.transform.position;
manaNewPos = manaRechargeOutOfCombatPosition.transform.position;
}
while (currentTime <= travelTime)
{
normalizedTime = currentTime / travelTime;
healthRechargeBar.transform.position = Vector3.Lerp(healthStartingPos, healthNewPos, normalizedTime);
manaRechargeBar.transform.position = Vector3.Lerp(manaStartingPos, manaNewPos, normalizedTime);
currentTime += Time.deltaTime;
}
yield return null;
}