42 lines
1.5 KiB
C#
42 lines
1.5 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using JetBrains.Annotations;
|
|
using UnityEngine;
|
|
|
|
public class CardOS : MonoBehaviour
|
|
{
|
|
public static CardOS Instance { get; private set; }
|
|
private CardLockSvc cardLockSvc;
|
|
private CardEventSvc cardEventSvc;
|
|
|
|
private void Awake()
|
|
{
|
|
if (Instance != null && Instance != this)
|
|
{
|
|
Destroy(gameObject);
|
|
return;
|
|
}
|
|
|
|
Instance = this;
|
|
cardLockSvc = new CardLockSvc();
|
|
cardEventSvc = new CardEventSvc();
|
|
DontDestroyOnLoad(gameObject);
|
|
}
|
|
|
|
// *************** 锁 ****************
|
|
public bool LOCK_APPLY(CardEventData.LOCK_EXCLUSIVE_CARD_ENUM lock_name) => cardLockSvc.LOCK_APPLY(lock_name);
|
|
public void LOCK_RELEASE(CardEventData.LOCK_EXCLUSIVE_CARD_ENUM lock_name) => cardLockSvc.LOCK_RELEASE(lock_name);
|
|
|
|
public bool LOCK_GET(CardEventData.LOCK_EXCLUSIVE_CARD_ENUM lock_name) => cardLockSvc.LOCK_GET(lock_name);
|
|
|
|
// *************** 事件系统 ****************
|
|
public void EVENT_REGISTER<T>(CardEventData.EVENT_REGISTER_CARD_ENUM event_name, Action<T> callback) where T : struct =>
|
|
cardEventSvc.EVENT_REGISTER(event_name, callback);
|
|
|
|
public void EVENT_TRIGGER(CardEventData.EVENT_REGISTER_CARD_ENUM event_name, object data) =>
|
|
cardEventSvc.EVENT_TRIGGER(event_name, data);
|
|
|
|
// public void EVENT_UNREGISTER(CardEventData.EVENT_REGISTER_CARD_ENUM event_name, Action<object> callback) =>
|
|
// cardEventSvc.EVENT_UNREGISTER(event_name, callback);
|
|
} |