protected virtual void EndHide() { State = ViewState.Hidden; foreach( GameObject g in dependentGameObjects ) { g.SendMessage( "OnViewEndHide", SendMessageOptions.DontRequireReceiver ); } if( deactivateWhenHidden ) { gameObject.SetActive(false); } }