/// <summary> /// server 生产加速返回 /// </summary> /// <param name="buf"></param> private void OnFoundrySpeed(KProtoBuf buf) { S2C_FOUNDRY_SPEED_BACK msg = buf as S2C_FOUNDRY_SPEED_BACK; m_FoundryProxy.SetFoundryItemFinish(msg.itemTid); MsgProduct msgProduct = MessageSingleton.Get <MsgProduct>(); msgProduct.itemTID = msg.itemTid; msgProduct.msg = NotificationName.MSG_FOUNDRY_SPEED; GameFacade.Instance.SendNotification(NotificationName.MSG_FOUNDRY_UPDATE, msgProduct); }
/// <summary> /// server 生产取消返回 /// </summary> /// <param name="buf"></param> private void OnFoundryCancel(KProtoBuf buf) { S2C_FOUNDRY_CANCEL_BACK msg = buf as S2C_FOUNDRY_CANCEL_BACK; m_FoundryProxy.RemoveMember(msg.itemTid); MsgProduct msgProduct = MessageSingleton.Get <MsgProduct>(); msgProduct.itemTID = msg.itemTid; msgProduct.msg = NotificationName.MSG_FOUNDRY_CANCEL; GameFacade.Instance.SendNotification(NotificationName.MSG_FOUNDRY_UPDATE, msgProduct); }
/// <summary> /// server 生产建造返回 /// </summary> /// <param name="buf"></param> private void OnFoundryBuild(KProtoBuf buf) { S2C_FOUNDRY_BUILD_BACK msg = buf as S2C_FOUNDRY_BUILD_BACK; m_FoundryProxy.AddMember( msg.member.itemTid, (ulong)msg.member.startTime, (ulong)msg.member.endTime, 0, msg.member.is_finish > 0); MsgProduct msgProduct = MessageSingleton.Get <MsgProduct>(); msgProduct.itemTID = msg.member.itemTid; msgProduct.msg = NotificationName.MSG_FOUNDRY_BUILD; GameFacade.Instance.SendNotification(NotificationName.MSG_FOUNDRY_UPDATE, msgProduct); }
/// <summary> /// server 生产消息返回 /// </summary> /// <param name="buf"></param> private void OnFoundryInfo(KProtoBuf buf) { S2C_FOUNDRY_GETINFO_BACK msg = buf as S2C_FOUNDRY_GETINFO_BACK; for (int i = 0; i < msg.member.Count; i++) { m_FoundryProxy.AddMember( msg.member[i].itemTid, (ulong)msg.member[i].startTime, (ulong)msg.member[i].endTime, ServerTimeUtil.Instance.GetNowTime() - (ulong)msg.member[i].startTime, msg.member[i].is_finish > 0); } MsgProduct msgProduct = MessageSingleton.Get <MsgProduct>(); msgProduct.msg = NotificationName.MSG_FOUNDRY_GET_INFO; GameFacade.Instance.SendNotification(NotificationName.MSG_FOUNDRY_UPDATE, msgProduct); }
/// <summary> /// server 生产接收返回 /// </summary> /// <param name="buf"></param> private void OnFoundryReceive(KProtoBuf buf) { S2C_FOUNDRY_RECEIVE_BACK msg = buf as S2C_FOUNDRY_RECEIVE_BACK; //奖励面板 ProduceInfoVO foundryMember = m_FoundryProxy.GetFoundryById(msg.itemTid); if (foundryMember == null) { return; } //var drawVO = (GameFacade.Instance.RetrieveProxy(ProxyName.CfgItemListProxy) as CfgItemListProxy).GetDrawingVOByKey((int)foundryMember.TID); //if (drawVO.ByteBuffer == null) //{ // return; //} //to do 奖励面板确定是否要 m_FoundryProxy.RemoveMember(msg.itemTid); MsgProduct msgProduct = MessageSingleton.Get <MsgProduct>(); msgProduct.itemTID = msg.itemTid; msgProduct.msg = NotificationName.MSG_FOUNDRY_RECEIVE; GameFacade.Instance.SendNotification(NotificationName.MSG_FOUNDRY_UPDATE, msgProduct); }
/// <summary> /// 根据服务器回调更新数据 /// </summary> /// <param name="objs">消息体参数</param> protected void UpdateDataByServer(object obj) { MsgProduct msg = obj as MsgProduct; ShowToggleProduce(); switch (msg.msg) { case NotificationName.MSG_FOUNDRY_GET_INFO: break; case NotificationName.MSG_FOUNDRY_BUILD: OnBuildBack(msg.itemTID); FiltrateByType(); if (m_GridList.Count <= 0) { State.SetPageIndex(0); } break; case NotificationName.MSG_FOUNDRY_SPEED: OnSpeedBack(msg.itemTID); FiltrateByType(); State.SetPageIndex(0); break; case NotificationName.MSG_FOUNDRY_CANCEL: OnCancelBack(msg.itemTID); FiltrateByType(); if (m_GridList.Count <= 0) { if (m_FaultageReady) { State.SetPageIndex(1); } else { State.SetPageIndex(2); } } break; case NotificationName.MSG_FOUNDRY_RECEIVE: OnReceiveBack(msg.itemTID); FiltrateByType(); if (m_GridList.Count <= 0) { if (m_FaultageReady) { State.SetPageIndex(1); } else { State.SetPageIndex(2); } } break; } }