70 lines
2.9 KiB
C#
70 lines
2.9 KiB
C#
|
|
// using System.Collections;
|
||
|
|
// using System.Collections.Generic;
|
||
|
|
// using UnityEngine;
|
||
|
|
//
|
||
|
|
// public class EventSvcForExample : MonoBehaviour
|
||
|
|
// {
|
||
|
|
// // ================================
|
||
|
|
// // 1. 定义事件类型和结构体 (EVENT_STRUCT)/(EVENT_ENUM)
|
||
|
|
// // ================================
|
||
|
|
//
|
||
|
|
// // private enum EVENT_REGISTER_EVENT_ENUM_EXAMPLE
|
||
|
|
// // {
|
||
|
|
// // EVENT_LET_OS_FOR_EXAMPLE, // 系统发牌
|
||
|
|
// // }
|
||
|
|
//
|
||
|
|
//
|
||
|
|
// // ================================
|
||
|
|
// // 2. 绑定事件 (EventSvcHandler)
|
||
|
|
// // ================================
|
||
|
|
//
|
||
|
|
// // private readonly Dictionary<EVENT_ENUM, Type> actionBindMap = new() // 事件类型类型绑定
|
||
|
|
// // {
|
||
|
|
// // // ========== 系统事件 ==========
|
||
|
|
// // { EVENT_ENUM.EVENT_LET_OS_DEAL_CARD, typeof(EVENT_STRUCT.STRUCT_EVENT_OS_DEAL_CARD) }, // 系统发牌事件
|
||
|
|
// //
|
||
|
|
// // // ========== 卡牌事件 ==========
|
||
|
|
// // { EVENT_ENUM.EVENT_LET_CARD_DRAW_CARD, typeof(EVENT_STRUCT.STRUCT_EVENT_CARD_DRAW_CARD) } // 卡牌抽牌事件
|
||
|
|
// // };
|
||
|
|
//
|
||
|
|
// // ================================
|
||
|
|
// // 3. 注册事件
|
||
|
|
// // ================================
|
||
|
|
//
|
||
|
|
// // private void REGISTER_EVENT_drop_card() // 系统弃牌
|
||
|
|
// // {
|
||
|
|
// // EventOS.EVENT_REGISTER<bool>(EVENT_ENUM.EVENT_LET_OS_DROP_CARD, callback);
|
||
|
|
// // return;
|
||
|
|
// // void callback(bool placeholder)
|
||
|
|
// // {
|
||
|
|
// // if (EventOS.LOCK_GET(EVENT_EXCLUSIVE_LOCK.LOCK_OS_DEAL_CARD)) return; // 系统是否正在发牌
|
||
|
|
// // if (!EventOS.LOCK_APPLY(EVENT_EXCLUSIVE_LOCK.LOCK_OS_DROP_CARD)) return; // 系统弃牌加锁失败
|
||
|
|
// // StartCoroutine(coroutine());
|
||
|
|
// // return;
|
||
|
|
// //
|
||
|
|
// //
|
||
|
|
// // IEnumerator coroutine()
|
||
|
|
// // {
|
||
|
|
// // if (handCardList.Count > 0)
|
||
|
|
// // {
|
||
|
|
// // // for (var i = handCardList.Count; i >= 0; i--)
|
||
|
|
// // for (var i = 0; i < handCardList.Count; i++)
|
||
|
|
// // {
|
||
|
|
// // EventOS.EVENT_TRIGGER(EventData.EVENT_REGISTER_EVENT_ENUM.EVENT_LET_CARD_DROP_SELF,
|
||
|
|
// // new EventStruct.STRUCT_EVENT_DROP_CARD
|
||
|
|
// // {
|
||
|
|
// // ID = i,
|
||
|
|
// // POSITION = drop_card_point_world_position,
|
||
|
|
// // DURATION = cardDropDuration,
|
||
|
|
// // });
|
||
|
|
// // yield return new WaitForSeconds(cardDropDuration);
|
||
|
|
// // }
|
||
|
|
// // }
|
||
|
|
// //
|
||
|
|
// // handCardList.Clear(); // 清空
|
||
|
|
// // EventOS.LOCK_RELEASE(EventLock.LOCK_EXCLUSIVE_CARD_ENUM.LOCK_OS_DROP_CARD);
|
||
|
|
// // // REGISTER_EVENT_ENEMY_TURN_START();
|
||
|
|
// // }
|
||
|
|
// // }
|
||
|
|
// // }
|
||
|
|
// }
|