Advertisement
Guest User

Untitled

a guest
Apr 26th, 2017
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 0.98 KB | None | 0 0
  1. public class InitializableMonoBehaviour : MonoBehaviour
  2. {
  3.     private bool _isInitialized = false;
  4.     protected virtual void Initialize()
  5.     {
  6.         Assert.IsFalse(_isInitialized);
  7.         _isInitialized = true;
  8.     }
  9.     private void Start()
  10.     {
  11.         Assert.IsTrue(_isInitialized);
  12.     }
  13. }
  14.  
  15. public class BasicMonoBehaviour : InitializableMonoBehaviour
  16. {
  17.     protected GameObject RootObject;
  18.     protected Transform RootTransform;
  19.     protected override void Initialize()
  20.     {
  21.         base.Initialize();
  22.         RootObject = gameObject;
  23.         RootTransform = RootObject.GetComponent<Transform>();
  24.     }
  25. }
  26.  
  27. public class PhysicMonoBehaviour : BasicMonoBehaviour
  28. {
  29.     protected Rigidbody2D RootRigidbody;
  30.     protected override void Initialize()
  31.     {
  32.         base.Initialize();
  33.         RootRigidbody = RootObject.GetComponent<Rigidbody2D>();
  34.         if (RootRigidbody == null)
  35.             RootRigidbody = RootObject.AddComponent<Rigidbody2D>();
  36.     }
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement