Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class InitializableMonoBehaviour : MonoBehaviour
- {
- private bool _isInitialized = false;
- protected virtual void Initialize()
- {
- Assert.IsFalse(_isInitialized);
- _isInitialized = true;
- }
- private void Start()
- {
- Assert.IsTrue(_isInitialized);
- }
- }
- public class BasicMonoBehaviour : InitializableMonoBehaviour
- {
- protected GameObject RootObject;
- protected Transform RootTransform;
- protected override void Initialize()
- {
- base.Initialize();
- RootObject = gameObject;
- RootTransform = RootObject.GetComponent<Transform>();
- }
- }
- public class PhysicMonoBehaviour : BasicMonoBehaviour
- {
- protected Rigidbody2D RootRigidbody;
- protected override void Initialize()
- {
- base.Initialize();
- RootRigidbody = RootObject.GetComponent<Rigidbody2D>();
- if (RootRigidbody == null)
- RootRigidbody = RootObject.AddComponent<Rigidbody2D>();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement