42 lines
1.7 KiB
C#
42 lines
1.7 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
public class CombatScenarioEventOS : MonoBehaviour
|
|
{
|
|
public static CombatScenarioEventOS Instance { get; private set; }
|
|
private EventSvcLock _event_svc_lock;
|
|
private EventSvcHandler _event_svc_handler;
|
|
[SerializeField] private bool needDebugLog = true;
|
|
public void SetDebugLog(bool value) => needDebugLog = value;
|
|
public bool GetNeedDebugLog() => needDebugLog;
|
|
|
|
private void Awake()
|
|
{
|
|
if (Instance != null && Instance != this)
|
|
{
|
|
Destroy(gameObject);
|
|
return;
|
|
}
|
|
|
|
Instance = this;
|
|
_event_svc_lock = new EventSvcLock();
|
|
_event_svc_handler = new EventSvcHandler();
|
|
DontDestroyOnLoad(gameObject);
|
|
}
|
|
|
|
// ================================
|
|
// 锁
|
|
// ================================
|
|
public bool LOCK_APPLY(EVENT_EXCLUSIVE_LOCK lockName) => _event_svc_lock.LOCK_APPLY(lockName);
|
|
public void LOCK_RELEASE(EVENT_EXCLUSIVE_LOCK lockName) => _event_svc_lock.LOCK_RELEASE(lockName);
|
|
public bool LOCK_GET(EVENT_EXCLUSIVE_LOCK lockName) => _event_svc_lock.LOCK_GET(lockName);
|
|
|
|
// ================================
|
|
// 事件
|
|
// ================================
|
|
public void EVENT_REGISTER<T>(EVENT_ENUM eventName, Action<T> callback) => _event_svc_handler.EVENT_REGISTER(eventName, callback);
|
|
public void EVENT_DISPATCH<T>(EVENT_ENUM eventName, T param) => _event_svc_handler.EVENT_DISPATCH(eventName, param);
|
|
public void EVENT_UNREGISTER<T>(EVENT_ENUM eventEnum, Action<T> callback) => _event_svc_handler.EVENT_UNREGISTER(eventEnum, callback);
|
|
} |