private static List <UIOfficerInfo> TransformConf2UI(List <ConfOfficer> conf_) { List <UIOfficerInfo> ret = new List <UIOfficerInfo>(); List <ConfOfficer> ori_data = conf_; foreach (var item in ori_data) { OfficerInfo server_info = GlobalInfo.MY_PLAYER_INFO.GetOfficerInfo(item.id); if (null != server_info) { UIOfficerInfo info = new UIOfficerInfo() { m_lvl = server_info.Level, m_data = item, }; ret.Add(info); } else { UIOfficerInfo info = new UIOfficerInfo() { m_lvl = 0, m_data = item, }; ret.Add(info); } } ret.Sort(OfficerCompare); return(ret); }
private void RefreshOfficerView() { List <OfficerInfo> temp = GlobalInfo.MY_PLAYER_INFO.Officer_infos; if (0 != PlayerInfoManager.Instance.LimitNum) { temp = temp.GetRange(0, PlayerInfoManager.Instance.LimitNum); } List <long> new_dispatched_ids = GameEvents.UIEvents.UI_Enter_Event.Tell_GetAllDispatchedOfficerID.SafeInvoke(); bool same = true; same = m_dispatched_polices.Count == new_dispatched_ids.Count; if (same) { foreach (var id in new_dispatched_ids) { if (!m_dispatched_polices.Contains(id)) { same = false; break; } } } if (m_officers.Count != temp.Count || !same) { m_officers = temp; m_officer_timestamp = GlobalInfo.MY_PLAYER_INFO.OfficerTimestamp; List <OfficerInfo> temp_officers = new List <OfficerInfo>(m_officers); m_dispatched_polices = GameEvents.UIEvents.UI_Enter_Event.Tell_GetAllDispatchedOfficerID.SafeInvoke(); if (m_dispatched_polices.Count > 0) { temp_officers.RemoveAll((item) => m_dispatched_polices.Contains(item.OfficerId)); } int police_num = temp_officers.Count; this.m_police_item_pool.EnsureSize <SelectPoliceItem>(police_num); for (int i = 0; i < police_num; ++i) { OfficerInfo info = temp_officers[i]; var item = this.m_police_item_pool.GetChild <SelectPoliceItem>(i); item.Refresh(info, OnClickPolice, GameEvents.UIEvents.UI_Enter_Event.Tell_GetGameType.SafeInvoke()); item.gameObject.name = i.ToString(); item.Visible = true; } } }
public void Refresh(ConfOfficer ori_info_, OfficerInfo server_info_) { this.m_portrait_icon.Sprite = ori_info_.icon; long officer_id = null == server_info_ ? ori_info_.id : server_info_.OfficerId;; int lvl = null == server_info_ ? 0 : server_info_.Level; int outsight = null == server_info_ ? ori_info_.outsight : server_info_.Outsight; int memory = null == server_info_ ? ori_info_.memory : server_info_.Memory; int attention = null == server_info_ ? ori_info_.attention : server_info_.Attention; int willpower = null == server_info_ ? ori_info_.willpower : server_info_.WillPower; m_name_title.Text = LocalizeModule.Instance.GetString(ori_info_.name); m_quality_label.Text = PoliceUILogicAssist.GetQualityString(ori_info_.quality); m_lvl_icon.Sprite = PoliceUILogicAssist.GetPoliceRankIcon(lvl); string icon_name, desc; if (SkillUtil.GetCurLevelSkillIconAndDesc(officer_id, lvl, out icon_name, out desc)) { if (lvl == 0) { this.m_skillLevelLab.Text = "1"; } else { this.m_skillLevelLab.Text = lvl.ToString(); } m_skill_icon.Sprite = icon_name; m_skill_desc.Text = desc; } m_ability_icon.SetPropList(new List <float> { outsight, memory, attention, willpower }); m_observe_num.Text = outsight.ToString(); m_memory_num.Text = memory.ToString(); m_attention_num.Text = attention.ToString(); m_willpower_num.Text = willpower.ToString(); List <string> key_words = PoliceUILogicAssist.GetKeyWords(ori_info_); List <string> key_words_icon = PoliceUILogicAssist.GetKeyWordsIcon(ori_info_); foreach (var key in m_key_roots) { key.Visible = false; } for (int i = 0; i < key_words.Count && i < m_key_labels.Count; ++i) { m_key_roots[i].Visible = true; m_key_labels[i].Text = key_words[i]; m_key_icons[i].Sprite = key_words_icon[i]; } }
public static int OfficerCompare(OfficerInfo a, OfficerInfo b) { if (a.OfficerId == b.OfficerId) { return(0); } if (a.Level > 0 && 0 == b.Level) { return(-1); } else if (0 == a.Level && b.Level > 0) { return(1); } else { if (ConfOfficer.Get(a.OfficerId).quality > ConfOfficer.Get(b.OfficerId).quality) { return(-1); } else if (ConfOfficer.Get(a.OfficerId).quality < ConfOfficer.Get(b.OfficerId).quality) { return(1); } else { if (a.Level > b.Level) { return(-1); } else if (a.Level < b.Level) { return(1); } else { if (a.OfficerId < b.OfficerId) { return(-1); } else if (a.OfficerId > b.OfficerId) { return(1); } else { return(-1); } } } } }
public void AddOfficerInfo(OfficerInfo info_) { m_timestamp = System.DateTime.Now.Millisecond; if (m_officer_dict.ContainsKey(info_.OfficerId)) { m_officer_dict[info_.OfficerId] = info_; return; } m_officer_dict.Add(info_.OfficerId, info_); //this.m_officer_infos.Add(info_); }
public void AddOfficerInfo(long officerId) { OfficerInfo officerInfo = new OfficerInfo(); officerInfo.PlayerOfficerId = officerId * 100; officerInfo.OfficerId = officerId; officerInfo.Level = 1; ConfOfficer confOfficer = ConfOfficer.Get(officerId); officerInfo.Outsight = confOfficer.outsight; officerInfo.WillPower = confOfficer.willpower; officerInfo.Attention = confOfficer.attention; officerInfo.Memory = confOfficer.memory; officerInfo.VitConsume = confOfficer.vitConsume; officerInfo.SecondGain = confOfficer.secondGain; AddOfficerInfo(officerInfo); //officerInfo.Outsight }
private void RefreshOfficerView() { //if (m_officer_timestamp != GlobalInfo.MY_PLAYER_INFO.OfficerTimestamp) List <OfficerInfo> temp = GlobalInfo.MY_PLAYER_INFO.Officer_infos; if (0 != PlayerInfoManager.Instance.LimitNum) { temp = temp.GetRange(0, PlayerInfoManager.Instance.LimitNum); } if (m_officers.Count != temp.Count) { m_officers = temp; m_officer_timestamp = GlobalInfo.MY_PLAYER_INFO.OfficerTimestamp; int police_num = m_officers.Count; this.m_police_item_pool.EnsureSize <CustomPoliceItem>(police_num); for (int i = 0; i < police_num; ++i) { OfficerInfo info = m_officers[i]; var item = this.m_police_item_pool.GetChild <CustomPoliceItem>(i); item.OfficerID = info.OfficerId; item.InitTex(ConfOfficer.Get(info.OfficerId).portrait); item.InitMaterial(); item.gameObject.name = i.ToString(); } List <BlurGrayTexture> polices = new List <BlurGrayTexture>(); for (int i = 0; i < this.m_police_item_pool.ChildCount; ++i) { polices.Add(this.m_police_item_pool.GetChild <CustomPoliceItem>(i).Police_head_tex); } this.m_curve_move_panel.InitCustomItems(polices); RefreshNum(1); } }
protected override void InitCarryBase() { OfficerInfo officerInfo = GlobalInfo.MY_PLAYER_INFO.GetOfficerInfoByPlayId(m_carryID); ConfOfficer confOffice = ConfOfficer.Get(officerInfo.OfficerId); if (confOffice != null) { m_skillID = SkillTools.GetSkillIdByLevel(confOffice, officerInfo.Level); ConfSkill confSkill = ConfSkill.Get(m_skillID); if (confSkill != null) { if (confSkill.phase == 3) { GameSkillManager.Instance.m_hasPoliceAddition = true; } } MessageHandler.RegisterMessageHandler(MessageDefine.SCSkillTimerEmitResp, OnRes); base.InitCarryBase(); } }
public void Refresh(OfficerInfo info, Action <long> OnSelected_, ENUM_SEARCH_MODE mode_) { m_info = info; m_on_selected = OnSelected_; ConfOfficer officer_data = ConfOfficer.Get(info.OfficerId); m_tex.TextureName = officer_data.portrait; m_name_txt.Text = LocalizeModule.Instance.GetString(officer_data.name); m_name_txt.color = PoliceUILogicAssist.GetPoliceQualityColor(officer_data.quality); if (ENUM_SEARCH_MODE.E_SEARCH_ROOM == mode_) { m_skill_root.Visible = true; m_keyword_root.Visible = false; m_lvl_icon.Sprite = PoliceUILogicAssist.GetPoliceRankIcon(info.Level); string icon, desc; if (SkillUtil.GetCurLevelSkillIconAndDesc(info.OfficerId, info.Level, out icon, out desc)) { m_skill_lvl_txt.Text = info.Level.ToString(); m_skill_icon.Sprite = icon; m_skill_desc_txt.Text = desc; } } else if (ENUM_SEARCH_MODE.E_EVENTGAME == mode_) { m_skill_root.Visible = false; m_keyword_root.Visible = true; m_lvl_icon.Sprite = PoliceUILogicAssist.GetPoliceRankIcon(info.Level); List <long> keywords_id = EventGameUIAssist.GetPoliceKeyWordByOfficerID(info.OfficerId); m_keyword_grid.EnsureSize <EventGameKeywordItemView>(keywords_id.Count); for (int i = 0; i < m_keyword_grid.ChildCount; ++i) { m_keyword_grid.GetChild <EventGameKeywordItemView>(i).Refresh(i, keywords_id[i]); m_keyword_grid.GetChild <EventGameKeywordItemView>(i).Visible = true; } } }
public void Refresh(ConfOfficer ori_info_, OfficerInfo server_info_ = null, bool with_effect_ = false) { m_body_tex.TextureName = ori_info_.portrait; m_body_tex.SetGray(false); this.m_officer_id = ori_info_.id; this.m_officer_server_id = null == server_info_ ? -1 : server_info_.PlayerOfficerId; int lvl = null == server_info_ ? 0 : server_info_.Level; m_level_icon.Sprite = PoliceUILogicAssist.GetPoliceRankIcon(lvl); m_name_title.Text = LocalizeModule.Instance.GetString(ori_info_.name); ConfCombineFormula next_level_combine_info = PoliceUILogicAssist.GetCombineInfo(ori_info_, lvl + 1); if (null != next_level_combine_info) { //tool List <string> tool_icon_names = new List <string>(); tool_icon_names.Add(ConfProp.Get(next_level_combine_info.propId1).icon); tool_icon_names.Add(ConfProp.Get(next_level_combine_info.propId2).icon); tool_icon_names.Add(ConfProp.Get(next_level_combine_info.propId3).icon); tool_icon_names.Add(ConfProp.Get(next_level_combine_info.propId4).icon); tool_icon_names.Add(ConfProp.Get(next_level_combine_info.propId5).icon); List <long> tool_ids = new List <long>(); tool_ids.Add(next_level_combine_info.propId1); tool_ids.Add(next_level_combine_info.propId2); tool_ids.Add(next_level_combine_info.propId3); tool_ids.Add(next_level_combine_info.propId4); tool_ids.Add(next_level_combine_info.propId5); bool lock_officer = false; for (int i = 0; i < m_tool_icons.Count; ++i) { bool disable = !GlobalInfo.MY_PLAYER_INFO.Bag_infos.ContainsKey(tool_ids[i]); if (disable) { lock_officer = true; } m_tool_icons[i].Refresh(tool_icon_names[i], disable); } ToolData t_d1 = new ToolData { m_tool_id = next_level_combine_info.propId1, m_tool_count = GlobalInfo.MY_PLAYER_INFO.Bag_infos.ContainsKey(next_level_combine_info.propId1) ? GlobalInfo.MY_PLAYER_INFO.Bag_infos[next_level_combine_info.propId1].Count : 0, m_tool_max_count = 1 }; ToolData t_d2 = new ToolData { m_tool_id = next_level_combine_info.propId2, m_tool_count = GlobalInfo.MY_PLAYER_INFO.Bag_infos.ContainsKey(next_level_combine_info.propId2) ? GlobalInfo.MY_PLAYER_INFO.Bag_infos[next_level_combine_info.propId2].Count : 0, m_tool_max_count = 1 }; ToolData t_d3 = new ToolData { m_tool_id = next_level_combine_info.propId3, m_tool_count = GlobalInfo.MY_PLAYER_INFO.Bag_infos.ContainsKey(next_level_combine_info.propId3) ? GlobalInfo.MY_PLAYER_INFO.Bag_infos[next_level_combine_info.propId3].Count : 0, m_tool_max_count = 1 }; ToolData t_d4 = new ToolData { m_tool_id = next_level_combine_info.propId4, m_tool_count = GlobalInfo.MY_PLAYER_INFO.Bag_infos.ContainsKey(next_level_combine_info.propId4) ? GlobalInfo.MY_PLAYER_INFO.Bag_infos[next_level_combine_info.propId4].Count : 0, m_tool_max_count = 1 }; ToolData t_d5 = new ToolData { m_tool_id = next_level_combine_info.propId5, m_tool_count = GlobalInfo.MY_PLAYER_INFO.Bag_infos.ContainsKey(next_level_combine_info.propId5) ? GlobalInfo.MY_PLAYER_INFO.Bag_infos[next_level_combine_info.propId5].Count : 0, m_tool_max_count = 1 }; m_tool_datas = new List <ToolData>() { t_d1, t_d2, t_d3, t_d4, t_d5 }; //item List <string> item_icon_names = new List <string>(); item_icon_names.Add(ConfProp.Get(next_level_combine_info.specialPropId1).icon); item_icon_names.Add(ConfProp.Get(next_level_combine_info.specialPropId2).icon); item_icon_names.Add(ConfProp.Get(next_level_combine_info.specialPropId3).icon); item_icon_names.Add(ConfProp.Get(next_level_combine_info.specialPropId4).icon); List <long> item_ids = new List <long>(); item_ids.Add(next_level_combine_info.specialPropId1); item_ids.Add(next_level_combine_info.specialPropId2); item_ids.Add(next_level_combine_info.specialPropId3); item_ids.Add(next_level_combine_info.specialPropId4); List <int> item_nums = new List <int>(); item_nums.Add(next_level_combine_info.special1Count); item_nums.Add(next_level_combine_info.special2Count); item_nums.Add(next_level_combine_info.special3Count); item_nums.Add(next_level_combine_info.special4Count); m_item_datas = new List <ToolData>(); for (int i = 0; i < item_ids.Count; ++i) { m_items[i].Sprite = item_icon_names[i]; m_items[i].gameObject.name = i.ToString(); PlayerPropMsg cur_item_in_bag; int cur_num = 0; if (GlobalInfo.MY_PLAYER_INFO.Bag_infos.TryGetValue(item_ids[i], out cur_item_in_bag)) { cur_num = cur_item_in_bag.Count; } m_items_nums[i].Text = cur_num.ToString(); m_items_max_nums[i].Text = item_nums[i].ToString(); m_item_progress[i].FillAmmount = (float)(((float)cur_num) / item_nums[i]); if (cur_num < item_nums[i]) { lock_officer = true; } ToolData t_d = new ToolData { m_tool_id = item_ids[i], m_tool_count = cur_num, m_tool_max_count = item_nums[i] }; m_item_datas.Add(t_d); } if (0 == lvl) { if (!lock_officer) // this.m_employ_btn.Visible = true; { SwitchUpgradAndEmployBtn(ENUM_BTN_TYPE.E_EMPLOY_ENABLE); } else //this.m_employ_btn.Visible = false; { //TimeModule.Instance.SetTimeout(() => SwitchUpgradAndEmployBtn(ENUM_BTN_TYPE.E_EMPLOY_DISABLE), 0.5f); SwitchUpgradAndEmployBtn(ENUM_BTN_TYPE.E_EMPLOY_DISABLE); } this.m_upgrade_btn.Visible = false; m_body_tex.SetGray(true); } else { if (!lock_officer) { //this.m_upgrade_btn.Visible = true; SwitchUpgradAndEmployBtn(ENUM_BTN_TYPE.E_UPGRADE_ENABLE); } else { //this.m_upgrade_btn.Visible = false; //TimeModule.Instance.SetTimeout(() => SwitchUpgradAndEmployBtn(ENUM_BTN_TYPE.E_UPGRADE_DISABLE), 0.5f); SwitchUpgradAndEmployBtn(ENUM_BTN_TYPE.E_UPGRADE_DISABLE); } } m_tool_icons.ForEach((tool) => { tool.Visible = true; }); m_item_roots.ForEach((tool) => { tool.Visible = true; }); } else { m_tool_icons.ForEach((tool) => { tool.Visible = false; }); m_item_roots.ForEach((tool) => { tool.Visible = false; }); this.SwitchUpgradAndEmployBtn(ENUM_BTN_TYPE.E_ALL_DISABLE); } if (with_effect_) { ShowUpgradeEffect(lvl); } }