public void Win(BombermanAgent agent)
        {
            agents.ForEach(a =>
            {
                if (a == agent)
                {
                    a.SetReward(1.0f);
                }
                else
                {
                    a.SetReward(-1.0f / (agents.Count - 1));
                }

                a.Done();
            });
        }
 public void CollectPickup(GameObject pickup, BombermanAgent agent)
 {
     agent.hasBomb             = true;
     pickup.transform.position = transform.position + RandomPosition;
     agents.ForEach(a =>
     {
         if (a == agent)
         {
             agent.SetReward(1f);
         }
         else
         {
             a.SetReward(-1);
         }
         a.gameObject.SetActive(true);
         a.Done();
     });
 }
 private void Update()
 {
     if (Time.time >= ExpireTime)
     {
         Collider[] colliders = Physics.OverlapSphere(transform.position, ExplosionRadius, AgentLayer);
         foreach (Collider coll in colliders)
         {
             BombermanAgent agent = coll.GetComponent <BombermanAgent>();
             if (agent != Owner)
             {
                 //Owner.SetReward(1f);
             }
             //agent.SetReward(-1f);
             agent.Done();
             agent.gameObject.SetActive(false);
         }
         Destroy(gameObject);
     }
 }