public void SetData(ConfSkyEye conSky, bool isUnLock, bool hasReward) { skyEyeId = conSky.id; ConfNpc npc = ConfNpc.Get(conSky.npcId); this.m_presuadeId = conSky.refuteId; this.m_personNameLab.Text = isUnLock?LocalizeModule.Instance.GetString(npc.name):"?"; this.m_detailLab.Text = LocalizeModule.Instance.GetString(conSky.descs); this.m_personTex.Visible = isUnLock; this.m_maskCom.Visible = !isUnLock; if (isUnLock) { this.m_personTex.TextureName = npc.icon; } int hasUnLockNumber = 0; this.m_resGrid.EnsureSize <SkyEyeProp>(conSky.collectorIds.Length); for (int i = 0; i < conSky.collectorIds.Length; i++) { SkyEyeProp icon = this.m_resGrid.GetChild <SkyEyeProp>(i); PlayerPropMsg playerProp = GlobalInfo.MY_PLAYER_INFO.GetBagInfosByID(conSky.collectorIds[i]); bool isPropUnLock = false; if (playerProp != null && playerProp.Count > 0) { isPropUnLock = true; hasUnLockNumber++; } icon.SetData(conSky.collectorIds[i], isPropUnLock); icon.Visible = true; } this.m_chatBtn.Visible = !hasReward && (hasUnLockNumber == conSky.collectorIds.Length); }
public override void OnShow(object param) { base.OnShow(param); this.m_buy.AddClickCallBack(OnUseBtn); this.m_quit.AddClickCallBack(OnQuit); this.m_buyOnly.AddClickCallBack(OnUseBtn); PlayerPropMsg m_Prop = GetCurrentProp(); if (m_Prop == null) { this.m_buyLable.Text = LocalizeModule.Instance.GetString("goods_buy"); this.m_contentLable.Text = LocalizeModule.Instance.GetString("balance_no_time"); this.m_numImg.Visible = false; } else { this.m_buyLable.Text = LocalizeModule.Instance.GetString("goods_use"); this.m_contentLable.Text = LocalizeModule.Instance.GetString("balance_have_time"); this.m_propCountLable.Text = m_Prop.Count.ToString(); this.m_numImg.Visible = true; } bool twoContinue = GlobalInfo.GAME_NETMODE == GameNetworkMode.Network;//NewGuid.GuidNewManager.Instance.GetProgressByIndex(5); this.m_buy.Visible = twoContinue; this.m_quit.Visible = twoContinue; this.m_buyOnly.Visible = !twoContinue; if (GlobalInfo.GAME_NETMODE == GameNetworkMode.Network) { TimeModule.Instance.SetTimeout(TimeOut, 60f); } }
public PlayerPropMsg GetBagInfosByID(long id) { PlayerPropMsg prop = null; m_bag_infos.TryGetValue(id, out prop); return(prop); }
private void OnPropUseTips(long propID, int type, int continueTime) { if (0 == type) { if (propID <= 0) { return; } if (propID == m_propId) { this.m_propUseEffect.Visible = true; this.m_propUseEffect.ReplayEffect(); this.m_propUseEffect.SetEffectHideTime(4f); } } else if (1 == type && m_isArrowTips && !this.m_arrowImg.Visible) { this.m_arrowImg.Visible = true; if (continueTime > 0) { TimeModule.Instance.SetTimeout(OnHideArrow, continueTime); } } else if (2 == type && needForceTips) { PlayerPropMsg propMsg = GlobalInfo.MY_PLAYER_INFO.GetBagInfosByID(this.m_propId); if (propMsg != null && propMsg.Count > 0) { this.m_tishi_02Effect.EffectPrefabName = "UI_daoju_tishi02.prefab"; this.m_tishi_02Effect.Visible = true; this.m_wordHintCom.SetContent(LocalizeModule.Instance.GetString(ConfProp.Get(m_propId).description)); this.m_wordHintCom.Visible = true; } } }
public bool SetData(ConfSkyEye skyeye, int index, SkyeyePersonDetailComponent detailUI) { this.m_detailUI = detailUI; m_confSkyeye = skyeye; this.SkyEyeID = skyeye.id; int num = 0; this.m_hasReward = GlobalInfo.MY_PLAYER_INFO.IsSkyEyeRewardContainId(skyeye.id); //this.m_alphaTweener.Delay = Mathf.Sqrt(index * 0.9f);// index * SkyeyeUILogic.PERSONTIME; this.m_scaleTweener.Delay = Mathf.Sqrt(index * 0.9f);; // index * SkyeyeUILogic.PERSONTIME; this.m_alphaText.Delay = this.m_scaleTweener.Delay + this.m_scaleTweener.Duration; this.m_posText.Delay = this.m_scaleTweener.Delay + this.m_scaleTweener.Duration; isLock = true; for (int i = 0; i < m_confSkyeye.collectorIds.Length; i++) { PlayerPropMsg playerProp = GlobalInfo.MY_PLAYER_INFO.GetBagInfosByID(m_confSkyeye.collectorIds[i]); if (playerProp != null && playerProp.Count > 0) { num++; if (m_confSkyeye.collectorIds[i] == m_confSkyeye.keyCollectorId) { isLock = false; } } } this.m_personName.Visible = !isLock; this.m_lockCom.Visible = isLock; this.m_personCom.Visible = !isLock; m_progress = num / (float)m_confSkyeye.collectorIds.Length; this.m_tipsLab.Visible = false; if (m_progress == 1 && !m_hasReward) { this.m_tipsLab.Text = "(" + LocalizeModule.Instance.GetString("theeye_tips") + ")"; this.m_tipsLab.Visible = true; } if (m_hasReward) { this.m_progressFillImg.Color = m_targetColor; this.m_personName.color = m_targetColor; } else { this.m_progressFillImg.Color = m_srcColor; this.m_personName.color = m_srcColor; } //this.m_progressBar.Value = m_progress; if (!isLock) { ConfNpc npc = ConfNpc.Get(m_confSkyeye.npcId); this.m_personName.Text = LocalizeModule.Instance.GetString(npc.name); this.m_personImg.TextureName = npc.icon; } return(m_hasReward); }
private void OnSkillFinish(long carryId) { ConfProp confprop = ConfProp.Get(carryId); if (confprop == null) { return; } ConfSkill releaseSkill = ConfSkill.Get(confprop.skillId); if (releaseSkill == null) { return; } if (carryId == this.m_propId) { m_fillImage.FillTime = this.m_confSKill.cd; if (GuidNewNodeManager.Instance.GetCommonParams(GuidNewNodeManager.PropFree) == this.m_propId.ToString()) { ResetSkill(); return; } GlobalInfo.MY_PLAYER_INFO.ReducePropForBag(this.m_propId); PlayerPropMsg propMsg = GlobalInfo.MY_PLAYER_INFO.GetBagInfosByID(this.m_propId); if (propMsg == null) { this.m_lbRemain.Text = "0"; } else { this.m_lbRemain.Text = propMsg.Count.ToString(); } ResetSkill(); Dictionary <UBSParamKeyName, object> internalBuyItemKeypoint = new Dictionary <UBSParamKeyName, object>(); internalBuyItemKeypoint.Add(UBSParamKeyName.Description, UBSDescription.PROPUSE); internalBuyItemKeypoint.Add(UBSParamKeyName.PropItem_ID, carryId); internalBuyItemKeypoint.Add(UBSParamKeyName.PropItem_Num, 1); UserBehaviorStatisticsModules.Instance.LogEvent(UBSEventKeyName.game_propuse, 1, internalBuyItemKeypoint); //this.CanClick = false; //this.m_btnItem.Enable = false; } else if (IsFunctionProp(releaseSkill)) { if (IsFunctionProp(this.m_confSKill) || this.m_lbRemain.Text.Equals("+")) { m_fillImage.FillTime = releaseSkill.cd; this.m_isCD = true; } } }
public static List <PropData> getPropData(Dictionary <long, PlayerPropMsg> propMsg) { if (propMsg == null || 0 == propMsg.Count) { return(new List <PropData>()); } List <PlayerPropMsg> datas = new List <PlayerPropMsg>(propMsg.Values); List <PropData> propList = new List <PropData>(); for (int i = 0; i < datas.Count; i++) { PlayerPropMsg pd = datas[i]; ConfProp prop = ConfProp.Get(pd.PropId); if (prop == null) { continue; } if ((int)PROP_TYPE.E_EXHABIT == prop.type) //陈列物件除外 { continue; } if (prop.heapSize > 0 && prop.heapSize < pd.Count) { int cellNum = pd.Count / prop.heapSize; int finalPropNum = pd.Count % prop.heapSize; for (int j = 0; j < cellNum; j++) { PropData realPropData = new PropData(prop, prop.heapSize); propList.Add(realPropData); } if (finalPropNum != 0) { PropData realPropData = new PropData(prop, finalPropNum); propList.Add(realPropData); } } else { PropData realPropData = new PropData(prop, pd.Count); propList.Add(realPropData); } } return(propList); }
private void OnSkillReset(long carryId) { ConfProp confprop = ConfProp.Get(carryId); if (confprop == null) { return; } ConfSkill releaseSkill = ConfSkill.Get(confprop.skillId); if (releaseSkill == null) { return; } if (carryId == this.m_propId) { if (GuidNewNodeManager.Instance.GetCommonParams(GuidNewNodeManager.PropFree) == this.m_propId.ToString()) { this.m_isCD = false; return; } PlayerPropMsg propMsg = GlobalInfo.MY_PLAYER_INFO.GetBagInfosByID(this.m_propId); if (propMsg != null) { //this.m_canClick = true; //this.m_btnItem.Enable = true; this.m_imgItem.SetGray(false); } else { //this.CanClick = false; this.m_lbRemain.Text = "+"; this.m_imgItem.SetGray(true); //this.m_btnItem.Enable = false; } this.m_isCD = false; } else if (IsFunctionProp(releaseSkill)) { if (IsFunctionProp(this.m_confSKill) || this.m_lbRemain.Text.Equals("+")) { this.m_isCD = false; } } }
private void OnSure(GameObject obj) { ConfProp confProp = m_bagData.prop.prop; if (m_bagData.infoType == PropInfoTypeEnum.Use) { if (confProp.type == 3) { EngineCoreEvents.AudioEvents.PlayAudio.SafeInvoke(Audio.AudioType.UISound, GameCustomAudioKey.gift_open.ToString()); CSDropReq req = new CSDropReq(); req.PropId = confProp.id; req.Count = m_curNum; GameEvents.NetWorkEvents.SendMsg.SafeInvoke(req); } else { EngineCoreEvents.AudioEvents.PlayAudio.SafeInvoke(Audio.AudioType.UISound, GameCustomAudioKey.item_use.ToString()); if (confProp.skillId <= 0) { PopUpManager.OpenNormalOnePop("skill not exits"); } GameSkillManager.Instance.OnStartSkill(confProp.id, m_curNum); } } else if (m_bagData.infoType == PropInfoTypeEnum.Sale) { EngineCoreEvents.AudioEvents.PlayAudio.SafeInvoke(Audio.AudioType.UISound, GameCustomAudioKey.item_sold.ToString()); PlayerPropSellRequest req = new PlayerPropSellRequest(); PlayerPropMsg playerProp = new PlayerPropMsg(); playerProp.PropId = confProp.id; playerProp.Count = m_curNum; req.PlayerProps.Add(playerProp); GameEvents.NetWorkEvents.SendMsg.SafeInvoke(req); System.Collections.Generic.Dictionary <UBSParamKeyName, object> _params = new System.Collections.Generic.Dictionary <UBSParamKeyName, object>() { { UBSParamKeyName.ContentID, confProp.id }, { UBSParamKeyName.ContentType, 1 }, { UBSParamKeyName.Description, UBSDescription.PROPSELL } }; UserBehaviorStatisticsModules.Instance.LogEvent(UBSEventKeyName.Pror_use, 1.0f, _params); } //GameEvents.UIEvents.UI_Bag_Event.OnPropCost.SafeInvoke(confProp.id); //EngineCoreEvents.UIEvent.HideUIEvent.SafeInvoke(UIDefine.UI_BAGUSE); }
public void SetData(long id, GameMainArrowTipData arrowData) { if (arrowData != null) { this.m_isArrowTips = (arrowData.propId == id); } this.m_propId = id; ConfProp confProp = ConfProp.Get(id); if (confProp == null) { Visible = false; } this.m_skillId = confProp.skillId; this.m_confSKill = ConfSkill.Get(this.m_skillId); this.m_imgItem.Sprite = confProp.icon; PlayerPropMsg propMsg = GlobalInfo.MY_PLAYER_INFO.GetBagInfosByID(id); this.m_keepPropNum = propMsg == null ? 0 : propMsg.Count; if (GuidNewNodeManager.Instance.GetCommonParams(GuidNewNodeManager.PropFree).Equals(this.m_propId.ToString())) { this.m_lbRemain.Text = "free"; return; } if (propMsg == null || propMsg.Count <= 0) { this.m_lbRemain.Text = "+"; this.m_imgItem.SetGray(true); //this.CanClick = false; //this.m_btnItem.Enable = false; } else { this.m_lbRemain.Text = propMsg.Count.ToString(); this.m_propId = id; //this.CanClick = true; //this.m_btnItem.Enable = true; this.m_imgItem.SetGray(false); } //ReflashBtnEnable(); }
public void BtnPropItem(GameObject obj) { this.m_arrowImg.Visible = false; if (m_isArrowTips) { OnHideArrow(); } if (m_isCD || m_isforbid) { return; } //新手引导无限使用 if (GuidNewNodeManager.Instance.GetCommonParams(GuidNewNodeManager.PropFree).Equals(this.m_propId.ToString())) { StartReleaseSkill(); return; } PlayerPropMsg propMsg = GlobalInfo.MY_PLAYER_INFO.GetBagInfosByID(this.m_propId); //直接购买 if (propMsg == null || propMsg.Count <= 0) { if (GlobalInfo.GAME_NETMODE == GameNetworkMode.Standalone) { return; } EngineCoreEvents.AudioEvents.PlayAudio.SafeInvoke(Audio.AudioType.UISound, EngineCommonAudioKey.Button_Click_Common.ToString()); (LogicHandler as GameMainUILogic).OnRequestBuyPropInfoEvent(this.m_propId); } else { if (NewGuid.GuidNewNodeManager.Instance.GetNodeStatus(NewGuid.GuidNewNodeManager.ForbidPropUse) == NodeStatus.None) { return; } StartReleaseSkill(); this.m_tishi_02Effect.Visible = false; this.m_wordHintCom.Visible = false; } }
public static List <PropData> getPropData(RepeatedField <PlayerPropMsg> propMsg) { if (propMsg == null) { return(new List <PropData>()); } List <PropData> propList = new List <PropData>(); for (int i = 0; i < propMsg.Count; i++) { PlayerPropMsg pd = propMsg[i]; ConfProp prop = ConfProp.Get(pd.PropId); if (prop == null) { continue; } if (prop.heapSize > 0 && prop.heapSize < pd.Count) { int cellNum = pd.Count / prop.heapSize; int finalPropNum = pd.Count % prop.heapSize; for (int j = 0; j < cellNum; j++) { PropData realPropData = new PropData(prop, prop.heapSize); propList.Add(realPropData); } if (finalPropNum != 0) { PropData realPropData = new PropData(prop, finalPropNum); propList.Add(realPropData); } } else { PropData realPropData = new PropData(prop, pd.Count); propList.Add(realPropData); } } return(propList); }
public static long GetCurrentPropTips() { List <SceneItemEntity> notFoundEntityList = GameEvents.MainGameEvents.GetSceneItemEntityList(3); PlayerPropMsg objectLens = GlobalInfo.MY_PLAYER_INFO.GetBagInfosByID(1); //寻物镜 PlayerPropMsg detector = GlobalInfo.MY_PLAYER_INFO.GetBagInfosByID(2); //探测仪 PlayerPropMsg bomb = GlobalInfo.MY_PLAYER_INFO.GetBagInfosByID(3); //炸弹 if (notFoundEntityList.Count <= 2) { if (objectLens != null && objectLens.Count > 0) { return(1); } else if (bomb != null && bomb.Count > 0) { return(3); } else if (detector != null && detector.Count > 0) { return(2); } } else { if (bomb != null && bomb.Count > 0) { return(3); } else if (detector != null && detector.Count > 0) { return(2); } else if (objectLens != null && objectLens.Count > 0) { return(1); } } return(-1); }
private void AddBagInfo(long id, int count) { GameEvents.UIEvents.UI_Bag_Event.Tell_OnPropIn.SafeInvoke(id); ConfProp conf_prop = ConfProp.Get(id); if ((int)PROP_TYPE.E_FUNC == conf_prop.type || (int)PROP_TYPE.E_CHIP == conf_prop.type || (int)PROP_TYPE.E_NROMAL == conf_prop.type || (int)PROP_TYPE.E_ENERGE == conf_prop.type || (int)PROP_TYPE.E_OFFICER == conf_prop.type || (int)PROP_TYPE.E_EXHABIT == conf_prop.type || (int)PROP_TYPE.E_GIFT == conf_prop.type) { if (m_bag_infos.ContainsKey(id)) { m_bag_infos[id].Count += count; } else { PlayerPropMsg prop = new PlayerPropMsg(); prop.PropId = id; prop.Count = count; m_bag_infos.Add(id, prop); } if (m_recent_prop_infos.ContainsKey(id)) { m_recent_prop_infos[id].Count += count; } else { PlayerPropMsg prop = new PlayerPropMsg(); prop.PropId = id; prop.Count = count; m_recent_prop_infos.Add(id, prop); } } }
private void OnUseBtn(GameObject obj) { PlayerPropMsg m_Prop = GetCurrentProp(); if (m_Prop != null) { //使用 OnUseProp(); } else //购买 { MessageHandler.RegisterMessageHandler(MessageDefine.SCMarketItemResponse, OnRes); CSMarketItemRequest req = new CSMarketItemRequest(); req.PropId = 4; #if !NETWORK_SYNC || UNITY_EDITOR GameEvents.NetWorkEvents.SendAsyncMsg.SafeInvoke(req); #else GameEvents.NetWorkEvents.SendMsg.SafeInvoke(req); #endif //BuyManager.Instance.ShopBuy(4, CurrentBuyNum, CurrentPropNum, ShopType.Prop, this.m_itemInfo.MarketItems.Cost, this.m_itemInfo.MarketItems.CostType); } }
private void SwitchButton() { if (null == m_itemdata) { return; } m_count_BG.Visible = true; if (m_is_fast_buy) { //因不足的原因,弹出快速购买 PlayerPropMsg item = GlobalInfo.MY_PLAYER_INFO.GetBagInfosByID(m_itemdata.m_prop.id); if (null != item && item.Count > 0) { m_disCount_root.Visible = false; m_oriPrice_root.Visible = false; m_buy_btn.Visible = false; m_limited_buy_btn.Visible = false; m_use_btn.Visible = true; m_count_lab.Text = string.Format("x{0}", item.Count); return; } } if (ShopType.Vit == m_curShopType && 0 == m_itemdata.m_limitNumber && !m_itemdata.m_hasDis) { //道具购买次数限制触发 PlayerPropMsg item = GlobalInfo.MY_PLAYER_INFO.GetBagInfosByID(m_itemdata.m_prop.id); if (null != item && item.Count > 0) { m_disCount_root.Visible = false; m_oriPrice_root.Visible = false; m_buy_btn.Visible = false; m_limited_buy_btn.Visible = false; m_use_btn.Visible = true; m_count_lab.Text = string.Format("x{0}", item.Count); return; } } m_use_btn.Visible = false; m_buy_btn.Visible = true; m_count_lab.Text = string.Format("x{0}", m_itemdata.m_number); if (m_itemdata.m_hasDis) { m_cost = m_itemdata.m_disPrice; m_disCount_root.Visible = true; m_oriPrice_root.Visible = true; m_disCount_lab.Text = string.Format("-{0}%", m_itemdata.m_disCount); m_oriPrice_lab.Text = m_itemdata.m_oriPrice.ToString(); m_limited_cost_lab.Text = m_cost_lab.Text = m_itemdata.m_disPrice.ToString(); } else { m_cost = m_itemdata.m_oriPrice; m_disCount_root.Visible = false; m_oriPrice_root.Visible = false; m_limited_cost_lab.Text = m_cost_lab.Text = m_itemdata.m_oriPrice.ToString(); if (ShopType.Vit == m_curShopType) { m_count_BG.Visible = false; m_count_lab.Text = ""; } } if (ShopType.Coin == m_curShopType && null == m_icon_effect) { m_icon_effect = Make <GameUIEffect>("UI_jinbi_goumai01"); } if (null != m_icon_effect) { m_icon_effect.EffectPrefabName = string.Format("UI_jinbi_goumai0{0}.prefab", m_idx + 1); } if (m_itemdata.m_maxNumber > 0) { m_limited_max_num = m_itemdata.m_maxNumber; } if (m_itemdata.m_limitNumber > 0) { m_limited_buy_btn.Visible = true; m_limited_buy_btn.SetGray(false); m_limited_buy_btn.Enable = true; m_buy_btn.Visible = false; m_limited_buy_num_txt.Text = string.Format("({0}/{1})", m_itemdata.m_limitNumber, m_limited_max_num); } else if (m_itemdata.m_limitNumber == 0) { m_limited_buy_btn.Visible = true; m_limited_buy_btn.SetGray(true); m_limited_buy_btn.Enable = false; m_buy_btn.Visible = false; m_limited_buy_num_txt.Text = string.Format("({0}/{1})", m_itemdata.m_limitNumber, m_limited_max_num); } else { m_limited_buy_btn.Visible = false; m_buy_btn.Visible = true; } }
public static void Call(IMessage message) { //IMessage response = null; int messageId = message.GetMessageId(); UnityEngine.Debug.Log("send standalon message " + messageId); switch (messageId) { case MessageDefine.CSSceneSuspendRequest: //场景暂停 SCSceneSuspendResponse suspendRes = new SCSceneSuspendResponse(); suspendRes.Result = 0; MessageHandler.Call(MessageDefine.SCSceneSuspendResponse, suspendRes); break; case MessageDefine.SCSuspendResponse: //拼图场景暂停 { SCSuspendResponse suspendResponse = new SCSuspendResponse(); suspendResponse.Result = 0; MessageHandler.Call(MessageDefine.SCSuspendResponse, suspendResponse); } break; case MessageDefine.CSSceneResumeRequest: //场景恢复 SCSceneResumeResponse resumeRes = new SCSceneResumeResponse(); resumeRes.Result = 0; MessageHandler.Call(MessageDefine.SCSceneResumeResponse, resumeRes); break; case MessageDefine.CSResumeRequest: //拼图场景恢复 { SCResumeResponse resumeResponse = new SCResumeResponse(); resumeResponse.Result = 0; MessageHandler.Call(MessageDefine.SCResumeResponse, resumeResponse); } break; case MessageDefine.CSSkillEmitRequest: //技能释放 CSSkillEmitRequest emitReq = (CSSkillEmitRequest)message; SCSkillEmitResponse emitRes = new SCSkillEmitResponse(); long propID = emitReq.PropId; emitRes.PropId = emitReq.PropId; ConfProp confProp = ConfProp.Get(propID); if (confProp == null) { emitRes.SkillId = 0; emitRes.Result = 0; MessageHandler.Call(MessageDefine.SCSkillEmitResponse, emitRes); return; } emitRes.SkillId = confProp.skillId; emitRes.Result = 1; MessageHandler.Call(MessageDefine.SCSkillEmitResponse, emitRes); break; case MessageDefine.CSSceneRewardRequest: //局内结算 #region CSSceneRewardRequest rewardRequest = (CSSceneRewardRequest)message; ConfScene confScene = ConfScene.Get(rewardRequest.SceneId); SCSceneRewardResponse rewardRes = new SCSceneRewardResponse(); rewardRes.SceneId = rewardRequest.SceneId; rewardRes.OutputCoin = confScene.outputMoney; rewardRes.OutputCash = confScene.outputCash; rewardRes.OutputVit = confScene.outputVit; rewardRes.OutputExp = confScene.outputExp; if (confScene.dropId > 0) { ConfDropOut2 dropOut = ConfDropOut2.Get(confScene.dropId); if (!string.IsNullOrEmpty(dropOut.fixed2)) { List <DropOutJsonData> rdm_datas = CommonHelper.ParseDropOut(dropOut.fixed2); for (int i = 0; i < rdm_datas.Count; i++) { GiftItem giftItem = new GiftItem(); giftItem.ItemId = rdm_datas[i].value; giftItem.Num = rdm_datas[i].count; rewardRes.GiftItems.Add(giftItem); } } } MessageHandler.Call(MessageDefine.SCSceneRewardResponse, rewardRes); #endregion break; case MessageDefine.CSBuildingListReq: //建筑物数据 #region SCBuildingListResp buildRes = new SCBuildingListResp(); BuildingInfo buildInfo = new BuildingInfo(); buildInfo.BuildingId = 1; buildInfo.Status = 1; buildRes.Infos.Add(buildInfo); MessageHandler.Call(MessageDefine.SCBuildingListResp, buildRes); #endregion break; case MessageDefine.CSTaskIdListRequest: //获取任务列表 #region //SCTaskIdListResponse taskIdListRes = new SCTaskIdListResponse(); //TaskIdInfo taskIdInfo = new TaskIdInfo(); //taskIdInfo.TaskId = 6001; //taskIdInfo.PlayerTaskId = taskIdInfo.TaskId * 10; //taskIdListRes.TaskIdInfos.Add(taskIdInfo); //MessageHandler.Call(MessageDefine.SCTaskIdListResponse, taskIdListRes); #endregion break; case MessageDefine.CSTaskListRequest: #region 任务 CSTaskListRequest taskListRequest = (CSTaskListRequest)message; if (taskListRequest.TaskIds.Count > 1) { //SCAcceptTaskNotice taskNotice = new SCAcceptTaskNotice(); if (taskListRequest.TaskIds[0] > 0) { SCTaskStatusChangeNotice taskStatusChange = new SCTaskStatusChangeNotice(); taskStatusChange.PlayerTaskId = taskListRequest.TaskIds[0] * 10; taskStatusChange.TaskId = taskListRequest.TaskIds[0]; taskStatusChange.Status = 3; MessageHandler.Call(MessageDefine.SCTaskStatusChangeNotice, taskStatusChange); } SCAcceptTaskNotice taskNotice = new SCAcceptTaskNotice(); AcceptTaskInfo acceptNewTaskInfo = new AcceptTaskInfo(); acceptNewTaskInfo.TaskId = taskListRequest.TaskIds[1]; acceptNewTaskInfo.PlayerTaskId = acceptNewTaskInfo.TaskId * 10; acceptNewTaskInfo.Status = 1; taskNotice.AcceptTasks.Add(acceptNewTaskInfo); MessageHandler.Call(MessageDefine.SCAcceptTaskNotice, taskNotice); } #endregion //SCTaskListResponse taskListRes = new SCTaskListResponse(); //TaskInfo taskInfo = new TaskInfo(); //taskInfo.TaskId = 6001; //taskInfo.Status = 1; //taskInfo.PlayerTaskId = taskInfo.TaskId * 10; //taskListRes.TaskInfos.Add(taskInfo); //MessageHandler.Call(MessageDefine.SCTaskListResponse, taskListRes); break; case MessageDefine.CSChapterListRequest: //章节 #region SCChapterListResponse chapterListRes = new SCChapterListResponse(); PlayerChapterInfo chapterInfo = new PlayerChapterInfo(); chapterInfo.PlayerChapterId = 1000; chapterInfo.ChapterId = 1; chapterInfo.Status = 1; chapterListRes.Chapters.Add(chapterInfo); MessageHandler.Call(MessageDefine.SCChapterListResponse, chapterListRes); #endregion break; case MessageDefine.CSEnterRequest: #region 拼图 SCEnterResponse enterRes = new SCEnterResponse(); enterRes.Result = 0; CSEnterRequest enterRequest = (CSEnterRequest)message; long sceneId = enterRequest.SceneId; int sceneType = (int)(sceneId / CommonData.C_SCENE_TYPE_ID); int vitConsume = 0; int seconds = 0; for (int i = 0; i < enterRequest.OfficerIds.Count; i++) { long officerId = enterRequest.OfficerIds[i]; ConfOfficer officer = ConfOfficer.Get(officerId); vitConsume += officer.vitConsume; seconds += officer.secondGain; enterRes.OfficerIds.Add(officerId); } //if (sceneType == CommonData.C_SEEK_SCENE_START_ID) //寻物 //{ //} enterRes.Seconds = seconds; enterRes.VitConsume = vitConsume; if (sceneType == CommonData.C_JIGSAW_SCENE_START_ID) //拼图 { enterRes.Seconds = 3600; } //else if (sceneType == CommonData.C_CARTOON_SCENE_START_ID) // 事件 //{ //} MessageHandler.Call(MessageDefine.SCEnterResponse, enterRes); #endregion break; case MessageDefine.CSFinishRequest: #region 拼图结束 CSFinishRequest finishRequest = (CSFinishRequest)message; SCFinishResponse finishRes = new SCFinishResponse(); finishRes.Result = 0; finishRes.SceneId = finishRequest.SceneId; Reward reward = new Reward(); reward.Percent = 100; reward.Type = 3; reward.Num = 15; finishRes.Rewards.Add(reward); MessageHandler.Call(MessageDefine.SCFinishResponse, finishRes); #endregion break; case MessageDefine.CSSearchSceneSelectOfficerReq: #region 警员 CSSearchSceneSelectOfficerReq selectOfficerReq = (CSSearchSceneSelectOfficerReq)message; int officerVitConsume = 0; int officerCostSeconds = 300; for (int i = 0; i < selectOfficerReq.OfficerIds.Count; i++) { long officerId = selectOfficerReq.OfficerIds[i]; ConfOfficer confOfficer = ConfOfficer.Get(officerId / 100); officerVitConsume += confOfficer.vitConsume; //officerCostSeconds += confOfficer.secondGain; } SCSearchSceneSelectOfficerResp selectOfficerReponse = new SCSearchSceneSelectOfficerResp(); selectOfficerReponse.VitConsume = officerVitConsume; selectOfficerReponse.CostSeconds = officerCostSeconds; MessageHandler.Call(MessageDefine.SCSearchSceneSelectOfficerResp, selectOfficerReponse); #endregion break; case MessageDefine.CSSceneEnterRequest: { #region 进入场景 CSSceneEnterRequest enterReq = (CSSceneEnterRequest)message; SCSceneEnterResponse enterResponse = new SCSceneEnterResponse(); int enterVitConsume = 0; int enterCostSeconds = 300; for (int i = 0; i < enterReq.OfficerIds.Count; i++) { long officerId = enterReq.OfficerIds[i]; ConfOfficer confOfficer = ConfOfficer.Get(officerId / 100); enterVitConsume += confOfficer.vitConsume; //enterCostSeconds += confOfficer.secondGain; enterResponse.OfficerIds.Add(officerId); } enterResponse.IsDropScene = false; string exhibit = GuidNewNodeManager.Instance.GetCommonParams(GuidNewNodeManager.sceneExhibit); string[] exhibitIdStr = exhibit.Split('|'); if (exhibitIdStr.Length > 0) { for (int i = 0; i < exhibitIdStr.Length; i++) { long exhibitId = long.Parse(exhibitIdStr[i]); //enterResponse.SceneExhibits.Add(exhibitId); enterResponse.TaskExhibits.Add(exhibitId); enterResponse.VitConsume = enterVitConsume; enterResponse.Seconds = enterCostSeconds; } MessageHandler.Call(MessageDefine.SCSceneEnterResponse, enterResponse); } #endregion } break; case MessageDefine.CSMarketItemRequest: { #region 请求时钟商店数据 CSMarketItemRequest marketItemReq = (CSMarketItemRequest)message; SCMarketItemResponse marketItemRes = new SCMarketItemResponse(); MarketItemMsg marketmsg = new MarketItemMsg(); if (marketItemReq.PropId == 4) { marketmsg.Id = 304; marketmsg.Cost = 0; marketmsg.CostType = CostType.CostCash; } marketItemRes.MarketItems = marketmsg; MessageHandler.Call(MessageDefine.SCMarketItemResponse, marketItemRes); #endregion } break; case MessageDefine.MarkeBuyRequest: { #region 购买 MarkeBuyRequest buyReq = (MarkeBuyRequest)message; MarkeBuyResponse buyRes = new MarkeBuyResponse(); PlayerPropMsg propmsg = new PlayerPropMsg(); if (buyReq.MarketItemId == 304) { //购买时钟 propmsg.PropId = 4; propmsg.Count = 1; } buyRes.Props = propmsg; MessageHandler.Call(MessageDefine.MarkeBuyResponse, buyRes); #endregion } break; case MessageDefine.CSSkillTimerEmitReq: { #region 警员技能释放 SCSkillTimerEmitResp res = new SCSkillTimerEmitResp(); res.Result = 0; MessageHandler.Call(MessageDefine.SCSkillTimerEmitResp, res); #endregion } break; case MessageDefine.CSEventEnterRequest: { #region 进入事件 SCEventEnterResponse res = new SCEventEnterResponse(); res.Result = 0; MessageHandler.Call(MessageDefine.SCEventEnterResponse, res); #endregion } break; case MessageDefine.CSEventPhaseFeedbackRequest: { #region 请求事件 CSEventPhaseFeedbackRequest request = (CSEventPhaseFeedbackRequest)message; SCEventPhaseFeedbackResponse res = new SCEventPhaseFeedbackResponse(); res.Valuation = true; res.TotalScore = 200; PhaseInfo phaseInfo = new PhaseInfo(); phaseInfo.PhaseId = (int)ConfEvent.Get(request.EventId).phases[0]; phaseInfo.PhaseTemplateId = (int)ConfEvent.Get(request.EventId).phases[0]; phaseInfo.OfficerTemplateId = 121; phaseInfo.PhaseScore = 200; res.PhaseInfos.Add(phaseInfo); MessageHandler.Call(MessageDefine.SCEventPhaseFeedbackResponse, res); #endregion } break; case MessageDefine.CSEventRewardRequest: { CSEventRewardRequest request = (CSEventRewardRequest)message; SCEventRewardResponse res = new SCEventRewardResponse(); res.Score = 200; res.Valuation = 2; SceneRewardComprise sceneReward = new SceneRewardComprise(); ConfEvent confEvent = ConfEvent.Get(request.EventId); sceneReward.OutputCash = confEvent.cashGain; //sceneReward.OutputCoin = confEvent.coinGain; //sceneReward.OutputVit = confEvent.vitGain; //sceneReward.OutputExp = confEvent.expGain; sceneReward.Type = 1; res.SceneRewardComprise.Add(sceneReward); MessageHandler.Call(MessageDefine.SCEventRewardResponse, res); } break; } }