代码拉取完成,页面将自动刷新
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)
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。