using UnityEngine; public class CoreBehaviour : MonoBehaviour { private CoreDef _coreDef; protected CoreDef CoreDef { get { if (_coreDef == null) { CoreDefProvider provider = GetComponentInParent(); if (provider != null) { _coreDef = provider.coreDef; } else { Debug.LogError("CoreBehaviour should be a child of its CoreDefProvider"); } } return _coreDef; } } }