Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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;
                }
            }
        }
Ejemplo n.º 3
0
        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];
            }
        }
Ejemplo n.º 4
0
        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);
                        }
                    }
                }
            }
        }
Ejemplo n.º 5
0
        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_);
        }
Ejemplo n.º 6
0
        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
        }
Ejemplo n.º 7
0
        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);
            }
        }
Ejemplo n.º 8
0
        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();
            }
        }
Ejemplo n.º 9
0
        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;
                }
            }
        }
Ejemplo n.º 10
0
        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);
            }
        }