//------------------------------------------------------------ // 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; } } } }