gamelogic

package
v0.0.0-...-cd1bf01 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 17, 2020 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

View Source
const (
	//活动管理的ID
	AdActivityID_DayTask         = 11 //小日常任务
	AdActivityID_RealDoubleLimit = 14 //真双倍红包
	AdActivityID_ExRedRoundNum   = 16 //天降红包
	AdActivityID_InsertAd        = 20 //插屏广告活动id
	AdActivityID_Banner          = 21 //banner广告
	AdActivityID_Power           = 24 //体力广告id
	AdActivityID_CurRoundBaoPei  = 25 //本局包赔
	AdActivityID_GameGuide       = 27 //游戏引导

	//全局参数管理表的ID
	ParameterID_LookADLimitUpDay = 3  //玩家每日看广告上限
	ParameterID_ChaPingADLimit   = 23 //玩家插屏广告限制次数配置
	ParameterID_AdCDLimit        = 24 //广告CD配置,完成看一次激励视频后,N局之内不再看激励视频

	//来源id
	SourceId_Double     = 20001050
	SourceId_SkyRedPack = 20001052
)

Variables

View Source
var (
	MapReqHandler map[string]base.MsgHandler

	LockReqHandler sync.RWMutex
	LockConnServer sync.RWMutex
)
View Source
var (
	NeedCheckMap map[string]bool
)

Functions

func BroadcastMsg2SClient

func BroadcastMsg2SClient(msg interface{})

BroadcastMsg2SClient 广播消息到前端服务器

func GetBServerLock

func GetBServerLock()

func GetBServerRLock

func GetBServerRLock()

func GetBServerRUnLock

func GetBServerRUnLock()

func GetBServerUnLock

func GetBServerUnLock()

func GetConnServerLock

func GetConnServerLock()

func GetConnServerRLock

func GetConnServerRLock()

func GetConnServerRUnLock

func GetConnServerRUnLock()

func GetConnServerUnLock

func GetConnServerUnLock()

func GetPlayerLock

func GetPlayerLock()

func GetPlayerRLock

func GetPlayerRLock()

func GetPlayerRUnLock

func GetPlayerRUnLock()

func GetPlayerUnLock

func GetPlayerUnLock()

func GetReqHandlerLock

func GetReqHandlerLock()

func GetReqHandlerRLock

func GetReqHandlerRLock()

func GetReqHandlerRUnLock

func GetReqHandlerRUnLock()

func GetReqHandlerUnLock

func GetReqHandlerUnLock()

func OperatorUserDayGift

func OperatorUserDayGift(playernode *base.ClientNode, propid int32, propnum int32, sourceid int32)

消费对局游戏消耗道具

func SavePlayerProp2DB

func SavePlayerProp2DB(userid int64, propinfo msg.UserPropChange, writesource int32, actID int32, giftID int32)

Playerprop 游戏结束调用,用户游戏过程中产生的道具变化更新

func SelectGameData

func SelectGameData(userid int64, gameid int32) model.GameDataRecord

func SendExchangeMQMsg

func SendExchangeMQMsg(msgTag string, mqmsg msg.BulletinNotice)

SendGameMQMsg 投递MQ消息到兑换业务方

func SendGameMQMsg

func SendGameMQMsg(msgTag string, mqmsg msg.BulletinNotice)

SendGameMQMsg 投递MQ消息到游戏业务方

func SendMsg2MiddlePlat

func SendMsg2MiddlePlat(userID int64, route string, middleMsg interface{}) error

SendMsg2MiddlePlat 前台服务器与中台服务器之间通信

func SendUpLoadMQMsg

func SendUpLoadMQMsg(msgTag string, mqmsg msg.BulletinNotice)

SendUpLoadMQMsg 数据上报

func WriteAttributionLog

func WriteAttributionLog(bRobot bool, attrlog *model.AttributeChangelog)

func WriteDBLog

func WriteDBLog(eventName string, dblog interface{})

