// Use this for initialization
 void Start()
 {
     marioGO           = GameObject.Find("Little Mario");
     superMarioGO      = GameObject.Find("Super Mario");
     duckingMarioGO    = GameObject.Find("Ducking Mario");
     ssMarioGO         = GameObject.Find("SS Mario");
     uiManager         = UIManager.uiManager;
     rb                = gameObject.GetComponent <Rigidbody2D>();
     rb.freezeRotation = true;
     //Initialize Mario forms
     littleMarioForm = new MarioForm(this, marioGO);
     superMarioForm  = new SuperMarioForm(this, superMarioGO, littleMarioForm);
     ssMarioForm     = new SSMarioForm(this, ssMarioGO, superMarioForm);
     //Set initial form and action state
     myState   = new Walking(this);
     marioForm = littleMarioForm;
     marioForm.Enter();
     //Always start in Little Mario
     duckingMarioGO.SetActive(false);
     superMarioGO.SetActive(false);
     ssMarioGO.SetActive(false);
 }
 //Transition to the next Mario form. Called by the Item with which the
 //player collides, with the next Mario form as the argument.
 public void Grow(MarioForm nextMario)
 {
     marioForm = marioForm.Exit(nextMario);
     marioForm.Enter();
 }