Exemplo n.º 1
0
 /// <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);
     }
 }
Exemplo n.º 2
0
    public bool FlushDelayedDamage()
    {
        bool queueHadItems = DamageQueue.Count > 0;

        while (DamageQueue.Count > 0)
        {
            var damageData = DamageQueue.Dequeue();
            ProcessQueueItem(damageData);
        }

        return(queueHadItems);
    }
Exemplo n.º 3
0
    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);
        }
    }