WriteDBLog 日志写入数据库

eventName:日志事件名,对应配置中心LogEvent中的某条配置
dblog:对应的日志对象 例如Leavegamelog

func WriteGiftLog

func WriteGiftLog(giftlog interface{})

礼包日志 giftlog:=GiftGetlog{}

func WriteLaveLobbyLog

func WriteLaveLobbyLog(loginlog interface{})

func WriteLeaveRoomLog

func WriteLeaveRoomLog(leavelog interface{})

func WriteLoginLobbyLog

func WriteLoginLobbyLog(loginlog interface{})

func WriteLoginRoomLog

func WriteLoginRoomLog(loginlog *model.Logingamelog)

func WriteTableRoundLog

func WriteTableRoundLog(bRobot bool, playlog *model.Playgamelog)

Types

type ActGiftInfo

type ActGiftInfo struct {
	ID        int64 //商品id
	IsCharged bool  //是否充值过
}

type ActivityFirstRechargeRes

type ActivityFirstRechargeRes struct {
	IsOpen bool   //是否开启
	Icon   string //图标
	Pic    string //图片
	ShowLv int32  //显示等级
	GiftA  ActGiftInfo
	GiftB  ActGiftInfo
	QuOpen bool   //趣提示开关
	IsMk   bool   //是否触发过首次进入商城
	Event  string //触发事件 主动触发为空字符
}

type FactoryGameLogic

type FactoryGameLogic struct {
	AppLogic      base.IGameLogic
	Curgamenum    int64 //当前牌局计数,初始化为时间戳
	GameTables    []base.ITable
	MapLevelTable map[int32][]base.ITable
}

FactoryGameLogic 业务框架

func (*FactoryGameLogic) AppMsgCallBackInit

func (f *FactoryGameLogic) AppMsgCallBackInit(map[string]base.MsgHandler)

func (*FactoryGameLogic) ApplyRobot

func (f *FactoryGameLogic) ApplyRobot(robot model.ApplyRobotInfo, msghandler base.MsgHandler) (base.IPlayerNode, error)

func (*FactoryGameLogic) ArrangePlayerSitDownReq

func (f *FactoryGameLogic) ArrangePlayerSitDownReq(player *base.ClientNode, req msg.SitDownReq)

func (*FactoryGameLogic) AutoPlay

func (f *FactoryGameLogic) AutoPlay(player base.IPlayerNode)

func (*FactoryGameLogic) AutoSearchTable

func (f *FactoryGameLogic) AutoSearchTable(playernode *base.ClientNode) (base.ITable, int32, int32, error)

func (*FactoryGameLogic) CallBackEtcdConf

func (f *FactoryGameLogic) CallBackEtcdConf(action string, key string, value string)

func (*FactoryGameLogic) CallBackGameStart

func (f *FactoryGameLogic) CallBackGameStart(table base.ITable)

func (*FactoryGameLogic) CallBackHandUp

func (f *FactoryGameLogic) CallBackHandUp(player base.IPlayerNode, table base.ITable)

func (*FactoryGameLogic) CallBackLeaveTable

func (f *FactoryGameLogic) CallBackLeaveTable(player base.IPlayerNode, table base.ITable)

func (*FactoryGameLogic) CallBackLogOut

func (f *FactoryGameLogic) CallBackLogOut(player base.IPlayerNode)

func (*FactoryGameLogic) CallBackLoginAgain

func (f *FactoryGameLogic) CallBackLoginAgain(player base.IPlayerNode)

func (*FactoryGameLogic) CallBackLoginAgainExtInfo

func (f *FactoryGameLogic) CallBackLoginAgainExtInfo(player base.IPlayerNode, loginAgainres *msg.LoginAgainRes)

func (*FactoryGameLogic) CallBackOffline

func (f *FactoryGameLogic) CallBackOffline(player base.IPlayerNode)

func (*FactoryGameLogic) CallBackPlayerJoinExtInfo

