临时提交

This commit is contained in:
mnjnhuang 2025-11-18 17:50:01 +08:00
parent 2d1098001c
commit 6f826d916d
4 changed files with 58 additions and 41 deletions

View File

@ -22,4 +22,11 @@ public enum EVENT_METHODS // 事件方法
PUT = 3, // 修改
POST = 0, // 默认发送, 不需要任何返回
DELETE = 2, // 删除
}
public enum EVENT_EVENT_OS_STATUS
{
NULL = 0, // 等待
DEAL_RUNNING = 1, // 正在发牌
DROP_RUNNING = 2, // 正在弃牌
}

View File

@ -5,7 +5,13 @@ using UnityEngine;
public struct EVENT_STRUCT
{
// ************** 系统数据结构 ****************
public struct STRUCT_EVENT_OS_DEAL_CARD
// public struct STRUCT_EVENT_OS_SWITCH_STATUS
// {
// public EVENT_METHODS METHOD;
// public EVENT_STATUS_ENUM STATUS;
// }
public struct STRUCT_EVENT_OS_DEAL_CARD // 系统发牌
{
public EVENT_METHODS METHOD;
public int HAND_CARD_COUNT; // 手牌数量
@ -15,7 +21,7 @@ public struct EVENT_STRUCT
// ************** 卡牌数据结构 ****************
public struct STRUCT_EVENT_CARD_DRAW_CARD
public struct STRUCT_EVENT_CARD_DRAW_CARD // 抽卡
{
public EVENT_METHODS METHOD;
public int ID;
@ -26,7 +32,7 @@ public struct EVENT_STRUCT
public float DURATION;
}
public struct STRUCT_EVENT_CARD_DROP_CARD
public struct STRUCT_EVENT_CARD_DROP_CARD // 弃牌
{
public EVENT_METHODS METHOD;
public int ID;

View File

@ -18,6 +18,10 @@ public class TurnEventManagement : MonoBehaviour
EVENT_dispatch_os_deal_card();
}
// ================================
// 注册管理事件
// ================================
// ================================
// 触发事件

View File

@ -17,7 +17,7 @@ public class TurnHandlerDropCard : MonoBehaviour
private void Awake()
{
EventOS = CombatScenarioEventOS.Instance;
REGISTER_EVENT_drop_card();
// REGISTER_EVENT_drop_card();
}
private void Start()
@ -30,41 +30,41 @@ public class TurnHandlerDropCard : MonoBehaviour
out drop_card_point_world_position);
}
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();
}
}
}
// 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();
// }
// }
// }
}