/**点击玩家 弹出加好友,组队功能界面*/ void OnCheckPlayerInfo(int actorid) { try { SharedGameObjectInfo share_info = ArkCrossEngine.LogicSystem.GetSharedGameObjectInfo(actorid); GfxUserInfo userInfo; bool sign = true; for (int i = 0; i < DFMUiRoot.GfxUserInfoListForUI.Count; i++) { if (DFMUiRoot.GfxUserInfoListForUI[i].m_ActorId == actorid) { sign = false; userInfo = DFMUiRoot.GfxUserInfoListForUI[i]; UnityEngine.GameObject go = UIManager.Instance.GetWindowGoByName("DynamicFriend"); if (null != go) { go.GetComponent <DynamicFriend>().InitPanel(userInfo, new UnityEngine.Vector3()); } LogicSystem.PublishLogicEvent("ge_request_player_info", "lobby", userInfo.m_Nick); break; } } if (sign) { GfxSystem.PublishGfxEvent("ge_screen_tip", "ui", ArkCrossEngine.StrDictionaryProvider.Instance.GetDictString(557), UIScreenTipPosEnum.AlignCenter, UnityEngine.Vector3.zero); } } catch (Exception ex) { ArkCrossEngine.LogicSystem.LogFromGfx("[Error]:Exception:{0}\n{1}", ex.Message, ex.StackTrace); } }
private IEnumerator EndGame() { // 关掉输入和移动 TouchManager.TouchEnable = false; GameObject player = GetPlayer(); if (null != player) { SharedGameObjectInfo info = LogicSystem.GetSharedGameObjectInfo(gameObject); if (null != info) { LogicSystem.PublishLogicEvent("ge_set_ai_enable", "ai", info.m_LogicObjectId, false); } } // 慢放 3s Time.timeScale = 0.1f; yield return(new WaitForSeconds(0.3f)); Time.timeScale = 1.0f; // stage clear OnStageClear(); player = GetPlayer(); if (null != player) { BaseSkillManager bsm = player.GetComponent <BaseSkillManager>(); if (null != bsm) { if (!bsm.IsUsingSkill()) { } else { SkillControllerInterface sc = bsm.GetSkillController(); if (null != sc) { sc.ForceStopCurSkill(); } } } } yield return(new WaitForSeconds(0.9f)); // 耍帅动作 GameObject gfxGameRoot = GameObject.Find("GfxGameRoot"); MainCamera cameraControl = gfxGameRoot.GetComponent <MainCamera>(); cameraControl.m_Distance = 10.0f; cameraControl.m_Height = 7.0f; player = GetPlayer(); if (null != player) { player.GetComponent <Animation>().PlayQueued("jianshi_shenguizhan_01", QueueMode.PlayNow); } yield return(new WaitForSeconds(1.2f)); cameraControl.m_Distance = 12.5f; cameraControl.m_Height = 7.9f; TouchManager.TouchEnable = true; OnShieldSword(); }
private void SendStart(int action) { if (action == 1) { LogicSystem.PublishLogicEvent("ge_start_mpve", "lobby", sceneId /*(int)MatchSceneEnum.Gold*/); } }
public void ExchangeSlot(UISkillSlot draged, UISkillSlot surface) { //NGUIDebug.Log(surface.name); if (draged == null || surface == null) { return; } UISkillSlot skillSlot = null; foreach (UISkillSlot slot in skillStorageArr) { if (slot != null && slot.SkillId == draged.SkillId) { skillSlot = slot; break; } } if (null == skillSlot) { return; } //被拖拽的技能之前没有被装备上 if (skillSlot.EquipedPos != null && skillSlot.EquipedPos.Presets[UISkillSetting.presetIndex] == SlotPosition.SP_None) { //todo:发送消息通知装载操作 LogicSystem.PublishLogicEvent("ge_mount_skill", "lobby", UISkillSetting.presetIndex, skillSlot.SkillId, surface.slotIndex); } else { LogicSystem.PublishLogicEvent("ge_swap_skill", "lobby", UISkillSetting.presetIndex, skillSlot.SkillId, (SlotPosition)skillSlot.EquipedPos.Presets[UISkillSetting.presetIndex], surface.slotIndex); } }
//点击操作装备技能 public void SendMsg(int targetId, SlotPosition targetPos) { if (uiSkillInfo == null) { return; } //uiSkillInfo.SkillId为SourceId,==-1则返回 if (uiSkillInfo.SkillId == -1) { return; } int sourceId = uiSkillInfo.SkillId; UISkillSlot sourceSlot = uiSkillStorage.GetSlot(sourceId); int currentPreset = UISkillSetting.presetIndex; if (sourceSlot != null) { if (sourceSlot.EquipedPos != null && sourceSlot.EquipedPos.Presets[currentPreset] == SlotPosition.SP_None) { LogicSystem.PublishLogicEvent("ge_mount_skill", "lobby", currentPreset, sourceId, targetPos); } else { LogicSystem.PublishLogicEvent("ge_swap_skill", "lobby", currentPreset, sourceId, sourceSlot.EquipedPos.Presets[UISkillSetting.presetIndex], targetPos); } } }
void Start() { try { // if get notice content successfully, show notice window OpenNotice(); // register events object obj = LogicSystem.EventChannelForGfx.Subscribe <int>("ge_set_current_server", "ui", SetCurrentServer); if (obj != null) { m_EventList.Add(obj); } obj = LogicSystem.EventChannelForGfx.Subscribe <int, string>("ge_login_result", "lobby", OnLoginResult); if (obj != null) { m_EventList.Add(obj); } obj = LogicSystem.EventChannelForGfx.Subscribe <bool>("ge_rolelist_result", "lobby", OnRoleListResult); if (obj != null) { m_EventList.Add(obj); } obj = LogicSystem.EventChannelForGfx.Subscribe("ge_ui_unsubscribe", "ui", UnSubscribe); if (obj != null) { m_EventList.Add(obj); } // try get server last login, or read from server table m_ServerId = PlayerPrefs.GetInt("LastLoginServerId"); SetCurrentServer(m_ServerId); // try get logic server last login m_LogicServerId = PlayerPrefs.GetInt("LastLoginLogicServerId"); SetCurrentLogicServer(m_LogicServerId); // update client version string version = ""; // get device info ,including uuid, system info, etc. UNITY_EDITOR #if UNITY_EDITOR string deviceUniqueIdentifier = SystemInfo.deviceUniqueIdentifier + ((uint)UnityEngine.Application.dataPath.GetHashCode()).ToString(); #elif UNITY_ANDROID || UNITY_IOS string deviceUniqueIdentifier = SystemInfo.deviceUniqueIdentifier; #else string deviceUniqueIdentifier = System.Guid.NewGuid().ToString(); #endif Debug.Log("device uuid: " + deviceUniqueIdentifier); string system = "all"; LogicSystem.PublishLogicEvent("ge_device_info", "lobby", deviceUniqueIdentifier, version, system); NormLog.Instance.UpdateDeviceidAndVersion(deviceUniqueIdentifier, version); } catch (System.Exception ex) { ArkCrossEngine.LogicSystem.LogErrorFromGfx("Exception {0}\n{1}", ex.Message, ex.StackTrace); } }
/*同意组队*/ void AgreeTeam(UnityEngine.GameObject go) { try { if (null != go) { RoleInfo role = LobbyClient.Instance.CurrentRole; if (null != role) { if (role.Group.Count < 3) { ulong guid = confirmDic[go].Guid; LogicSystem.PublishLogicEvent("ge_confirm_join_group", "lobby", role.Nickname, guid); //confirmDic.Remove(go); //NGUITools.DestroyImmediate(go); //RefreshGrid(); } else { SendScreeTipCenter(567); } } } } catch (Exception ex) { ArkCrossEngine.LogicSystem.LogFromGfx("[Error]:Exception:{0}\n{1}", ex.Message, ex.StackTrace); } }
void OnTriggerEnter(Collider other) { //玩家进入该区域触发 if (other.tag != "Player") { return; } if (NextSceneId <= 0) { return; } GameObject uiRoot = GameObject.FindGameObjectWithTag("UI"); if (uiRoot != null) { uiRoot.BroadcastMessage("OnStopBtnClicked"); } /// JoyStickInputProvider.JoyStickEnable = false; GestureArgs e = new GestureArgs(); e.name = "OnSingleTap"; e.airWelGamePosX = 0f; e.airWelGamePosY = 0f; e.airWelGamePosZ = 0f; e.selectedObjID = -1; LogicSystem.FireGestureEvent(e); //通知逻辑层切换场景 Debug.LogError("Change to Scene : " + NextSceneId); LogicSystem.PublishLogicEvent("ge_change_scene", "game", NextSceneId); }
private void AutoUnlockSkill(SkillInfo info) { if (null != info & info.SkillLevel <= 0) { LogicSystem.PublishLogicEvent("ge_unlock_skill", "lobby", UISkillSetting.presetIndex, info.SkillId); } }
/*离开队伍*/ void LeaveTeam(UnityEngine.GameObject go) { try { if (null != go) { RoleInfo role = LobbyClient.Instance.CurrentRole; if (null != role) { string name = teamDic[go].Nick; if (WorldSystem.Instance.WaitMatchSceneId > 0) { LogicSystem.PublishLogicEvent("ge_cancel_match", "lobby", (MatchSceneEnum)WorldSystem.Instance.WaitMatchSceneId); } LogicSystem.PublishLogicEvent("ge_quit_group", "lobby", name); confirmDic.Remove(go); NGUITools.DestroyImmediate(go); if (role.Guid == teamDic[go].Guid) { role.Group.Reset(); ArkCrossEngine.LogicSystem.EventChannelForGfx.Publish("ge_updata_member_info", "team"); } RefreshGrid(); } } } catch (Exception ex) { ArkCrossEngine.LogicSystem.LogFromGfx("[Error]:Exception:{0}\n{1}", ex.Message, ex.StackTrace); } }
public void OnSubmit() { string hintStr = ""; if (m_AcivateFailureCount > c_BanCount) { //封停 m_ActivateState = ActivateAccountState.Banned; string chn_des = StrDictionaryProvider.Instance.GetDictString(202); hintStr = chn_des; } if (m_ActivateState == ActivateAccountState.Unactivated) { if (uiInput != null) { string code = uiInput.value.Trim(); if (code.Equals(String.Empty)) { string chn_des = StrDictionaryProvider.Instance.GetDictString(203); hintStr = chn_des; } else { LogicSystem.PublishLogicEvent("ge_activate_account", "lobby", code); Invoke("OnActivateTimeout", c_TimeoutInterval); } } } if (lblHint != null) { lblHint.text = hintStr; NGUITools.SetActive(lblHint.gameObject, true); } }
private void SendStart(int action) { if (action == 1) { LogicSystem.PublishLogicEvent("ge_start_mpve", "lobby", sceneId); } }
public void ExchangeSlot(UISkillSlot draged, UISkillSlot surface) { if (draged == null || surface == null) { return; } UISkillSlot skillSlot = null; foreach (UISkillSlot slot in skillStorageArr) { if (slot != null && slot.SkillId == draged.SkillId) { skillSlot = slot; break; } } if (null == skillSlot) { return; } //如果surface与draged为同一个Slot,则不交换 if (surface.SkillId == skillSlot.SkillId) { string iconName = draged.icon.spriteName; skillSlot.SetIcon(iconName); return; } if (surface.slotType == SlotType.SkillSetting) { LogicSystem.PublishLogicEvent("ge_swap_skill", "lobby", UISkillSetting.presetIndex, skillSlot.SkillId, skillSlot.slotIndex, surface.slotIndex); } }
void OnClick() { if (m_IsPartnerFrag) { //todo:为伙伴灵魂石时,点击响应还待商讨 if (m_CanCompoundPartner) { LogicSystem.PublishLogicEvent("ge_compound_partner", "partner", m_PartnerId); } else { LogicSystem.EventChannelForGfx.Publish("ge_item_come_from", "ui", m_PartnerFragId); } } else { UIPartnerPanel partnerPanel = NGUITools.FindInParents <UIPartnerPanel>(gameObject); if (partnerPanel != null) { partnerPanel.SetPartnerInfo(m_PartnerId); } if (spSelectFlag != null) { NGUITools.SetActive(spSelectFlag.gameObject, true); } } }
private IEnumerator ReturnToMainCity() { yield return(new WaitForSeconds(5f)); //UIManager.Instance.HideWindowByName("JinBiVictoryPanel"); LogicSystem.PublishLogicEvent("ge_quit_battle", "lobby", false); }
public void OnLoginResult(int result, string accountId) { try { // mark account login GfxSystem.PublishGfxEvent("ge_enable_accountlogin", "ui"); // close connection window LogicSystem.EventChannelForGfx.Publish("ge_ui_connect_hint", "ui", true, false); // vairy login result AccountLoginResult ret = (AccountLoginResult)result; if (ret == AccountLoginResult.Success) { NormLog.Instance.UpdateUserid(accountId); } else if (ret == AccountLoginResult.FirstLogin) { UIManager.Instance.HideWindowByName("LoginPrefab"); UnityEngine.GameObject go = UIManager.Instance.GetWindowGoByName("Verification"); if (null != go) { go.GetComponent <UIVerification>().InitOpenType(UIVerification.OpenType.Verification); } UIManager.Instance.ShowWindowByName("Verification"); NormLog.Instance.UpdateUserid(accountId); } // login failed, back to login scene else { // get description of login result string chn_desc = string.Empty; if (ret == AccountLoginResult.Banned) { chn_desc = ArkCrossEngine.StrDictionaryProvider.Instance.GetDictString(209); } else if (ret == AccountLoginResult.AlreadyOnline) { chn_desc = ArkCrossEngine.StrDictionaryProvider.Instance.GetDictString(210); } else { chn_desc = ArkCrossEngine.StrDictionaryProvider.Instance.GetDictString(208); } string reloginTip = ArkCrossEngine.StrDictionaryProvider.Instance.GetDictString(211); // display YesOrNo dialog, call relogin if needed LogicSystem.EventChannelForGfx.Publish("ge_show_dialog", "ui", chn_desc, reloginTip, null, null, (MyAction <int>)OnRelogin, false); // close socket connection LogicSystem.PublishLogicEvent("ge_stop_login", "lobby"); } NormLog.Instance.Record(GameEventCode.VerifyResult); } catch (Exception ex) { ArkCrossEngine.LogicSystem.LogFromGfx("[Error]:Exception:{0}\n{1}", ex.Message, ex.StackTrace); } }
public void OnMarsLoadingFinished() { if (ArkCrossEngine.WorldSystem.Instance.IsPvapScene()) { LogicSystem.PublishLogicEvent("pvp_begin_fight", "pvp"); } UIManager.Instance.HideWindowByName("Marsloading"); }
public void ClickToMainCity() { if (canClick) { //UIManager.Instance.HideWindowByName("JinBiVictoryPanel"); LogicSystem.PublishLogicEvent("ge_quit_battle", "lobby", true); } }
public void OnChallengeClick() { LogicSystem.PublishLogicEvent("start_challenge", "arena", m_PlayerInfo.Guid); // UIPartnerPvpRightInfo right_info = NGUITools.FindInParents<UIPartnerPvpRightInfo>(gameObject); // if (right_info != null) { // right_info.RefreshMatchPlayerInfo(true); // } }
protected void NotifyNpcDead(GameObject obj) { if (null != obj) { LogicSystem.PublishLogicEvent("ge_notify_npc_dead", "npc", GetLogicId(obj)); //Debug.LogError("on npc dead" + GetLogicId(obj)); } }
public void StartStory() { m_BoxCollider.isTrigger = true; DisableParticals(); LogicSystem.PublishLogicEvent("ge_create_npc_by_story", "npc", m_UnitIdFrom, m_UnitIdTo); m_AliveUnitCount = m_UnitIdTo - m_UnitIdFrom + 1; m_Batch -= 1; Debug.Log("Start Story, there are " + m_AliveUnitCount + " to be kill."); }
public void OnMonsterEnterScene() { Animator animator = gameObject.GetComponent <Animator>(); float directionAngle = Quaternion.ToEulerAngles(animator.bodyRotation).y; Debug.LogError(this.transform.eulerAngles); LogicSystem.PublishLogicEvent("ge_create_npc", "npc", m_NpcId, this.transform.position.x, this.transform.position.y, this.transform.position.z, directionAngle); GameObject.Destroy(gameObject); }
//刷新玩家 public void RefreshMatchPlayerInfo(bool isRefresh, bool resetIndex) { if (!isRefresh) { //从副本(除战神赛)中回到主城不需要刷新拼配伙伴 if (m_CurrentChallengeGroupIndex > 0 && m_CurrentChallengeGroupIndex <= 3) { m_CurrentChallengeGroupIndex--; } } if (resetIndex) { m_CurrentChallengeGroupIndex = 0; //从服务器取的新数据 } if (m_CurrentChallengeGroupIndex == 3) { //缓存数据已更新完 需要重新发送消息更新缓存数据 LogicSystem.EventChannelForGfx.Publish("ge_ui_connect_hint", "ui", true, true); m_CurrentChallengeGroupIndex = 0; LogicSystem.PublishLogicEvent("query_match_group", "arena"); return; } else { RoleInfo role_info = LobbyClient.Instance.CurrentRole; if (role_info != null && role_info.ArenaStateInfo != null) { ArenaStateInfo arena_info = role_info.ArenaStateInfo; if (m_CurrentChallengeGroupIndex < arena_info.MatchGroups.Count) { //默认arena_info.MatchGroups一直顺序存放着数据且数据正确 MatchGroup match_group = arena_info.MatchGroups[m_CurrentChallengeGroupIndex]; if (match_group == null) { return; } if (arenaPlayerArr.Length == 3) { if (arenaPlayerArr[0] != null) { arenaPlayerArr[0].InitPlayerInfo(match_group.One); } if (arenaPlayerArr[1] != null) { arenaPlayerArr[1].InitPlayerInfo(match_group.Two); } if (arenaPlayerArr[2] != null) { arenaPlayerArr[2].InitPlayerInfo(match_group.Three); } } } m_CurrentChallengeGroupIndex++; } } }
public void OnLoginButtonClick() { string password = this.transform.Find("Input/Password").GetComponent <UIInput>().value; string username = this.transform.Find("Input/UserName").GetComponent <UIInput>().value; string nodeIp = this.transform.Find("IpAddr").GetComponent <UIInput>().value; int nodePort = int.Parse(this.transform.Find("Port").GetComponent <UIInput>().value); LogicSystem.PublishLogicEvent("ge_login_lobby", "lobby", "http://" + nodeIp + ":" + nodePort, username, password); UnityEngine.Debug.LogError(string.Format("publish ge_login_lobby {0} {1} {2}", "http://" + nodeIp + ":" + nodePort, username, password)); }
//扫荡事件 public void OnWipeoutBtnClick() { if (m_SubSceneType == SubSceneType.Master) { } RoleInfo role = LobbyClient.Instance.CurrentRole; if (null != role) { ItemDataInfo info = role.GetItemData(ItemConfigProvider.Instance.GetSweepStageItemId(), 0); if (null != info) { Data_SceneConfig sceneCfg = SceneConfigProvider.Instance.GetSceneConfigById(m_SceneId); if (role.CurStamina < sceneCfg.m_CostStamina) { SendDialog(907, 4, null); return; } if (info.ItemNum < 1) { SendDialog(901, 4, null); return; } if (m_SubSceneType == SubSceneType.Common) { if (info.ItemNum >= 1) { LogicSystem.PublishLogicEvent("ge_sweep_stage", "lobby", m_SceneId, 1); return; } } else if (m_SubSceneType == SubSceneType.Master) { if (info.ItemNum >= 1) { int complete_count = role.GetCompletedSceneCount(m_SceneId); if (complete_count < 3) { LogicSystem.PublishLogicEvent("ge_sweep_stage", "lobby", m_SceneId, 1); return; } else { SendDialog(902, 4, null); return; } } } } else { SendDialog(901, 4, null); } } }
//召唤队友 public void OnSummonPartnerClick() { if (!m_IsStartCd) { LogicSystem.PublishLogicEvent("ge_summon_partner", "partner"); } else { string CHN = StrDictionaryProvider.Instance.GetDictString(704); LogicSystem.EventChannelForGfx.Publish("ge_screen_tip", "ui", CHN, UIScreenTipPosEnum.AlignBottom, UnityEngine.Vector3.zero); } }
public void ButtonForNickName() { if (m_NicknameCount < m_NicknameList.Count) { SetHeroNickName(m_NicknameList[m_NicknameCount]); m_NicknameCount++; } else { LogicSystem.PublishLogicEvent("ge_create_nickname", "lobby"); } }
public void OnClickMatch() { if (CheckMatchingOther()) {//正在匹配其他 return; } RoleInfo role = LobbyClient.Instance.CurrentRole; GroupInfo group = role.Group; if (isMatching == true) { if (null != group && group.Members.Count > 1) { if (group.CreatorGuid == role.Guid) { LogicSystem.PublishLogicEvent("ge_cancel_match", "lobby", MatchSceneEnum.Attempt); } else { SendScreeTipCenter(853); } } else { LogicSystem.PublishLogicEvent("ge_cancel_match", "lobby", MatchSceneEnum.Attempt); } } else { if (group.Count == 0) {//无组队 LogicSystem.PublishLogicEvent("ge_request_match_mpve", "lobby", sceneId); } else { //有组队 if (group.CreatorGuid == role.Guid) { //自己是队长 if (group.Members.Count >= GroupInfo.c_MemberNumMax) { //已满 ShowTip(ArkCrossEngine.StrDictionaryProvider.Instance.GetDictString(567)); //提示队伍已满 } else { LogicSystem.PublishLogicEvent("ge_request_match_mpve", "lobby", sceneId); } } else { //其他人队长 SendScreeTipCenter(853); //提示 你不是队长 } } } }
// void OnEnable() { try { isEnable = true; LogicSystem.PublishLogicEvent("ge_request_vigor", "lobby"); } catch (System.Exception ex) { ArkCrossEngine.LogicSystem.LogErrorFromGfx("[Error]:Exception:{0}\n{1}", ex.Message, ex.StackTrace); } }
public void InitPanel() { ClearItem(); GfxSystem.EventChannelForLogic.Publish("ge_get_gowstar_list", "lobby", 0, 10); if (role.ArenaStateInfo.IsNeedQueryTopRank()) { LogicSystem.PublishLogicEvent("query_rank_list", "arena"); } else { RecordInfoHandler(role.ArenaStateInfo.RankList); } }