private bool giveGold = false; //this is needed to allow the time it takes to set authority

    void OnTriggerEnter(Collider collider)
    {
        GameObject gObject;

        if (HandlerPlayer.ActiveGameObject(collider, out gObject))
        {
            gObject.GetComponent <PlayerConnectionObjectScript>().CmdSetClientAuthority(this.gameObject.GetComponent <NetworkIdentity>()); //set authority of the gold to the client, in order to destroy the object
            giveGold = true;
        }
    }
 void OnTriggerStay(Collider collider)
 {
     if (giveGold)
     {
         GameObject playerGameObject;
         if (HandlerPlayer.ActiveGameObject(collider, out playerGameObject))
         {
             if (hasAuthority)
             {
                 CmdGivePlayerGoldAndDestroyThis(playerGameObject, this.gameObject);
                 giveGold = false;
             }
         }
     }
 }
Exemple #3
0
    void OnTriggerEnter(Collider collider)
    {
        GameObject gObject;

        if (HandlerPlayer.ActiveGameObject(collider, out gObject))
        {
            gObject.GetComponent <PlayerConnectionObjectScript>().CmdSetClientAuthority(this.gameObject.GetComponent <NetworkIdentity>());
            if (gameObject.GetComponent <GoldMineScript>().getOwnerNetworkId() == collider.GetComponentInParent <PlayerUnit>().parentNetworkId)
            {
                return;
            }
            else if (gameObject.GetComponent <GoldMineScript>().getOwnerNetworkId().Value != 0) //defaults to 0 for no owner
            {
                removeOldOwner = true;
            }
            setOwner = true;
        }
    }
Exemple #4
0
 void OnTriggerStay(Collider collider)
 {
     if (setOwner)
     {
         GameObject playerGameObject;
         if (HandlerPlayer.ActiveGameObject(collider, out playerGameObject))
         {
             if (hasAuthority)
             {
                 if (removeOldOwner)
                 {
                     CmdRemoveOldOwnerGoldMine(gameObject.GetComponent <GoldMineScript>().getOwnerNetworkId());
                     removeOldOwner = false;
                 }
                 gameObject.GetComponent <GoldMineScript>().setOwner(playerGameObject.GetComponent <PlayerConnectionObjectScript>().netId);
                 setOwner = false;
                 CmdGivePlayerGoldMine(playerGameObject);
             }
         }
     }
 }