12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- using UnityEngine;
- using UnityEngine.UI;
- using System.Collections;
- using System.Collections.Generic;
- public class FriendFindView : View
- {
- public Text findLabel;
- public InputField inputField;
- public Text findBtnLabel;
- public Text findTipTxt;
- public Transform container;
- public FriendFindItem itemPrefab;
- void Awake()
- {
- findLabel.text = Language.GetStr ("ChatPanel", "findLabel");
- findBtnLabel.text = Language.GetStr ("ChatPanel", "findBtnLabel");
- findTipTxt.text = Language.GetStr ("ChatPanel", "findTip");
- inputField.onValidateInput += StringUtil.InputValidateHandler;
- OnFindResult (null);
- }
- protected override void OnDestroy ()
- {
- base.OnDestroy ();
- ChatManager.GetInstance ().FindFriendResult.RemoveListener (OnFindResult);
- inputField.onValidateInput -= StringUtil.InputValidateHandler;
- }
- public void FindInputChanged()
- {
- inputField.text = StringUtil.LimitInput (inputField.text, Config.MAX_USER_NAME_LENGTH);
- }
- public void Find()
- {
- if (!StringUtil.Empty (inputField.text)) {
- ChatManager.GetInstance ().FindFriendResult.AddListener (OnFindResult);
- ChatManager.GetInstance ().FindFriend (inputField.text);
- }
- }
- private void OnFindResult(List<UserData> list)
- {
- ChatManager.GetInstance ().FindFriendResult.RemoveListener (OnFindResult);
- int index = 0;
- if(list != null)
- {
- for(int i=0; i<list.Count; i++)
- {
- FriendFindItem item = null;
- if (i < container.childCount) {
- item = container.GetChild (i).GetComponent<FriendFindItem> ();
- } else {
- item = Instantiate<GameObject> (itemPrefab.gameObject).GetComponent<FriendFindItem> ();
- PopUpManager.AddToMainCanvas (item.gameObject, container);
- }
- item.gameObject.SetActive (true);
- item.SetData (list [i]);
- index++;
- }
- }
- for(int i=index; i<container.childCount; i++)
- {
- FriendFindItem item = container.GetChild(i).GetComponent<FriendFindItem>();
- item.gameObject.SetActive (false);
- }
- }
- }
|