您的位置:首页 > 产品设计 > UI/UE

破坏神(2)NGUI实现角色选择界面

2015-09-28 17:55 357 查看

破坏神(2)NGUI实现角色选择界面






using UnityEngine;
using System.Collections;

public class StartMenuController : MonoBehaviour {

    public TweenScale startpanelTween;
    public TweenScale loginpanelTween;
    public TweenScale registerpanelTween;
    public TweenScale serverpanelTween;
    public TweenScale characterselecteTween;
    public TweenScale charactershowselecteTween;

    public static string username;
    public static string password;
    public static ServerProperty sp;
    public static string charactername;//character name
    public static string characterGreed;//character greed

    public UIInput usernameInputLogin;
    public UIInput passworldInputLogin;
    public UIInput usernameInputRegister;
    public UIInput passwordInputRegister;
    public UIInput passwordInputAnginRegister;
    public UIInput characterNameInput;

    public UILabel usernameLabelStart;
    public UILabel serverLabelStart;
    public UILabel characternameLabe;//character name show
    public UILabel characterGreedLabe;//character greed show

    private bool haveInitServerlist = false;
    public UIGrid serverlistGrid;

    public GameObject serveritemRed;
    public GameObject serveritemGreen;

    public GameObject serverSelectedGo;

    void Start()
    {
        InitServerlist();
    }
    public void OnUsernammeClick()
    {
        startpanelTween.PlayForward();
        StartCoroutine(HidePanel(startpanelTween.gameObject));
        loginpanelTween.gameObject.SetActive(true);
        loginpanelTween.PlayForward();
        
    }

    public void OnServerClick()
    {
        startpanelTween.PlayForward();
        StartCoroutine(HidePanel(startpanelTween.gameObject));
        serverpanelTween.gameObject.SetActive(true);
        serverpanelTween.PlayForward();
    }
    public void OnEnterGameClick()
    {
        startpanelTween.PlayForward();
        StartCoroutine(HidePanel(startpanelTween.gameObject));
        characterselecteTween.gameObject.SetActive(true);
        characterselecteTween.PlayForward();
    }

    IEnumerator HidePanel(GameObject go)
    {
        //yield return new WaitForSeconds(0.2f);
        go.SetActive(false);
        yield return new WaitForSeconds(0.4f);
    }

    public void OnLoginClick()
    {
        username = usernameInputLogin.value;
        password = passworldInputLogin.value;
        loginpanelTween.PlayReverse();
        StartCoroutine(HidePanel(loginpanelTween.gameObject));
        startpanelTween.gameObject.SetActive(true);
        usernameLabelStart.text = username;
        startpanelTween.PlayReverse();
    }
    public void OnRegisterShowClick()
    {
        loginpanelTween.PlayReverse();
        StartCoroutine(HidePanel(loginpanelTween.gameObject));
        registerpanelTween.gameObject.SetActive(true);
        registerpanelTween.PlayForward();
    }
    public void OnLoginCloseClick()
    {
        loginpanelTween.PlayReverse();
        StartCoroutine(HidePanel(loginpanelTween.gameObject));
        startpanelTween.gameObject.SetActive(true);
        startpanelTween.PlayReverse();
        
    }

    public void OnRegisterCancleClick()
    {
        registerpanelTween.PlayReverse();
        StartCoroutine(HidePanel(registerpanelTween.gameObject));
        startpanelTween.gameObject.SetActive(true);
        startpanelTween.PlayReverse();
    }
    public void OnRegisterLoginClick()
    {
        if (passwordInputRegister.value == passwordInputAnginRegister.value)
        {
            username = usernameInputRegister.value;
            password = passwordInputRegister.value;
            registerpanelTween.PlayReverse();
            StartCoroutine(HidePanel(registerpanelTween.gameObject));
            startpanelTween.gameObject.SetActive(true);
            usernameLabelStart.text = username;
            startpanelTween.PlayReverse();
        }
        else
        {

        }
    }
    public void OnRegisterCloseClick()
    {
        registerpanelTween.PlayReverse();
        StartCoroutine(HidePanel(registerpanelTween.gameObject));
        startpanelTween.gameObject.SetActive(true);
        startpanelTween.PlayReverse();
    }

    public void InitServerlist()
    {
        if (haveInitServerlist) return;

        //1,连接服务器 取得游戏服务器列表信息
        //TODO
        //2,根据上面的信息 添加服务器列表

        for (int i = 0; i < 20; i++)
        {
            string ip = "127.0.0.1:9080";
            string name = (i + 1) + "区 马达加斯加";
            int count = Random.Range(0, 100);
            GameObject go = null;
            if (count > 50)
            {
                //火爆
                go = NGUITools.AddChild(serverlistGrid.gameObject, serveritemRed);
            }
            else
            {
                //流畅
                go = NGUITools.AddChild(serverlistGrid.gameObject, serveritemGreen);
            }
            ServerProperty sp_set = go.GetComponent<ServerProperty>();
            sp_set.ip = ip;
            sp_set.name = name;
            sp_set.count = count;

            serverlistGrid.AddChild(go.transform);
        }

        haveInitServerlist = true;
    }

    public void OnServerselect(GameObject serverGo)
    {
        sp = serverGo.GetComponent<ServerProperty>();
        serverSelectedGo.GetComponent<UISprite>().spriteName = serverGo.GetComponent<UISprite>().spriteName;
        serverSelectedGo.transform.Find("Label").GetComponent<UILabel>().text =
            serverGo.transform.Find("Label").GetComponent<UILabel>().text;
        serverSelectedGo.transform.Find("Label").GetComponent<UILabel>().color =
            serverGo.transform.Find("Label").GetComponent<UILabel>().color;
    }

    public void OnServerSlectedClick()
    {
        serverpanelTween.PlayReverse();
        StartCoroutine(HidePanel(serverpanelTween.gameObject));
        startpanelTween.gameObject.SetActive(true);

        serverLabelStart.text = 
            serverSelectedGo.transform.Find("Label").GetComponent<UILabel>().text;
        startpanelTween.PlayReverse();
    }

    public void OncharacterselectClick()
    {
        characterselecteTween.PlayForward();
        StartCoroutine(HidePanel(characterselecteTween.gameObject));
        charactershowselecteTween.gameObject.SetActive(true);
        charactershowselecteTween.PlayForward();
    }

    public void OncharactershowblackClick()
    {
        charactershowselecteTween.PlayForward();
        StartCoroutine(HidePanel(charactershowselecteTween.gameObject));
        characterselecteTween.gameObject.SetActive(true);
        charactername = characterNameInput.value;
        characternameLabe.text = charactername;
        characterselecteTween.PlayForward();
    }

    //public void OnCharacterShowLoginClick()
    //{
    //    charactershowselecteTween.PlayForward();
    //    StartCoroutine(HidePanel(charactershowselecteTween.gameObject));
    //    characterselecteTween.gameObject.SetActive(true);
    //    charactername = characterNameInput.value;
    //    characternameLabe.text = charactername;
    //    characterselecteTween.PlayForward();
        
    //}
}


===================================================================================
结束。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: