unity3D技术分享Unity3D与游戏开发征服Unity3d

五、Unity3D与SuperSocket开源项目跑得快棋牌游戏

2019-02-20  本文已影响22人  e29290bad2f3

添加广告,希望能赚点水果钱,目的演示基于本项目,快速进行二次开发

QQ群:786442484

豆豆跑得快
安卓下载 :https://fir.im/emua
备注:下载可以运行,点击钻石加号,看视频广告,获取测试钻石

runner项目(开源跑得快)
地址:https://139.199.213.123/svn/runner/
用户:runner
密码:abc123
权限:read

一、修改协调文件OneProtocol.proto

CMD_ADS_REWARD_REQ = 71;//广告奖励请求
CMD_ADS_REWARD_RESP = 72;//广告奖励响应
/*******************************************   广告  *************************************************/
message AdsRewardRequest
{
}

message AdsRewardResponse
{
    required int32 diamondNum = 1;
}

二、生成代码

三、修改服务器代码

        #region 广告
        [method: RunnerHandler(Cmd.CMD_ADS_REWARD_REQ, "广告奖励")]
        void OnAdsRewardReq(GameSession session, OneMessage message)
        {
            if (session.PlayerId > 0)
            {
                PlayerBase player = PlayerManager.Instance.GetPlayer(session.PlayerId, true);
                if (null != player)
                {
                    player.UpdateDiamond(1, ItemChangeSource.Normal);

                    AdsRewardRequest req = PbHelper.Parse<AdsRewardRequest>(message.data, 0, message.data.Length);

                    EchoAdsRewardToClient(session);
                }
            }
        }

        void EchoAdsRewardToClient(GameSession session)
        {
            AdsRewardResponse resp = new AdsRewardResponse();
            resp.diamondNum = 1;

            OneMessage message = new OneMessage();
            message.cmd = Cmd.CMD_ADS_REWARD_RESP;
            message.result = Result.RESULT_OK;
            message.data = PbHelper.Pack(resp);
            message.seq = session.Seq;

            session.SendMessage(message);

            Logger.Debug("EchoAdsRewardToClient diamondNum :" + resp.diamondNum);
        }
        #endregion

四、修改客户端代码

    public static void ReqAdsReward(this SocketService net)
    {
        OneMessage msg = new OneMessage();
        msg.cmd = Cmd.CMD_ADS_REWARD_REQ;
        msg.result = Result.RESULT_OK;

        AdsRewardRequest adsRewardRequest = new AdsRewardRequest();

        net.SendMessage(msg, adsRewardRequest);
    }
    void HandleShowResult(ShowResult result)
    {
        if (result == ShowResult.Finished)
        {
            // Reward the player
            Debug.Log("Reward the player");
            ActivityManager.Instance.SendAdsReward();
        }
        else if (result == ShowResult.Skipped)
        {
            Debug.LogWarning("The player skipped the video - DO NOT REWARD!");
        }
        else if (result == ShowResult.Failed)
        {
            Debug.LogError("Video failed to show");
        }
    }

   void OnAdsReward(int diamondNum)
    {
        UIController.Instance.Alert("恭喜获得钻石" + diamondNum + "个");
    }

五、提交svn

image.png
上一篇 下一篇

猜你喜欢

热点阅读