コード例 #1
0
    public void selectRoleIdx(int value)
    {
        Debug.Log(" -------selectRoleIdx ----" + value);
        int idx = 0;

        foreach (UInt64 dbid in ui_avatarList.Keys)
        {
            AVATAR_INFOS info = ui_avatarList[dbid];
            if (idx == value)
            {
                selAvatarDBID = info.dbid;
            }
            if (selAvatarDBID == info.dbid)
            {
                roleList[idx].GetComponent <Image>().color = Color.green;
            }
            else
            {
                roleList[idx].GetComponent <Image>().color = Color.white;
            }
            idx++;
        }
    }
コード例 #2
0
 public void onReqCreateAvatar(AVATAR_INFOS arg2)
 {
     changeScene();
 }
コード例 #3
0
ファイル: UI.cs プロジェクト: yuruyigit/kbengine_unity3d_demo
    void onSelAvatarUI()
    {
        if (startCreateAvatar == false && GUI.Button(new Rect(Screen.width / 2 - 100, Screen.height - 40, 200, 30), "RemoveAvatar(删除角色)"))
        {
            if (selAvatarDBID == 0)
            {
                err("Please select a Avatar!(请选择角色!)");
            }
            else
            {
                info("Please wait...(请稍后...)");

                if (ui_avatarList != null && ui_avatarList.Count > 0)
                {
                    AVATAR_INFOS avatarinfo = ui_avatarList[selAvatarDBID];
                    KBEngine.Event.fireIn("reqRemoveAvatar", avatarinfo.name);
                }
            }
        }

        if (startCreateAvatar == false && GUI.Button(new Rect(Screen.width / 2 - 100, Screen.height - 75, 200, 30), "CreateAvatar(创建角色)"))
        {
            startCreateAvatar = !startCreateAvatar;
        }

        if (startCreateAvatar == false && GUI.Button(new Rect(Screen.width / 2 - 100, Screen.height - 110, 200, 30), "EnterGame(进入游戏)"))
        {
            if (selAvatarDBID == 0)
            {
                err("Please select a Avatar!(请选择角色!)");
            }
            else
            {
                info("Please wait...(请稍后...)");

                KBEngine.Event.fireIn("selectAvatarGame", selAvatarDBID);
                SceneManager.LoadScene("world");
                ui_state = 2;
            }
        }

        if (startCreateAvatar)
        {
            if (GUI.Button(new Rect(Screen.width / 2 - 100, Screen.height - 40, 200, 30), "CreateAvatar-OK(创建完成)"))
            {
                if (stringAvatarName.Length > 1)
                {
                    startCreateAvatar = !startCreateAvatar;
                    KBEngine.Event.fireIn("reqCreateAvatar", (Byte)1, stringAvatarName);
                }
                else
                {
                    err("avatar name is null(角色名称为空)!");
                }
            }

            stringAvatarName = GUI.TextField(new Rect(Screen.width / 2 - 100, Screen.height - 75, 200, 30), stringAvatarName, 20);
        }

        if (ui_avatarList != null && ui_avatarList.Count > 0)
        {
            int idx = 0;
            foreach (UInt64 dbid in ui_avatarList.Keys)
            {
                AVATAR_INFOS info = ui_avatarList[dbid];

                idx++;

                Color color = GUI.contentColor;
                if (selAvatarDBID == info.dbid)
                {
                    GUI.contentColor = Color.red;
                }

                if (GUI.Button(new Rect(Screen.width / 2 - 100, Screen.height / 2 + 120 - 35 * idx, 200, 30), info.name))
                {
                    Debug.Log("selAvatar:" + info.name);
                    selAvatarDBID = info.dbid;
                }

                GUI.contentColor = color;
            }
        }
        else
        {
            if (KBEngineApp.app.entity_type == "Account")
            {
                KBEngine.Account account = (KBEngine.Account)KBEngineApp.app.player();
                if (account != null)
                {
                    ui_avatarList = new Dictionary <UInt64, AVATAR_INFOS>(account.avatars);
                }
            }
        }
    }
