public void Refresh(int total_officer_count_) { #if OFFICER_SYS m_officers_grid.EnsureSize <EventGameOfficerDispatchItemView>(total_officer_count_); for (int i = 0; i < m_officers_grid.ChildCount; ++i) { m_officers_grid.GetChild <EventGameOfficerDispatchItemView>(i).Init(i); m_officers_grid.GetChild <EventGameOfficerDispatchItemView>(i).Visible = true; } #endif ConfEvent event_data = ConfEvent.Get(CurViewLogic().Event_id); m_vit_cost_num_txt.Text = event_data.vitConsume.ToString(); HashSet <long> keywords = new HashSet <long>(); foreach (var phase_id in event_data.phases) { var phase = ConfEventPhase.Get(phase_id); foreach (var key_id in phase.keyWords) { keywords.Add(key_id); } } m_keywords_grid.EnsureSize <EventGameKeywordItemView>(keywords.Count); int gi = 0; foreach (var item in keywords) { m_keywords_grid.GetChild <EventGameKeywordItemView>(gi).Refresh(gi, item); m_keywords_grid.GetChild <EventGameKeywordItemView>(gi).Visible = true; ++gi; } m_event_icon.Sprite = ConfEventAttribute.Get(event_data.type).icon; m_event_name.Text = LocalizeModule.Instance.GetString(event_data.name); m_event_desc.Text = LocalizeModule.Instance.GetString(event_data.descs); m_case_name.Text = LocalizeModule.Instance.GetString(ConfEventAttribute.Get(event_data.type).name); m_case_tex.TextureName = event_data.sceneInfo; m_normal_cash_txt.Text = event_data.coinGain.ToString(); m_perfect_cash_txt.Text = event_data.cashGain.ToString(); }
public static void GetFeedBackAndDialogue(long officer_id_, long phase_id_, int valuation_, out string feedback_, out string dialogue_) { officer_id_ = 0 == officer_id_ ? 101 : officer_id_; string temp_feedback = 0 == valuation_?ConfEventPhase.Get(phase_id_).normaFeedback : ConfEventPhase.Get(phase_id_).successFeedback; string temp_dialogue = 0 == valuation_?ConfEventPhase.Get(phase_id_).normalDialogue : ConfEventPhase.Get(phase_id_).successDialogue; string officer_name = LocalizeModule.Instance.GetString(ConfOfficer.Get(officer_id_).name); feedback_ = LocalizeModule.Instance.GetString(temp_feedback); feedback_ = ExchangeKeyWords(feedback_, officer_name); dialogue_ = LocalizeModule.Instance.GetString(temp_dialogue); dialogue_ = ExchangeKeyWords(dialogue_, officer_name); }
private void NextStep() { if (false == this.Visible) { return; } PhaseInfo info_ = m_phases.Dequeue(); if (null == info_) { this.GetReward(); return; } Dictionary <UBSParamKeyName, object> _params = new Dictionary <UBSParamKeyName, object>() { { UBSParamKeyName.Success, info_.Perfect ? 1 : 0 }, { UBSParamKeyName.ContentID, CurViewLogic().Event_id }, { UBSParamKeyName.PhaseID, info_.PhaseTemplateId }, { UBSParamKeyName.OfficerID, info_.OfficerTemplateId } }; UserBehaviorStatisticsModules.Instance.LogEvent(UBSEventKeyName.event_Phase, null, _params); m_desc_root.Visible = false; m_case_txt.Text = LocalizeModule.Instance.GetString(ConfEventPhase.Get(info_.PhaseTemplateId).descs); Action OnCase = () => PlayCase(info_.PhaseTemplateId); Action OnTalk = () => { PlayTalk(info_.OfficerTemplateId, info_.PhaseTemplateId, false == info_.Perfect ? 0 : 1); AddScore(m_cur_score, m_cur_score - info_.PhaseScore); }; Action OnEndPhase = () => { m_case_root.Visible = false; }; Action OnNext = () => { //if (0 != m_phases.Count) // TimeModule.Instance.SetTimeout(NextStep, C_TWEEN_TIME + 0.5f); //else // TimeModule.Instance.SetTimeout(GetReward, C_TWEEN_TIME + 0.5f); if (0 != m_phases.Count) { NextStep(); } else { GetReward(); } }; TimeModule.Instance.SetTimeout(OnCase, C_TWEEN_TIME); TimeModule.Instance.SetTimeout(OnTalk, C_TWEEN_TIME + 0.5f); TimeModule.Instance.SetTimeout(OnEndPhase, C_TWEEN_TIME + 2.5f); TimeModule.Instance.SetTimeout(OnNext, C_TWEEN_TIME + 3.5f); }