public GameObject settingsPanel; //The panel for the options menu. #endif #endregion _iMMOSETTINGS #endregion Variables #region Functions // Grabs our hidden components controls. private void Start() { network = GameObject.Find("NetworkManager").GetComponent <NetworkManagerMMO>(); auth = network.GetComponent <NetworkAuthenticatorMMO>(); popup = GameObject.Find("Popup").GetComponent <UIPopup>(); loginUI = GameObject.Find("Login").GetComponent <UILogin>(); mainMenuPanel = transform.GetChild(0).gameObject; #if _iMMOSETTINGS settingsButton = transform.GetChild(0).transform.GetChild(0).transform.GetChild(1).transform.GetChild(0).gameObject.GetComponent <Button>(); settingsPanel = GameObject.Find("UCE_UI_Settings"); #endif }
// ----------------------------------------------------------------------------------- // Update // ----------------------------------------------------------------------------------- private void Update() { Player player = Player.localPlayer; if (!player) { return; } if (manager == null) { manager = FindObjectOfType <NetworkManagerMMO>(); } if (auth == null) { auth = manager.GetComponent <NetworkAuthenticatorMMO>(); } if (manager != null && panel.activeSelf) { // item slot if (itemIndex != -1) { ScriptableItem item = player.inventory.slots[itemIndex].item.data; itemSlot.GetComponent <Image>().color = Color.white; itemSlot.GetComponent <Image>().sprite = item.image; itemSlot.GetComponent <UIShowToolTip>().enabled = true; itemSlot.GetComponent <UIShowToolTip>().text = item.ToolTip(); } else { itemSlot.GetComponent <Image>().color = Color.clear; itemSlot.GetComponent <Image>().sprite = null; itemSlot.GetComponent <UIShowToolTip>().enabled = false; } // no one selected yet, show search box if (string.IsNullOrEmpty(recipient)) { searchPanel.gameObject.SetActive(true); messagePanel.gameObject.SetActive(false); itemIndex = -1; if (search.text.Length > 0 && search.text.Length <= auth.accountMaxLength && Regex.IsMatch(search.text, @"^[a-zA-Z0-9_]+$")) { searchButton.interactable = true; } else { searchButton.interactable = false; } searchButton.onClick.SetListener(() => { if (NetworkTime.time >= player.nextRiskyActionTime) { //prepare and send search request, get response sending = true; search.interactable = false; searchButton.interactable = false; player.CmdMail_Search(search.text); dialogMessage.text = "Searching..."; dialog.SetActive(true); } }); } else { searchPanel.gameObject.SetActive(false); messagePanel.gameObject.SetActive(true); recipientText.text = recipient; acceptButton.interactable = !string.IsNullOrEmpty(subject.text) && player.mailSettings.costPerMail.checkCost(player); acceptButton.onClick.SetListener(() => { if (NetworkTime.time >= player.nextRiskyActionTime) { sending = true; dialogMessage.text = "Sending Mail..."; dialog.SetActive(true); player.CmdMail_Send(recipient, subject.text, body.text, itemIndex); itemIndex = -1; } }); dialogButton.onClick.SetListener(() => { cancelButton.onClick.Invoke(); }); } //show the dialog button if we are not sending dialogButton.gameObject.SetActive(!sending); // cancel cancelButton.interactable = !sending; cancelButton.onClick.SetListener(() => { recipient = ""; search.text = ""; subject.text = ""; body.text = ""; sending = false; itemIndex = -1; UIUtils.BalancePrefabs(searchSlot.gameObject, 0, searchContent); dialog.SetActive(false); panel.SetActive(false); }); } }