Пример #1
0
 // Update is called once per frame
 void Update()
 {
     for (int i = 0; i < resetQueue.Count; i++)
     {
         ResetItem ri = resetQueue[i];
         ri.duration   = resetQueue[i].duration - Time.deltaTime;
         resetQueue[i] = ri;
     }
     resetQueue.RemoveAll(ExpiredRenderer);
 }
Пример #2
0
 static bool ExpiredRenderer(ResetItem ri)
 {
     if (ri.duration <= 0)
     {
         MeshRenderer r = (MeshRenderer)ri.item;
         foreach (Material m in r.materials)
         {
             m.color = Color.white;
         }
         return true;
     }
     return false;
 }
Пример #3
0
 static bool ExpiredRenderer(ResetItem ri)
 {
     if (ri.duration <= 0)
     {
         MeshRenderer r = (MeshRenderer)ri.item;
         foreach (Material m in r.materials)
         {
             m.color = Color.white;
         }
         return(true);
     }
     return(false);
 }
Пример #4
0
    public TItem GetItem (NewItem newItem, ResetItem resetItem = null) {
        TItem item;

        if (items.Count > 0) {
            item = items.Dequeue();
        }
        else {
            item = newItem.Invoke();
        }
        
        resetItem?.Invoke(ref item);
        
        return item;
    }