コード例 #4
0
    public void onReqAvatarList(Dictionary <UInt64, AVATAR_INFOS> getAvatarList)
    {
        log_label.color = UnityEngine.Color.green;
        log_label.text  = "";

        Monitor.Enter(KBEngineApp.app.entities);
        Account account          = (Account)KBEngineApp.app.player();
        UInt64  lastSelCharacter = (UInt64)account.lastSelCharacter;

        Monitor.Exit(KBEngineApp.app.entities);

        List <string> loads = new List <string>();

        avatarList.Clear();

        Common.DEBUG_MSG("selavatar_ui::onReqAvatarList: " + getAvatarList.Count);
        showAvatars[0] = showAvatars[1] = showAvatars[2] = false;

        bool hasClickSelAvatar = false;

        if (getAvatarList.Count > 0)
        {
            int idx = 0;
            foreach (UInt64 dbid in getAvatarList.Keys)
            {
                AVATAR_INFOS info = getAvatarList[dbid];
                AvatarInfo   ainfo;
                ainfo.roleType = (Byte)info.roleType;
                ainfo.name     = (string)info.name;
                ainfo.level    = (UInt16)info.level;
                ainfo.dbid     = (UInt64)info.dbid;

                showAvatars[idx++] = true;

                if (lastSelCharacter == ainfo.dbid)
                {
                    currsel_selListItem = "sel_list_item_focus" + idx;
                    on_selListItem1Click(UnityEngine.GameObject.Find(currsel_selListItem));
                    hasClickSelAvatar = true;
                }

                UnityEngine.GameObject sel_list_title = UnityEngine.GameObject.Find("sel_list_title" + idx);
                sel_list_title.GetComponent <TextMesh>().text = avatarnames[(int)ainfo.roleType] + "\r\n" + ainfo.level + "级\r\n" + ainfo.name;

                avatarList.Add(ainfo);

                string loadRes = roleType2Srouce(ainfo.roleType);

                if (loadRes != "")
                {
                    bool found = false;
                    for (int ii = 0; ii < loads.Count; ii++)
                    {
                        if (loads[ii] == loadRes)
                        {
                            found = true;
                            break;
                        }
                    }

                    if (found == false)
                    {
                        loads.Add(loadRes);
                    }
                }
            }

            if (hasClickSelAvatar == false)
            {
                currsel_selListItem = "sel_list_item_focus1";
                on_selListItem1Click(UnityEngine.GameObject.Find(currsel_selListItem));
            }
        }
        else
        {
            log_label.color = UnityEngine.Color.red;
            log_label.text  = "请创建一个角色!";
            on_gotocreateAvatarClick(null);
        }

        Monitor.Exit(account.avatars);

        loads.Add("avatar_wpgroup.unity3d");

        for (int i = 0; i < loads.Count; i++)
        {
            string loadRes = loads[i];
            Asset  asset   = null;

            foreach (KeyValuePair <string, Asset> assetsCache in Scene.assetsCache)
            {
                if (assetsCache.Value.source == loadRes)
                {
                    asset = assetsCache.Value;
                    break;
                }
            }

            if (asset == null)
            {
                Common.ERROR_MSG("onReqAvatarList: not found asset " + loadRes);
                continue;
            }

            asset.loadLevel = Asset.LOAD_LEVEL.LEVEL_ENTER_AFTER;
            if (i == 0 || getAvatarList.Count == 0)
            {
                asset.loadPri = 1;
            }

            loader.inst.loadPool.addLoad(asset);
        }

        if (loads.Count > 0)
        {
            loader.inst.loadPool.start();
        }

        windowsize = 50;
        refreshAvatarListIcon();
    }
コード例 #5
0
 /// <summary>
 /// 获取当前账号下玩家基础信息
 /// </summary>
 /// <param name="arg1"></param>
 public void onReqCreateAvatar(AVATAR_INFOS arg1)
 {
     SetAvatarBaseInfo(arg1);
 }
コード例 #6
0
 public void SetAvatarBaseInfo(UInt64 dbid, AVATAR_INFOS info)
 {
     AvatarBaseInfos.Add(dbid, info);
     SelectRoteId = dbid;
 }
コード例 #7
0
 public void SetAvatarBaseInfo(AVATAR_INFOS info)
 {
     AvatarBaseInfos.Add(info.dbid, info);
     SelectRoteId = info.dbid;
     CurWeapon    = info.weaponId;
 }