| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 | 
							- using Fort23.Core;
 
- namespace Fort23.UTool
 
- {
 
-     /// <summary>
 
-     /// 协程锁
 
-     /// </summary>
 
-     public class CoroutineLock : Entity
 
-     {
 
-         public long key;
 
-         public int count;
 
-         public bool isTimeout;
 
-         public string keyName;
 
-         [CustomMethod(CustomMethodType.Awake)]
 
-         public  void Awake( long k,string keyName, int count)
 
-         {
 
-             this.keyName = keyName;
 
-             this.key = k;
 
-             this.count = count;
 
-         }
 
-         [CustomMethod(CustomMethodType.Destroy)]
 
-         public  void Destroy()
 
-         {
 
-             if (!this.isTimeout)
 
-             {
 
-                 CoroutineLockComponent.Instance.Notify(this.key, keyName,this.count + 1);
 
-             }
 
-             else
 
-             {
 
-                 LogTool.Error($"coroutine lock timeout: {this.keyName} {this.count}");
 
-             }
 
-             this.key = 0;
 
-             this.count = 0;
 
-         }
 
-     }
 
-     public struct CoroutineLockTimer
 
-     {
 
-         public CTask<CoroutineLock> tcs;
 
-         /// <summary>
 
-         /// 持续时间
 
-         /// </summary>
 
-         public int duration;
 
-         public string keyName;
 
-     }
 
- }
 
 
  |