func (f *FactoryGameLogic) CallBackPlayerJoinExtInfo(player base.IPlayerNode, joinres *msg.TableJoinPlayer)

func (*FactoryGameLogic) CallBackRechargeBulletinNotice

func (f *FactoryGameLogic) CallBackRechargeBulletinNotice(args []interface{})

func (*FactoryGameLogic) CallBackSendRoomInfo

func (f *FactoryGameLogic) CallBackSendRoomInfo(player base.IPlayerNode)

func (*FactoryGameLogic) CallBackSitDown

func (f *FactoryGameLogic) CallBackSitDown(player base.IPlayerNode, table base.ITable)

func (*FactoryGameLogic) CallBackSitDownExtInfo

func (f *FactoryGameLogic) CallBackSitDownExtInfo(player base.IPlayerNode, sitdownres *msg.SitDownRes)

func (*FactoryGameLogic) CallLoginSuccess

func (f *FactoryGameLogic) CallLoginSuccess(player base.IPlayerNode)

func (*FactoryGameLogic) CallLoginSuccessExtInfo

func (f *FactoryGameLogic) CallLoginSuccessExtInfo(player base.IPlayerNode, clientLoginRsp *msg.ClientUserRes)

func (*FactoryGameLogic) ChangeAiInfo

func (f *FactoryGameLogic) ChangeAiInfo(playernode *base.ClientNode)

func (*FactoryGameLogic) CheckIsNewPlayer

func (f *FactoryGameLogic) CheckIsNewPlayer(player base.IPlayerNode) bool

func (*FactoryGameLogic) CheckNeedPeiPai

func (f *FactoryGameLogic) CheckNeedPeiPai(player base.IPlayerNode, TableLevel int32) bool

func (*FactoryGameLogic) ClosePlayer

func (f *FactoryGameLogic) ClosePlayer(player base.IPlayerNode)

func (*FactoryGameLogic) CreateClientPlayer

func (f *FactoryGameLogic) CreateClientPlayer(player base.IPlayerNode)

func (*FactoryGameLogic) CreateRoom

func (f *FactoryGameLogic) CreateRoom() error

func (*FactoryGameLogic) CreateTable

func (f *FactoryGameLogic) CreateTable(base.ITable)

func (*FactoryGameLogic) DealAdGetRewardReq

func (f *FactoryGameLogic) DealAdGetRewardReq(playernode *base.ClientNode, msgreq msg.AD_GetRewardReq, isDealAbnormal bool)

func (*FactoryGameLogic) FixSearchTable

func (f *FactoryGameLogic) FixSearchTable(playernode *base.ClientNode, tableid int32, chairid int32) (base.ITable, int32, int32, error)

func (*FactoryGameLogic) Gamestart

func (f *FactoryGameLogic) Gamestart(table base.ITable)

GameStart 游戏对局开始处理,不要重写

func (*FactoryGameLogic) GetDailyRedPacket

func (f *FactoryGameLogic) GetDailyRedPacket(player base.IPlayerNode) [2]int32

func (*FactoryGameLogic) GetPlayerAd

func (f *FactoryGameLogic) GetPlayerAd(playernode *base.ClientNode, dayplaytimes int32) []int32

lookexcadplaytimes 玩家看完CD之后和剩余局数,dayplaytimes 玩家当前玩的局数 money 玩法当前身上携带金币,返回活动id

func (*FactoryGameLogic) GetTable

func (f *FactoryGameLogic) GetTable(tableid int32) (base.ITable, error)

func (*FactoryGameLogic) GetTaskReward

func (f *FactoryGameLogic) GetTaskReward(playernode *base.ClientNode)

领取任务奖励

func (*FactoryGameLogic) HandleActiveRes

func (f *FactoryGameLogic) HandleActiveRes(args []interface{})

func (*FactoryGameLogic) HandleActivityReqMsg

func (f *FactoryGameLogic) HandleActivityReqMsg(args []interface{})

func (*FactoryGameLogic) HandleAdGetRewardReq

func (f *FactoryGameLogic) HandleAdGetRewardReq(args []interface{})

兼容老的真双倍消息

func (*FactoryGameLogic) HandleAutoGame

func (f *FactoryGameLogic) HandleAutoGame(player base.IPlayerNode)

func (*FactoryGameLogic) HandleGameGuide

func (f *FactoryGameLogic) HandleGameGuide(player base.IPlayerNode)

func (*FactoryGameLogic) HandleTaskGetRewardReq

func (f *FactoryGameLogic) HandleTaskGetRewardReq(args []interface{})

func (*FactoryGameLogic) HandleUserIntervalAdReq

func (f *FactoryGameLogic) HandleUserIntervalAdReq(args []interface{})

兼容老的其他广告请求消息

func (*FactoryGameLogic) HandleUserLookAdSucReq

func (f *FactoryGameLogic) HandleUserLookAdSucReq(args []interface{})

新的看广告成功,获取奖励

func (*FactoryGameLogic) InitAppMain

func (f *FactoryGameLogic) InitAppMain(appMain base.IGameLogic)

func (*FactoryGameLogic) InitBoot

func (f *FactoryGameLogic) InitBoot(appMain base.IGameLogic)

func (*FactoryGameLogic) IsFrontend

func (f *FactoryGameLogic) IsFrontend() bool

IsFrontend 是否是前端服务器

func (*FactoryGameLogic) JudgeIsOpenAd

func (f *FactoryGameLogic) JudgeIsOpenAd(playernode *base.ClientNode, resultid []int32) (int8, bool)

***************************************** 判断广告是否开启,返回 1 开启 -1未达到开放局数 -2每日开广告到达上限 isAdStage 是否广告阶段 lookadsuctimes 成功看广告次数 resultid 活动id *****************************************

func (*FactoryGameLogic) JudgeIsOpenChaPingAD

func (f *FactoryGameLogic) JudgeIsOpenChaPingAD(playernode *base.ClientNode, resultadid []int32) bool

func (*FactoryGameLogic) JudgeIsOpenIntervalAd

func (f *FactoryGameLogic) JudgeIsOpenIntervalAd(playernode *base.ClientNode) bool

func (*FactoryGameLogic) ListenEtcdConf

func (f *FactoryGameLogic) ListenEtcdConf()

listenEtcdConf 监听所有配置更新

func (*FactoryGameLogic) OnCreatePlayer

func (f *FactoryGameLogic) OnCreatePlayer(addr string) base.IPlayerNode

func (*FactoryGameLogic) OnCreateTable

func (f *FactoryGameLogic) OnCreateTable() base.ITable

func (*FactoryGameLogic) OnDestroy

func (f *FactoryGameLogic) OnDestroy()

func (*FactoryGameLogic) OnPlayerClose

func (f *FactoryGameLogic) OnPlayerClose(player base.IPlayerNode)

func (*FactoryGameLogic) OnPlayerConnect

func (f *FactoryGameLogic) OnPlayerConnect(player base.IPlayerNode)

func (*FactoryGameLogic) OnTableLeave

func (f *FactoryGameLogic) OnTableLeave(player *base.ClientNode)

func (*FactoryGameLogic) OperatePlayerProp

func (f *FactoryGameLogic) OperatePlayerProp(player base.IPlayerNode, proplist []msg.UserPropChange)

OperatePlayerProp 操作用户内存道具数量,不具备数据库效应

func (*FactoryGameLogic) ReceiveSkyRedPack

func (f *FactoryGameLogic) ReceiveSkyRedPack(playernode *base.ClientNode)

func (*FactoryGameLogic) RecoverRobot

func (f *FactoryGameLogic) RecoverRobot(userid int64, player base.IPlayerNode)

func (*FactoryGameLogic) RecoverTableStatus

