本文整理汇总了C#中Health.ChangeHP方法的典型用法代码示例。如果您正苦于以下问题:C# Health.ChangeHP方法的具体用法?C# Health.ChangeHP怎么用?C# Health.ChangeHP使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Health
的用法示例。
在下文中一共展示了Health.ChangeHP方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Update
void Update()
{
if ( Time.time > _spawnTime + LifeTime )
{
GameObjectPoolManager.Instance.Unspawn ( gameObject );
}
projectileMovement();
float d = (_cachedTransform.position - _targetPosition).magnitude;
if ( d <= 10.0f )
{
GameObjectPoolManager.Instance.Spawn(DeathAnimation, _targetPosition, Quaternion.FromToRotation(Vector3.up, _targetPosition.normalized));
GameObjectPoolManager.Instance.Unspawn(gameObject);
float unitCurrentDamage = 0.0f;
unitCurrentDamage = Random.Range(UnitMinDamage, UnitMaxDamage);
if (IsAOE)
{
Collider[] AOETargets = Physics.OverlapSphere(_targetPosition, AOEZone, DamageLayers);
foreach (var AOEt in AOETargets)
{
float targetDistance = (_targetPosition - AOEt.transform.position).magnitude;
if (AOEt.isTrigger) continue;
float AOEDamage = damageCounter(unitCurrentDamage, targetDistance);
if (AOEDamage < 0) AOEDamage = 0;
_targetHealth = AOEt.GetComponent<Health>();
if (_targetHealth != null)
{
_targetHealth.ChangeHP(AOEDamage, false);
}
}
}
else
{
if ( _impactTarget.transform != null ) _targetHealth = _impactTarget.transform.GetComponent<Health>();
if (_targetHealth != null)
{
_targetHealth.ChangeHP(unitCurrentDamage, false);
}
}
}
}