using UnityEngine; using UnityEngine.UI; using UnityEngine.Events; public class btmandtopController : MonoBehaviour { [Header("player unique so")] public Player_SO player_SO; [Header("put prefabs here")] public GameObject putPrefabsHere; [Header("son buttons")] public Button settings_launch; public Button userInfo_launch; public Button store_launch; public Button showLevel_display; public Button email_display; public Button notice_display; public Button button_Music; [Header("MusicPic")] public RectTransform musicPicRoot; public bool showMusicPicInUI = false; public string uiSceneName = "UI_UI"; public float musicPicFadeTime = 0.25f; [Header("sig prefabs")] public GameObject showLevel_prefab; public GameObject store_prefab; public GameObject settings_prefab; public GameObject userInfo_prefab; public GameObject email_prefab; public GameObject notice_prefab; private UnityAction instantiateSettings; private UnityAction instantiateUserInfo; private UnityAction instantiateStore; private UnityAction instantiateShowLevel; private UnityAction instantiateEmail; private UnityAction instantiateNotice; // cached reference to the settings instance to ensure only one exists private GameObject settingsInstance; private GameObject showLevelInstance; private GameObject emailInstance; private GameObject noticeInstance; private CanvasGroup musicPicGroup; private Coroutine musicPicFade; private bool musicPicVisible = true; void Awake() { EnsureMusicPicRoot(); } void Start() { if (button_Music == null) { var btn = transform.Find("Button_Music") as RectTransform; if (btn != null) button_Music = btn.GetComponent