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++; } }
public void onReqCreateAvatar(AVATAR_INFOS arg2) { changeScene(); }
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); } } } }
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(); }
/// <summary> /// 获取当前账号下玩家基础信息 /// </summary> /// <param name="arg1"></param> public void onReqCreateAvatar(AVATAR_INFOS arg1) { SetAvatarBaseInfo(arg1); }
public void SetAvatarBaseInfo(UInt64 dbid, AVATAR_INFOS info) { AvatarBaseInfos.Add(dbid, info); SelectRoteId = dbid; }
public void SetAvatarBaseInfo(AVATAR_INFOS info) { AvatarBaseInfos.Add(info.dbid, info); SelectRoteId = info.dbid; CurWeapon = info.weaponId; }