Пример #1
0
 public void Unclaim()
 {
     if (claimToken != null)
     {
         claimToken.Dispose();
         claimToken = null;
         claimStatusChangedCallback?.Invoke(false);
     }
     this.resourceClaimId = null;
 }
Пример #2
0
 private void TryClaim()
 {
     claimToken = claimKeeper.Claim(resourceClaimId);
     if (claimToken != null)
     {
         claimStatusChangedCallback?.Invoke(true);
         gameObject.SetActive(false);
     }
     else
     {
         timeSinceLastClaim        = Time.realtimeSinceStartup;
         waitingToEditMessage.text = $"Waiting to edit after {claimKeeper.GetEffectiveOwnerNickname(resourceClaimId)}";
         gameObject.SetActive(true);
     }
 }
Пример #3
0
 void Update()
 {
     if (resourceClaimId == null)
     {
         return;
     }
     if (claimToken == null)
     {
         float time = Time.realtimeSinceStartup;
         if (time >= timeSinceLastClaim + TRY_CLAIM_INTERVAL_S)
         {
             TryClaim();
         }
     }
     if (claimToken != null && !claimToken.IsStillMine())
     {
         claimToken.Dispose();
         claimToken = null;
         claimStatusChangedCallback?.Invoke(false);
     }
 }