Game_CodeMM/Assets/00_scripts/Events/Backup/EventSvcForExample.cs

70 lines
2.9 KiB
C#
Raw Normal View History

2025-11-18 19:22:47 +08:00
// 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();
// // }
// // }
// // }
// }