Esempio n. 1
0
    /// <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);
    }
Esempio n. 2
0
    /// <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);
    }
Esempio n. 3
0
    /// <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);
    }
Esempio n. 4
0
    /// <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);
    }
Esempio n. 5
0
    /// <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);
    }
Esempio n. 6
0
    /// <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;
        }
    }