1 Star 0 Fork 0

liuxuezhan / mylib

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
API_Action.go 3.18 KB
一键复制 编辑 原始数据 按行查看 历史
liuxuezhan 提交于 2020-12-19 16:15 . 'ok'
package api
import (
"gitee.com/liuxuezhan/mylib/GameServer/logic"
"gitee.com/liuxuezhan/mylib/Protocol"
"gitee.com/liuxuezhan/mylib/Utils/httputils"
"gitee.com/liuxuezhan/mylib/Utils/wlog"
"gitee.com/liuxuezhan/mylib/common"
"github.com/gin-gonic/gin"
)
const (
start uint32 = iota + 1
end
command
)
func API_ActionStart(ctx *gin.Context) {
actionFunction(ctx, start)
}
func API_ActionCommand(ctx *gin.Context) {
actionFunction(ctx, command)
}
func API_ActionEnd(ctx *gin.Context) {
actionFunction(ctx, end)
}
func API_CollectResource(ctx *gin.Context) {
actionFunction(ctx, end)
}
func actionFunction(ctx *gin.Context, atype uint32) {
req, res := httputils.Prepare(ctx)
defer res.Send()
if !logic.CheckSession(req, res) {
return
}
ids := &Protocol.ST_Uint64List_PB{}
nums := &Protocol.ST_Uint64List_PB{}
idStr := common.Base64Decode(req.GetString("itemtypeids")) //道具id
if err := Protocol.Unmarshal([]byte(idStr), ids); err != nil {
wlog.Error("Unmarshal itemtypeids error:", err)
}
numStr := common.Base64Decode(req.GetString("itemcounts")) //道具数量
if err := Protocol.Unmarshal([]byte(numStr), nums); err != nil {
wlog.Error("Unmarshal itemcounts error:", err)
}
actionParameter := &logic.ActionParameter{
Uid: req.GetUint64("uid"),
ActionType: req.GetUint32("actiontype"),
ActionID: req.GetUint32("actionid"),
GActionID: req.GetUint64("gactionid"),
OActionID: req.GetUint64("oactionid"),
BuildingType: req.GetUint32("buildingtype"),
BuildingID: req.GetUint32("buildingid"),
UnitType: req.GetUint32("unittype"),
UnitNum: req.GetUint64("unitnum"),
ResearchTypeID: req.GetUint32("rid"),
StartTileID: req.GetInt32("startid"),
EndTileID: req.GetInt32("endid"),
TileID: req.GetInt32("tileid"),
Asset: req.GetString("asset"),
HeroIDList: req.GetString("heroidlist"),
ParentID: req.GetUint64("massid"),
WaitTime: req.GetUint32("waittime"),
ItemTypeID: req.GetUint32("itemtypeid"),
ItemCount: req.GetUint32("itemcount"),
ItemTypeIDs: ids,
ItemCounts: nums,
Resource: req.GetString("resource"),
TalentID: req.GetUint32("talentid"),
SkillID: req.GetUint32("skillid"),
StatueClass: req.GetUint32("statueClass"),
StatueLevel: req.GetUint32("statueLevel"),
EventId: req.GetUint32("event_id"),
BoxId: req.GetUint32("boxid"),
TargetUid: req.GetUint64("targetuid"),
FactoryItemID: req.GetUint64("factoryitemid"),
FactoryOpAll: req.GetUint32("factoryopall"),
BuildingIDList: req.GetString("buildingidlist"),
DefenseOp: req.GetUint32("defenseop"),
DefensePos: req.GetInt32("defensepos"),
Hit: req.GetUint32("hit"),
TileIDList: req.GetString("tileidlist"),
UnlockTalent: req.GetString("unlockTalent"),
CrossSpecialTile: req.GetUint32("CrossSpecialTile"),
}
switch atype {
case start:
logic.ProcessActionStart(actionParameter, res)
case end:
logic.ProcessActionEnd(actionParameter, res)
case command:
logic.ProcessActionCommand(actionParameter, res)
}
sendDirtyData(req, res)
}
1
https://gitee.com/liuxuezhan/mylib.git
git@gitee.com:liuxuezhan/mylib.git
liuxuezhan
mylib
mylib
v1.1.3

搜索帮助