//------------------------------------------------------------
// Game Framework
// Copyright © 2013-2021 loyalsoft. All rights reserved.
// Homepage: http://www.game7000.com/
// Feedback: http://www.game7000.com/
//------------------------------------------------------------
using GameFramework;
using UnityEngine;
namespace UnityGameFramework.Runtime
{
///
/// 基础组件。
///
[DisallowMultipleComponent]
[AddComponentMenu("Game Framework/ReferencePool")]
public sealed class ReferencePoolComponent : GameFrameworkComponent
{
[SerializeField]
private ReferenceStrictCheckType m_EnableStrictCheck = ReferenceStrictCheckType.AlwaysEnable;
///
/// 获取或设置是否开启强制检查。
///
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.");
}
}
}
///
/// 游戏框架组件初始化。
///
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;
}
}
}
}