【猫草大作战】- 设置emoji 、单元测试
This commit is contained in:
parent
b6915f5073
commit
9080c8870a
2
.gitignore
vendored
2
.gitignore
vendored
@ -15,3 +15,5 @@ src/server/teLog/log.2024-11-28
|
||||
src/server/logs/ga_log/*.log
|
||||
src/server/goroutine.prof
|
||||
src/server/heap_after.pb.gz
|
||||
src/server/test/logs/*
|
||||
src/server/test/teLog/*
|
||||
|
||||
@ -64,7 +64,7 @@ var Server struct {
|
||||
func init() {
|
||||
filePath := "conf/server.json"
|
||||
if len(os.Args) == 2 {
|
||||
if os.Args[1] != "" {
|
||||
if os.Args[1] != "" && os.Args[1][0] != '-' {
|
||||
filePath = os.Args[1]
|
||||
}
|
||||
}
|
||||
|
||||
@ -82,6 +82,7 @@ func (f *FriendMgr) Init() {
|
||||
f.RegisterHandler(msg.HANDLE_TYPE_CATNIP_REFUSE, f.sendToPlayer)
|
||||
f.RegisterHandler(msg.HANDLE_TYPE_CATNIP_GROWTH, f.sendToPlayer)
|
||||
f.RegisterHandler(msg.HANDLE_TYPE_CATNIP_AGREE_DEL, f.sendToPlayer)
|
||||
f.RegisterHandler(msg.HANDLE_TYPE_CATNIP_SEND_EMOJI, f.sendToPlayer)
|
||||
|
||||
f.RegisterHandler(msg.HANDLE_TYPE_PLAYROOM_KISS, f.sendToPlayerOnline)
|
||||
f.RegisterHandler(msg.HANDLE_TYPE_PLAYROOM_GAME, f.sendToPlayer)
|
||||
|
||||
@ -373,6 +373,11 @@ func handle(p *Player, m *msg.Msg) error {
|
||||
FriendMod.AddReplyInfo(m.From, friend.REPLY_TYPE_CATNIP_ITEMS, "", m.End, Items)
|
||||
}
|
||||
p.CatnipBackData()
|
||||
case msg.HANDLE_TYPE_CATNIP_SEND_EMOJI:
|
||||
CatnipMod := p.PlayMod.getCatnipMod()
|
||||
EmojiId := GoUtil.Int(m.Extra)
|
||||
CatnipMod.SetEmoji(m.From, EmojiId)
|
||||
p.CatnipBackData()
|
||||
case msg.HANDLE_TYPE_FRIEND_GREETING_REPLY:
|
||||
FriendMod := p.PlayMod.getFriendMod()
|
||||
if v, ok := m.Extra.(friend.ReplyInfo); ok {
|
||||
|
||||
@ -5348,6 +5348,13 @@ func ReqCatnipInvite(player *Player, buf []byte) error {
|
||||
return err
|
||||
}
|
||||
ActivityId := GetActivityId(player, activity.ACT_TYPE_CATNIP)
|
||||
if ActivityId == 0 {
|
||||
player.SendErrClienRes(&msg.ResCatnipPlay{
|
||||
Code: msg.RES_CODE_FAIL,
|
||||
Msg: "activity not active",
|
||||
})
|
||||
return fmt.Errorf("activity not active")
|
||||
}
|
||||
ActivityInfo := GetActivityInfo(player, ActivityId)
|
||||
CatnipMod := player.PlayMod.getCatnipMod()
|
||||
err = CatnipMod.Invite(int(req.Uid), int(req.Id))
|
||||
@ -5388,6 +5395,13 @@ func ReqCatnipAgree(player *Player, buf []byte) error {
|
||||
}
|
||||
CatnipMod := player.PlayMod.getCatnipMod()
|
||||
ActivityId := GetActivityId(player, activity.ACT_TYPE_CATNIP)
|
||||
if ActivityId == 0 {
|
||||
player.SendErrClienRes(&msg.ResCatnipPlay{
|
||||
Code: msg.RES_CODE_FAIL,
|
||||
Msg: "activity not active",
|
||||
})
|
||||
return fmt.Errorf("activity not active")
|
||||
}
|
||||
_, err = CatnipMod.Agree(int(req.Id), int(req.Uid))
|
||||
if err != nil {
|
||||
player.SendErrClienRes(&msg.ResCatnipAgree{
|
||||
@ -5433,6 +5447,14 @@ func ReqCatnipMultiply(player *Player, buf []byte) error {
|
||||
return err
|
||||
}
|
||||
CatnipMod := player.PlayMod.getCatnipMod()
|
||||
ActivityId := GetActivityId(player, activity.ACT_TYPE_CATNIP)
|
||||
if ActivityId == 0 {
|
||||
player.SendErrClienRes(&msg.ResCatnipPlay{
|
||||
Code: msg.RES_CODE_FAIL,
|
||||
Msg: "activity not active",
|
||||
})
|
||||
return fmt.Errorf("activity not active")
|
||||
}
|
||||
err = CatnipMod.Multiply(int(req.Multiply))
|
||||
if err != nil {
|
||||
player.SendErrClienRes(&msg.ResCatnipMultiply{
|
||||
@ -5460,6 +5482,14 @@ func ReqCatnipPlay(player *Player, buf []byte) error {
|
||||
return err
|
||||
}
|
||||
CatnipMod := player.PlayMod.getCatnipMod()
|
||||
ActivityId := GetActivityId(player, activity.ACT_TYPE_CATNIP)
|
||||
if ActivityId == 0 {
|
||||
player.SendErrClienRes(&msg.ResCatnipPlay{
|
||||
Code: msg.RES_CODE_FAIL,
|
||||
Msg: "activity not active",
|
||||
})
|
||||
return fmt.Errorf("activity not active")
|
||||
}
|
||||
Id, Growth, PartnerId, Items, ItemCost, FriendItems, err := CatnipMod.Play(int(req.Id))
|
||||
if err != nil {
|
||||
player.SendErrClienRes(&msg.ResCatnipPlay{
|
||||
@ -5508,6 +5538,14 @@ func ReqCatnipReward(player *Player, buf []byte) error {
|
||||
return err
|
||||
}
|
||||
CatnipMod := player.PlayMod.getCatnipMod()
|
||||
ActivityId := GetActivityId(player, activity.ACT_TYPE_CATNIP)
|
||||
if ActivityId == 0 {
|
||||
player.SendErrClienRes(&msg.ResCatnipPlay{
|
||||
Code: msg.RES_CODE_FAIL,
|
||||
Msg: "activity not active",
|
||||
})
|
||||
return fmt.Errorf("activity not active")
|
||||
}
|
||||
Items, GameInfo, err := CatnipMod.Reward(int(req.Id), int(req.Progress))
|
||||
if err != nil {
|
||||
player.SendErrClienRes(&msg.ResCatnipReward{
|
||||
@ -5546,6 +5584,14 @@ func ReqCatnipGrandReward(player *Player, buf []byte) error {
|
||||
return err
|
||||
}
|
||||
CatnipMod := player.PlayMod.getCatnipMod()
|
||||
ActivityId := GetActivityId(player, activity.ACT_TYPE_CATNIP)
|
||||
if ActivityId == 0 {
|
||||
player.SendErrClienRes(&msg.ResCatnipPlay{
|
||||
Code: msg.RES_CODE_FAIL,
|
||||
Msg: "activity not active",
|
||||
})
|
||||
return fmt.Errorf("activity not active")
|
||||
}
|
||||
Items, err := CatnipMod.GrandReward()
|
||||
if err != nil {
|
||||
player.SendErrClienRes(&msg.ResCatnipGrandReward{
|
||||
@ -5580,6 +5626,14 @@ func ReqCatnipRefuse(player *Player, buf []byte) error {
|
||||
return err
|
||||
}
|
||||
CatnipMod := player.PlayMod.getCatnipMod()
|
||||
ActivityId := GetActivityId(player, activity.ACT_TYPE_CATNIP)
|
||||
if ActivityId == 0 {
|
||||
player.SendErrClienRes(&msg.ResCatnipPlay{
|
||||
Code: msg.RES_CODE_FAIL,
|
||||
Msg: "activity not active",
|
||||
})
|
||||
return fmt.Errorf("activity not active")
|
||||
}
|
||||
err = CatnipMod.Refuse(int(req.Id), int(req.Uid))
|
||||
if err != nil {
|
||||
player.SendErrClienRes(&msg.ResCatnipRefuse{
|
||||
@ -5770,7 +5824,29 @@ func ReqCatnipEmoji(player *Player, buf []byte) error {
|
||||
return err
|
||||
}
|
||||
CatnipMod := player.PlayMod.getCatnipMod()
|
||||
CatnipMod.SetEmoji(int(req.Id), int(req.EmojiId))
|
||||
ActivityId := GetActivityId(player, activity.ACT_TYPE_CATNIP)
|
||||
if ActivityId == 0 {
|
||||
player.SendErrClienRes(&msg.ResCatnipPlay{
|
||||
Code: msg.RES_CODE_FAIL,
|
||||
Msg: "activity not active",
|
||||
})
|
||||
return fmt.Errorf("activity not active")
|
||||
}
|
||||
GameInfo := CatnipMod.GetGameInfo(int(req.Id))
|
||||
if GameInfo.Partner == 0 {
|
||||
player.SendErrClienRes(&msg.ResCatnipEmoji{
|
||||
Code: msg.RES_CODE_FAIL,
|
||||
Msg: "no partner",
|
||||
})
|
||||
return fmt.Errorf("no partner")
|
||||
}
|
||||
FriendMgrSend(&MsqMod.Msg{
|
||||
From: int(player.M_DwUin),
|
||||
To: GameInfo.Partner,
|
||||
Type: MsqMod.HANDLE_TYPE_CATNIP_SEND_EMOJI,
|
||||
Extra: int(req.EmojiId),
|
||||
})
|
||||
|
||||
player.CatnipBackData()
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -233,15 +233,19 @@ func (c *CatnipMod) GrowthByUid(Uid, Growth int) {
|
||||
|
||||
}
|
||||
|
||||
func (c *CatnipMod) SetEmoji(Id, EmojiId int) {
|
||||
GameInfo, ok := c.Game[Id]
|
||||
if !ok {
|
||||
return // Game does not exist
|
||||
func (c *CatnipMod) SetEmoji(Uid, EmojiId int) {
|
||||
for _, v := range c.Game {
|
||||
if v.Partner == Uid {
|
||||
v.EmojiId = EmojiId
|
||||
return
|
||||
}
|
||||
}
|
||||
// Here we can set the emoji for the game. This is a placeholder implementation.
|
||||
GameInfo.EmojiId = EmojiId
|
||||
}
|
||||
|
||||
func (c *CatnipMod) GetMultiple() int {
|
||||
return c.Mul
|
||||
}
|
||||
|
||||
func (c *CatnipMod) GetGameInfo(Id int) *CatnipGame {
|
||||
return c.Game[Id]
|
||||
}
|
||||
|
||||
@ -110,7 +110,8 @@ const (
|
||||
|
||||
HANDLE_TYPE_CHAMPSHIP_LOGIN // 锦标赛登录
|
||||
HANDLE_TYPE_CHAMPSHIP_RANK_INFO // 锦标赛排名信息
|
||||
HANDLE_TYPE_SET_CATNIP_PARTNER
|
||||
HANDLE_TYPE_SET_CATNIP_PARTNER // 设置猫薄荷伙伴
|
||||
HANDLE_TYPE_CATNIP_SEND_EMOJI // 发送猫薄荷表情
|
||||
)
|
||||
|
||||
const (
|
||||
|
||||
36
src/server/test/catnip_test.go
Normal file
36
src/server/test/catnip_test.go
Normal file
@ -0,0 +1,36 @@
|
||||
package test
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"google.golang.org/protobuf/proto"
|
||||
|
||||
"server/game"
|
||||
"server/msg"
|
||||
)
|
||||
|
||||
func TestCatnipBackData(t *testing.T) {
|
||||
p1 := new(game.Player)
|
||||
p1.InitPlayer("aaa001")
|
||||
game.G_GameLogicPtr.SetPlayer(p1)
|
||||
p1.CatnipBackData()
|
||||
}
|
||||
|
||||
func TestReqCatnipEmoji(t *testing.T) {
|
||||
p1 := new(game.Player)
|
||||
p1.InitPlayer("aaa001")
|
||||
game.G_GameLogicPtr.SetPlayer(p1)
|
||||
|
||||
req := &msg.ReqCatnipEmoji{
|
||||
Id: 1,
|
||||
EmojiId: 1,
|
||||
}
|
||||
data, err := proto.Marshal(req)
|
||||
if err != nil {
|
||||
t.Fatalf("proto.Marshal error: %v", err)
|
||||
}
|
||||
|
||||
if err := game.ReqCatnipEmoji(p1, data); err != nil {
|
||||
t.Fatalf("ReqCatnipEmoji returned error: %v", err)
|
||||
}
|
||||
}
|
||||
48
src/server/test/conf/server.json
Normal file
48
src/server/test/conf/server.json
Normal file
@ -0,0 +1,48 @@
|
||||
{
|
||||
"AppID": 1,
|
||||
"LogLevel": "debug",
|
||||
"LogPath": "./log",
|
||||
"TCPAddr": ":3601",
|
||||
"WSAddr": ":3566",
|
||||
"MySqlAddr": "127.0.0.1",
|
||||
"MySqlPort": "3306",
|
||||
"MySqlUsr": "root",
|
||||
"MySqlPwd": "IOagNEq3C84c-20CmHEin5iODVc=",
|
||||
"MaxConnNum": 20000,
|
||||
"DbName": "Merge_Pet_1",
|
||||
"HttpPort": ":8081",
|
||||
"AppPath": "./app",
|
||||
"TELOGDIR" : "./teLog/",
|
||||
|
||||
"GameName": "Merge_Pet_Local",
|
||||
|
||||
"ServerType":"node",
|
||||
|
||||
"ServerID": 1,
|
||||
"ServerOpenTime": "2018-01-01 00:00:00",
|
||||
"ServerName": "Merge_Pet",
|
||||
"ServerStatus" : 1,
|
||||
"ServerCenter" : 1,
|
||||
"GameConfPath": "D:/Github/pet_home_server/src/server/gamedata/config/",
|
||||
|
||||
"ListenAddr":":9001",
|
||||
"CenterAddr": "pethome.bywaystudios.com:9000",
|
||||
"RemoteAddr":"host.docker.internal:9001",
|
||||
|
||||
"RedisAddr":"127.0.0.1",
|
||||
"RedisPort" :"6379",
|
||||
"RedisPwd" :"",
|
||||
|
||||
"RedisWriteAddr":"127.0.0.1:6379",
|
||||
"RedisReadAddrs":"127.0.0.1:6379",
|
||||
"RedisMasterName":"mymaster",
|
||||
"RedisConnType":"Direct",
|
||||
|
||||
"GoogleVerify":false,
|
||||
"Partition":3,
|
||||
"KafkaHost":"kafka-server",
|
||||
"CountryCode":"004",
|
||||
"KafkaPort":"9092",
|
||||
"Version":"1.0.0",
|
||||
"IdVerify":false
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user