/// <summary> /// ダメージイベント /// </summary> private void AddDamage(PlayerController.DamageType damageType, byte value) { if (damageType != PlayerController.DamageType.None) { DamageQueue damage = new DamageQueue(); damage.type = (byte)damageType; damage.value = value; m_DamageQueue.Add(damage); } }
public bool FlushDelayedDamage() { bool queueHadItems = DamageQueue.Count > 0; while (DamageQueue.Count > 0) { var damageData = DamageQueue.Dequeue(); ProcessQueueItem(damageData); } return(queueHadItems); }
void OnDamage(DamageMessageData data) { if (!enabled) { return; } if (Mathf.Abs(data.Damage) < MinChangeToAccount) { return; } print("OnDamage, " + this + " received damage: " + data.Damage + ", inflictor: " + data.Inflictor); if (ChangeImmediately) { ProcessQueueItem(data); } else { DamageQueue.Enqueue(data); } }