func (f *FactoryGameLogic) RecoverTableStatus(table base.ITable)

func (*FactoryGameLogic) RecvDayTask

func (f *FactoryGameLogic) RecvDayTask(playernode *base.ClientNode)

获取每日任务,如果跨天,则重置每日任务

func (*FactoryGameLogic) RegisteGameMsgCallback

func (f *FactoryGameLogic) RegisteGameMsgCallback(skeleton *module.Skeleton)

func (*FactoryGameLogic) RegisteLoginMsgCallback

func (f *FactoryGameLogic) RegisteLoginMsgCallback(skeleton *module.Skeleton)

func (*FactoryGameLogic) SavePlayerGameEnd

func (f *FactoryGameLogic) SavePlayerGameEnd(player base.IPlayerNode, datachanged base.Userplaygamedata)

SavePlayergameend 游戏结束调用,用户游戏过程中产生的金豆变化更新

func (*FactoryGameLogic) SavePlayerMJBHongBao

func (f *FactoryGameLogic) SavePlayerMJBHongBao(player base.IPlayerNode, mjbhb int32, writesource int32)

func (*FactoryGameLogic) SavePlayerProp

func (f *FactoryGameLogic) SavePlayerProp(player base.IPlayerNode, propinfo msg.UserPropChange, writesource int32, bwritedb bool)

SavePlayerprop 游戏结束调用,用户游戏过程中产生的道具变化更新

func (*FactoryGameLogic) SaveTableGameEnd

func (f *FactoryGameLogic) SaveTableGameEnd(table base.ITable)

SaveTableGameEnd 结束桌子所有对局状态,在SavePlayerGameEnd、WriteTableRoundLog完成后调用

func (*FactoryGameLogic) SaveTaskRewardInfo

func (f *FactoryGameLogic) SaveTaskRewardInfo(player base.IPlayerNode, begintime time.Time, taskid int32, rewardid int32, rewardnum int32, sourceid int32)

func (*FactoryGameLogic) SelectUserDayProperty

func (f *FactoryGameLogic) SelectUserDayProperty(playernode *base.ClientNode)

func (*FactoryGameLogic) SendActiveReqMsg

func (f *FactoryGameLogic) SendActiveReqMsg(player *base.ClientNode, route string, clientmsg string, huresult int32)

func (*FactoryGameLogic) SendActiveReqMsgs

func (f *FactoryGameLogic) SendActiveReqMsgs(player *base.ClientNode, routemsg msg.RouteMsg, blast bool)

func (*FactoryGameLogic) SendActivitySubsidyReq

func (f *FactoryGameLogic) SendActivitySubsidyReq(player *base.ClientNode)

救济金

func (*FactoryGameLogic) SendActivityUpDownRoomReq

func (f *FactoryGameLogic) SendActivityUpDownRoomReq(player *base.ClientNode)

func (*FactoryGameLogic) SendClientTaskInfo

func (f *FactoryGameLogic) SendClientTaskInfo(player base.IPlayerNode)

func (*FactoryGameLogic) SendMsg2Client

func (f *FactoryGameLogic) SendMsg2Client(playerNode base.IPlayerNode, clientmsg interface{}) error

SendMsg2Client 发送消息到客户端

func (*FactoryGameLogic) SendRoomInfo

func (f *FactoryGameLogic) SendRoomInfo(player base.IPlayerNode)

SendRoomInfo 同步房间通用信息到c端,不要重写

func (*FactoryGameLogic) Start

func (f *FactoryGameLogic) Start(netgate *gate.Gate) error

func (*FactoryGameLogic) SyncOldPlayerData

func (f *FactoryGameLogic) SyncOldPlayerData(oldplayer base.IPlayerNode, newplayer base.IPlayerNode)

func (*FactoryGameLogic) UpdatePlayerDayTask

func (f *FactoryGameLogic) UpdatePlayerDayTask(playernode *base.ClientNode)

更新任务进度

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL