73 lines
2.1 KiB
C#
73 lines
2.1 KiB
C#
//------------------------------------------------------------
|
|
// Game Framework
|
|
// Copyright © 2013-2021 Jiang Yin. All rights reserved.
|
|
// Homepage: https://gameframework.cn/
|
|
// Feedback: mailto:ellan@gameframework.cn
|
|
//------------------------------------------------------------
|
|
|
|
using GameFramework;
|
|
using UnityEngine;
|
|
|
|
namespace UnityGameFramework.Runtime
|
|
{
|
|
/// <summary>
|
|
/// 基础组件。
|
|
/// </summary>
|
|
[DisallowMultipleComponent]
|
|
[AddComponentMenu("Game Framework/ReferencePool")]
|
|
public sealed class ReferencePoolComponent : GameFrameworkComponent
|
|
{
|
|
[SerializeField]
|
|
private ReferenceStrictCheckType m_EnableStrictCheck = ReferenceStrictCheckType.AlwaysEnable;
|
|
|
|
/// <summary>
|
|
/// 获取或设置是否开启强制检查。
|
|
/// </summary>
|
|
public bool EnableStrictCheck
|
|
{
|
|
get
|
|
{
|
|
return ReferencePool.EnableStrictCheck;
|
|
}
|
|
set
|
|
{
|
|
ReferencePool.EnableStrictCheck = value;
|
|
if (value)
|
|
{
|
|
Log.Info("Strict checking is enabled for the Reference Pool. It will drastically affect the performance.");
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 游戏框架组件初始化。
|
|
/// </summary>
|
|
protected override void Awake()
|
|
{
|
|
base.Awake();
|
|
}
|
|
|
|
private void Start()
|
|
{
|
|
switch (m_EnableStrictCheck)
|
|
{
|
|
case ReferenceStrictCheckType.AlwaysEnable:
|
|
EnableStrictCheck = true;
|
|
break;
|
|
|
|
case ReferenceStrictCheckType.OnlyEnableWhenDevelopment:
|
|
EnableStrictCheck = Debug.isDebugBuild;
|
|
break;
|
|
|
|
case ReferenceStrictCheckType.OnlyEnableInEditor:
|
|
EnableStrictCheck = Application.isEditor;
|
|
break;
|
|
|
|
default:
|
|
EnableStrictCheck = false;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|