道具掉落添加渠道开关
This commit is contained in:
parent
32fab5e0ca
commit
f45708a8cc
|
@ -796,3 +796,8 @@ var PetIDs = []int32{PetIDChicken}
|
||||||
const (
|
const (
|
||||||
InviteScoreRecharge = 10000 // 用户每充值$1邀请人获得积分
|
InviteScoreRecharge = 10000 // 用户每充值$1邀请人获得积分
|
||||||
)
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
ChannelSwitchExchange = 1
|
||||||
|
ChannelSwitchDropItem = 2
|
||||||
|
)
|
||||||
|
|
|
@ -53,5 +53,5 @@ const (
|
||||||
ETCDKEY_PLAYERPOOL = "/game/plt/playerpool/" // 个人水池调控配置
|
ETCDKEY_PLAYERPOOL = "/game/plt/playerpool/" // 个人水池调控配置
|
||||||
ETCDKEY_GAME_CONFIG = "/game/plt/gameconfig/" // 游戏管理/全局配置
|
ETCDKEY_GAME_CONFIG = "/game/plt/gameconfig/" // 游戏管理/全局配置
|
||||||
ETCDKEY_ACT_PHONELOTTERY = "/game/act_phoneLottery"
|
ETCDKEY_ACT_PHONELOTTERY = "/game/act_phoneLottery"
|
||||||
ETCDKEY_EXCHANGECHANNEL = "/game/exchange/channel" // 开启兑换功能的渠道
|
ETCDKEY_ChannelSwitch = "/game/channel/switch" // 渠道开关
|
||||||
)
|
)
|
||||||
|
|
|
@ -163,6 +163,7 @@ func init() {
|
||||||
|
|
||||||
p.LastSyncCoin = p.Coin
|
p.LastSyncCoin = p.Coin
|
||||||
p.IsQM = IsQM
|
p.IsQM = IsQM
|
||||||
|
p.AppChannel = msg.GetAppChannel()
|
||||||
|
|
||||||
if sid == 0 && (scene != nil && !scene.IsMatchScene()) {
|
if sid == 0 && (scene != nil && !scene.IsMatchScene()) {
|
||||||
logger.Logger.Warnf("when WGPlayerEnter (sid == 0)")
|
logger.Logger.Warnf("when WGPlayerEnter (sid == 0)")
|
||||||
|
@ -306,6 +307,7 @@ func init() {
|
||||||
p.SetTakeCoin(msg.GetTakeCoin())
|
p.SetTakeCoin(msg.GetTakeCoin())
|
||||||
p.LastSyncCoin = p.Coin
|
p.LastSyncCoin = p.Coin
|
||||||
p.IsQM = IsQM
|
p.IsQM = IsQM
|
||||||
|
p.AppChannel = msg.GetAppChannel()
|
||||||
if scene != nil {
|
if scene != nil {
|
||||||
scene.AudienceEnter(p, isload)
|
scene.AudienceEnter(p, isload)
|
||||||
if !p.IsRobot() && !scene.Testing {
|
if !p.IsRobot() && !scene.Testing {
|
||||||
|
|
|
@ -20,6 +20,8 @@ func init() {
|
||||||
etcd.Register(etcd.ETCDKEY_GAME_CONFIG, webapi.GameConfig{}, platformConfigEtcd)
|
etcd.Register(etcd.ETCDKEY_GAME_CONFIG, webapi.GameConfig{}, platformConfigEtcd)
|
||||||
// 集卡活动
|
// 集卡活动
|
||||||
etcd.Register(etcd.ETCDKEY_ACT_Collect, webapi.WelfareCollectConfig{}, platformConfigEtcd)
|
etcd.Register(etcd.ETCDKEY_ACT_Collect, webapi.WelfareCollectConfig{}, platformConfigEtcd)
|
||||||
|
// 渠道开关
|
||||||
|
etcd.Register(etcd.ETCDKEY_ChannelSwitch, webapi.ChannelSwitchConfig{}, platformConfigEtcd)
|
||||||
}
|
}
|
||||||
|
|
||||||
func platformConfigEtcd(ctx context.Context, completeKey string, isInit bool, event *clientv3.Event, data interface{}) {
|
func platformConfigEtcd(ctx context.Context, completeKey string, isInit bool, event *clientv3.Event, data interface{}) {
|
||||||
|
@ -33,6 +35,8 @@ func platformConfigEtcd(ctx context.Context, completeKey string, isInit bool, ev
|
||||||
ConfigMgrInst.GetConfig(d.Platform).GameConfig = d
|
ConfigMgrInst.GetConfig(d.Platform).GameConfig = d
|
||||||
case *webapi.WelfareCollectConfig:
|
case *webapi.WelfareCollectConfig:
|
||||||
ConfigMgrInst.GetConfig(d.Platform).WelfareCollectConfig = d
|
ConfigMgrInst.GetConfig(d.Platform).WelfareCollectConfig = d
|
||||||
|
case *webapi.ChannelSwitchConfig:
|
||||||
|
ConfigMgrInst.GetConfig(d.Platform).ChannelSwitch[d.GetTp()] = d
|
||||||
default:
|
default:
|
||||||
logger.Logger.Errorf("etcd completeKey:%s, Not processed", completeKey)
|
logger.Logger.Errorf("etcd completeKey:%s, Not processed", completeKey)
|
||||||
}
|
}
|
||||||
|
|
|
@ -122,6 +122,7 @@ type Player struct {
|
||||||
MatchRobotGrades []MatchRobotGrade
|
MatchRobotGrades []MatchRobotGrade
|
||||||
TestLog []string // 调试日志
|
TestLog []string // 调试日志
|
||||||
RankScore map[int32]int64 // 段位积分
|
RankScore map[int32]int64 // 段位积分
|
||||||
|
AppChannel string // app渠道(玩家本次登录使用的包的渠道类型,换登录包,这个值也会变;玩家model.PlayerData存储的渠道是玩家第一次登录的渠道,不会修改)
|
||||||
}
|
}
|
||||||
|
|
||||||
type MatchRobotGrade struct {
|
type MatchRobotGrade struct {
|
||||||
|
|
|
@ -2119,6 +2119,13 @@ func (this *Scene) TryBillExGameDrop(p *Player) {
|
||||||
if baseScore == 0 {
|
if baseScore == 0 {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 渠道开关
|
||||||
|
conf := ConfigMgrInst.GetConfig(p.Platform).ChannelSwitch[common.ChannelSwitchDropItem]
|
||||||
|
if conf == nil || !common.InSliceString(conf.OnChannelName, p.AppChannel) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
dropInfo := srvdata.GameDropMgrSingleton.GetDropInfoByBaseScore(int32(this.GameId), baseScore)
|
dropInfo := srvdata.GameDropMgrSingleton.GetDropInfoByBaseScore(int32(this.GameId), baseScore)
|
||||||
if dropInfo != nil && len(dropInfo) != 0 && p.Items != nil {
|
if dropInfo != nil && len(dropInfo) != 0 && p.Items != nil {
|
||||||
realDrop := make(map[int32]int32)
|
realDrop := make(map[int32]int32)
|
||||||
|
|
|
@ -115,8 +115,8 @@ type AllConfig struct {
|
||||||
*webapi.ExchangeShopList
|
*webapi.ExchangeShopList
|
||||||
// 商店
|
// 商店
|
||||||
ShopInfos map[int32]*ShopInfo // 商品id:商品信息
|
ShopInfos map[int32]*ShopInfo // 商品id:商品信息
|
||||||
// 开启兑换的渠道
|
// 渠道开关
|
||||||
*webapi.ExchangeChannelConfig
|
ChannelSwitch map[int32]*webapi.ChannelSwitchConfig
|
||||||
}
|
}
|
||||||
|
|
||||||
type GlobalConfig struct {
|
type GlobalConfig struct {
|
||||||
|
@ -143,6 +143,7 @@ func (cm *ConfigMgr) GetConfig(platform string) *AllConfig {
|
||||||
c = &AllConfig{
|
c = &AllConfig{
|
||||||
// todo 初始化默认值
|
// todo 初始化默认值
|
||||||
ShopInfos: make(map[int32]*ShopInfo),
|
ShopInfos: make(map[int32]*ShopInfo),
|
||||||
|
ChannelSwitch: make(map[int32]*webapi.ChannelSwitchConfig),
|
||||||
}
|
}
|
||||||
cm.platform[platform] = c
|
cm.platform[platform] = c
|
||||||
}
|
}
|
||||||
|
|
|
@ -1304,6 +1304,7 @@ type WGPlayerEnter struct {
|
||||||
Items map[int32]int64 `protobuf:"bytes,17,rep,name=Items,proto3" json:"Items,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
|
Items map[int32]int64 `protobuf:"bytes,17,rep,name=Items,proto3" json:"Items,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
|
||||||
MatchParams []int32 `protobuf:"varint,18,rep,packed,name=MatchParams,proto3" json:"MatchParams,omitempty"` //比赛参数
|
MatchParams []int32 `protobuf:"varint,18,rep,packed,name=MatchParams,proto3" json:"MatchParams,omitempty"` //比赛参数
|
||||||
RankScore map[int32]int64 `protobuf:"bytes,19,rep,name=RankScore,proto3" json:"RankScore,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 排位积分
|
RankScore map[int32]int64 `protobuf:"bytes,19,rep,name=RankScore,proto3" json:"RankScore,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 排位积分
|
||||||
|
AppChannel string `protobuf:"bytes,20,opt,name=AppChannel,proto3" json:"AppChannel,omitempty"` // 包渠道
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *WGPlayerEnter) Reset() {
|
func (x *WGPlayerEnter) Reset() {
|
||||||
|
@ -1471,6 +1472,13 @@ func (x *WGPlayerEnter) GetRankScore() map[int32]int64 {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (x *WGPlayerEnter) GetAppChannel() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.AppChannel
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
//从观众席坐到座位
|
//从观众席坐到座位
|
||||||
//PACKET_WG_AUDIENCESIT
|
//PACKET_WG_AUDIENCESIT
|
||||||
type WGAudienceSit struct {
|
type WGAudienceSit struct {
|
||||||
|
@ -8703,7 +8711,7 @@ var file_server_proto_rawDesc = []byte{
|
||||||
0x52, 0x0c, 0x52, 0x65, 0x62, 0x61, 0x74, 0x65, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x24,
|
0x52, 0x0c, 0x52, 0x65, 0x62, 0x61, 0x74, 0x65, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x24,
|
||||||
0x0a, 0x0d, 0x52, 0x65, 0x62, 0x61, 0x74, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x66, 0x67, 0x18,
|
0x0a, 0x0d, 0x52, 0x65, 0x62, 0x61, 0x74, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x66, 0x67, 0x18,
|
||||||
0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x52, 0x65, 0x62, 0x61, 0x74, 0x65, 0x47, 0x61, 0x6d,
|
0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x52, 0x65, 0x62, 0x61, 0x74, 0x65, 0x47, 0x61, 0x6d,
|
||||||
0x65, 0x43, 0x66, 0x67, 0x22, 0xa3, 0x06, 0x0a, 0x0d, 0x57, 0x47, 0x50, 0x6c, 0x61, 0x79, 0x65,
|
0x65, 0x43, 0x66, 0x67, 0x22, 0xc3, 0x06, 0x0a, 0x0d, 0x57, 0x47, 0x50, 0x6c, 0x61, 0x79, 0x65,
|
||||||
0x72, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x53, 0x69, 0x64, 0x18, 0x01, 0x20,
|
0x72, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x53, 0x69, 0x64, 0x18, 0x01, 0x20,
|
||||||
0x01, 0x28, 0x03, 0x52, 0x03, 0x53, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x61, 0x74, 0x65,
|
0x01, 0x28, 0x03, 0x52, 0x03, 0x53, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x61, 0x74, 0x65,
|
||||||
0x53, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x47, 0x61, 0x74, 0x65, 0x53,
|
0x53, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x47, 0x61, 0x74, 0x65, 0x53,
|
||||||
|
@ -8746,7 +8754,9 @@ var file_server_proto_rawDesc = []byte{
|
||||||
0x0b, 0x32, 0x24, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x57, 0x47, 0x50, 0x6c, 0x61,
|
0x0b, 0x32, 0x24, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x57, 0x47, 0x50, 0x6c, 0x61,
|
||||||
0x79, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x53, 0x63, 0x6f,
|
0x79, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x53, 0x63, 0x6f,
|
||||||
0x72, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x52, 0x61, 0x6e, 0x6b, 0x53, 0x63, 0x6f,
|
0x72, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x52, 0x61, 0x6e, 0x6b, 0x53, 0x63, 0x6f,
|
||||||
0x72, 0x65, 0x1a, 0x38, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
|
0x72, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x41, 0x70, 0x70, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
|
||||||
|
0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x41, 0x70, 0x70, 0x43, 0x68, 0x61, 0x6e, 0x6e,
|
||||||
|
0x65, 0x6c, 0x1a, 0x38, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
|
||||||
0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b,
|
0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b,
|
||||||
0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
|
0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
|
||||||
0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3c, 0x0a, 0x0e,
|
0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3c, 0x0a, 0x0e,
|
||||||
|
|
|
@ -228,6 +228,7 @@ message WGPlayerEnter {
|
||||||
map<int32, int64> Items = 17;
|
map<int32, int64> Items = 17;
|
||||||
repeated int32 MatchParams = 18;//比赛参数
|
repeated int32 MatchParams = 18;//比赛参数
|
||||||
map<int32, int64> RankScore = 19;// 排位积分
|
map<int32, int64> RankScore = 19;// 排位积分
|
||||||
|
string AppChannel = 20; // 包渠道
|
||||||
}
|
}
|
||||||
|
|
||||||
//从观众席坐到座位
|
//从观众席坐到座位
|
||||||
|
|
|
@ -5701,18 +5701,19 @@ func (x *WelfareCollectConfig) GetSwitch() int32 {
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
// etcd /game/exchange/channel
|
// etcd /game/channel/switch
|
||||||
type ExchangeChannelConfig struct {
|
type ChannelSwitchConfig struct {
|
||||||
state protoimpl.MessageState
|
state protoimpl.MessageState
|
||||||
sizeCache protoimpl.SizeCache
|
sizeCache protoimpl.SizeCache
|
||||||
unknownFields protoimpl.UnknownFields
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
Platform string `protobuf:"bytes,1,opt,name=Platform,proto3" json:"Platform,omitempty"`
|
Tp int32 `protobuf:"varint,1,opt,name=Tp,proto3" json:"Tp,omitempty"` // 开关类型 1.兑换 2.道具掉落
|
||||||
OnChannelName []string `protobuf:"bytes,2,rep,name=OnChannelName,proto3" json:"OnChannelName,omitempty"` // 开启渠道
|
Platform string `protobuf:"bytes,2,opt,name=Platform,proto3" json:"Platform,omitempty"` // 平台id
|
||||||
|
OnChannelName []string `protobuf:"bytes,3,rep,name=OnChannelName,proto3" json:"OnChannelName,omitempty"` // 开启渠道
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *ExchangeChannelConfig) Reset() {
|
func (x *ChannelSwitchConfig) Reset() {
|
||||||
*x = ExchangeChannelConfig{}
|
*x = ChannelSwitchConfig{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_common_proto_msgTypes[55]
|
mi := &file_common_proto_msgTypes[55]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
@ -5720,13 +5721,13 @@ func (x *ExchangeChannelConfig) Reset() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *ExchangeChannelConfig) String() string {
|
func (x *ChannelSwitchConfig) String() string {
|
||||||
return protoimpl.X.MessageStringOf(x)
|
return protoimpl.X.MessageStringOf(x)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (*ExchangeChannelConfig) ProtoMessage() {}
|
func (*ChannelSwitchConfig) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *ExchangeChannelConfig) ProtoReflect() protoreflect.Message {
|
func (x *ChannelSwitchConfig) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_common_proto_msgTypes[55]
|
mi := &file_common_proto_msgTypes[55]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
@ -5738,19 +5739,26 @@ func (x *ExchangeChannelConfig) ProtoReflect() protoreflect.Message {
|
||||||
return mi.MessageOf(x)
|
return mi.MessageOf(x)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Deprecated: Use ExchangeChannelConfig.ProtoReflect.Descriptor instead.
|
// Deprecated: Use ChannelSwitchConfig.ProtoReflect.Descriptor instead.
|
||||||
func (*ExchangeChannelConfig) Descriptor() ([]byte, []int) {
|
func (*ChannelSwitchConfig) Descriptor() ([]byte, []int) {
|
||||||
return file_common_proto_rawDescGZIP(), []int{55}
|
return file_common_proto_rawDescGZIP(), []int{55}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *ExchangeChannelConfig) GetPlatform() string {
|
func (x *ChannelSwitchConfig) GetTp() int32 {
|
||||||
|
if x != nil {
|
||||||
|
return x.Tp
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *ChannelSwitchConfig) GetPlatform() string {
|
||||||
if x != nil {
|
if x != nil {
|
||||||
return x.Platform
|
return x.Platform
|
||||||
}
|
}
|
||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *ExchangeChannelConfig) GetOnChannelName() []string {
|
func (x *ChannelSwitchConfig) GetOnChannelName() []string {
|
||||||
if x != nil {
|
if x != nil {
|
||||||
return x.OnChannelName
|
return x.OnChannelName
|
||||||
}
|
}
|
||||||
|
@ -6684,16 +6692,17 @@ var file_common_proto_rawDesc = []byte{
|
||||||
0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74,
|
0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74,
|
||||||
0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74,
|
0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74,
|
||||||
0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x02,
|
0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x02,
|
||||||
0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x22, 0x59, 0x0a, 0x15,
|
0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x22, 0x67, 0x0a, 0x13,
|
||||||
0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43,
|
0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e,
|
||||||
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
|
0x66, 0x69, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
|
||||||
0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
|
0x02, 0x54, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18,
|
||||||
0x6d, 0x12, 0x24, 0x0a, 0x0d, 0x4f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61,
|
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12,
|
||||||
0x6d, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x4f, 0x6e, 0x43, 0x68, 0x61, 0x6e,
|
0x24, 0x0a, 0x0d, 0x4f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65,
|
||||||
0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x42, 0x26, 0x5a, 0x24, 0x6d, 0x6f, 0x6e, 0x67, 0x6f,
|
0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x4f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65,
|
||||||
0x2e, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x61, 0x6d, 0x65, 0x2f,
|
0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x42, 0x26, 0x5a, 0x24, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x2e, 0x67,
|
||||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x62,
|
0x61, 0x6d, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x61, 0x6d, 0x65, 0x2f, 0x70, 0x72,
|
||||||
0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x62, 0x06, 0x70,
|
||||||
|
0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
@ -6765,7 +6774,7 @@ var file_common_proto_goTypes = []interface{}{
|
||||||
(*GameConfig)(nil), // 52: webapi.GameConfig
|
(*GameConfig)(nil), // 52: webapi.GameConfig
|
||||||
(*WelfarePhoneLotteryStatus)(nil), // 53: webapi.WelfarePhoneLotteryStatus
|
(*WelfarePhoneLotteryStatus)(nil), // 53: webapi.WelfarePhoneLotteryStatus
|
||||||
(*WelfareCollectConfig)(nil), // 54: webapi.WelfareCollectConfig
|
(*WelfareCollectConfig)(nil), // 54: webapi.WelfareCollectConfig
|
||||||
(*ExchangeChannelConfig)(nil), // 55: webapi.ExchangeChannelConfig
|
(*ChannelSwitchConfig)(nil), // 55: webapi.ChannelSwitchConfig
|
||||||
nil, // 56: webapi.Platform.BindTelRewardEntry
|
nil, // 56: webapi.Platform.BindTelRewardEntry
|
||||||
nil, // 57: webapi.PlayerData.RankScoreEntry
|
nil, // 57: webapi.PlayerData.RankScoreEntry
|
||||||
nil, // 58: webapi.ItemShop.AwardEntry
|
nil, // 58: webapi.ItemShop.AwardEntry
|
||||||
|
@ -7486,7 +7495,7 @@ func file_common_proto_init() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_common_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} {
|
file_common_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*ExchangeChannelConfig); i {
|
switch v := v.(*ChannelSwitchConfig); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
case 1:
|
case 1:
|
||||||
|
|
|
@ -633,8 +633,9 @@ message WelfareCollectConfig{
|
||||||
int32 Switch = 2; // 1.开启 2.关闭
|
int32 Switch = 2; // 1.开启 2.关闭
|
||||||
}
|
}
|
||||||
|
|
||||||
// etcd /game/exchange/channel
|
// etcd /game/channel/switch
|
||||||
message ExchangeChannelConfig{
|
message ChannelSwitchConfig{
|
||||||
string Platform = 1;
|
int32 Tp = 1; // 开关类型 1.兑换 2.道具掉落
|
||||||
repeated string OnChannelName = 2; // 开启渠道
|
string Platform = 2; // 平台id
|
||||||
|
repeated string OnChannelName = 3; // 开启渠道
|
||||||
}
|
}
|
|
@ -2240,7 +2240,7 @@ func CSExchangeChannel(s *netlib.Session, packetid int, data interface{}, sid in
|
||||||
}
|
}
|
||||||
|
|
||||||
var onChannelName []string
|
var onChannelName []string
|
||||||
conf := PlatformMgrSingleton.GetConfig(p.Platform).ExchangeChannelConfig
|
conf := PlatformMgrSingleton.GetConfig(p.Platform).ChannelSwitch[common.ChannelSwitchExchange]
|
||||||
if conf != nil {
|
if conf != nil {
|
||||||
onChannelName = conf.OnChannelName
|
onChannelName = conf.OnChannelName
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,6 +7,7 @@ import (
|
||||||
"go.etcd.io/etcd/client/v3"
|
"go.etcd.io/etcd/client/v3"
|
||||||
"mongo.games.com/goserver/core/logger"
|
"mongo.games.com/goserver/core/logger"
|
||||||
|
|
||||||
|
"mongo.games.com/game/common"
|
||||||
"mongo.games.com/game/etcd"
|
"mongo.games.com/game/etcd"
|
||||||
hallproto "mongo.games.com/game/protocol/gamehall"
|
hallproto "mongo.games.com/game/protocol/gamehall"
|
||||||
"mongo.games.com/game/protocol/webapi"
|
"mongo.games.com/game/protocol/webapi"
|
||||||
|
@ -35,8 +36,8 @@ func init() {
|
||||||
etcd.Register(etcd.ETCDKEY_SHOP_ITEM, webapi.ItemShopList{}, platformConfigEvent)
|
etcd.Register(etcd.ETCDKEY_SHOP_ITEM, webapi.ItemShopList{}, platformConfigEvent)
|
||||||
// 集卡活动
|
// 集卡活动
|
||||||
etcd.Register(etcd.ETCDKEY_ACT_Collect, webapi.WelfareCollectConfig{}, platformConfigEvent)
|
etcd.Register(etcd.ETCDKEY_ACT_Collect, webapi.WelfareCollectConfig{}, platformConfigEvent)
|
||||||
// 启动兑换功能的渠道
|
// 渠道开关
|
||||||
etcd.Register(etcd.ETCDKEY_EXCHANGECHANNEL, webapi.ExchangeChannelConfig{}, platformConfigEvent)
|
etcd.Register(etcd.ETCDKEY_ChannelSwitch, webapi.ChannelSwitchConfig{}, platformConfigEvent)
|
||||||
}
|
}
|
||||||
|
|
||||||
func platformConfigEvent(ctx context.Context, completeKey string, isInit bool, event *clientv3.Event, data interface{}) {
|
func platformConfigEvent(ctx context.Context, completeKey string, isInit bool, event *clientv3.Event, data interface{}) {
|
||||||
|
@ -127,15 +128,19 @@ func platformConfigEvent(ctx context.Context, completeKey string, isInit bool, e
|
||||||
} else {
|
} else {
|
||||||
TournamentMgr.UpdateData(false, config)
|
TournamentMgr.UpdateData(false, config)
|
||||||
}
|
}
|
||||||
case *webapi.ExchangeChannelConfig:
|
case *webapi.ChannelSwitchConfig:
|
||||||
PlatformMgrSingleton.GetConfig(config.Platform).ExchangeChannelConfig = config
|
PlatformMgrSingleton.GetConfig(config.Platform).ChannelSwitch[config.GetTp()] = config
|
||||||
if !isInit {
|
if !isInit {
|
||||||
|
switch config.GetTp() {
|
||||||
|
case common.ChannelSwitchExchange:
|
||||||
// 通知变更
|
// 通知变更
|
||||||
for _, v := range PlayerMgrSington.playerOfPlatform[config.Platform] {
|
for _, v := range PlayerMgrSington.playerOfPlatform[config.Platform] {
|
||||||
if v != nil && v.IsOnLine() {
|
if v != nil && v.IsOnLine() {
|
||||||
v.SendToClient(int(hallproto.GameHallPacketID_PACKET_SCExchangeChannel), &hallproto.SCExchangeChannel{})
|
v.SendToClient(int(hallproto.GameHallPacketID_PACKET_SCExchangeChannel), &hallproto.SCExchangeChannel{})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
|
|
@ -490,6 +490,7 @@ func (this *Scene) PlayerEnter(p *Player, pos int, ischangeroom bool) bool {
|
||||||
IParams: p.MarshalIParam(),
|
IParams: p.MarshalIParam(),
|
||||||
SParams: p.MarshalSParam(),
|
SParams: p.MarshalSParam(),
|
||||||
CParams: p.MarshalCParam(),
|
CParams: p.MarshalCParam(),
|
||||||
|
AppChannel: p.AppChannel,
|
||||||
}
|
}
|
||||||
//sa, err2 := p.MarshalSingleAdjustData(this.dbGameFree.Id)
|
//sa, err2 := p.MarshalSingleAdjustData(this.dbGameFree.Id)
|
||||||
//if err2 == nil && sa != nil {
|
//if err2 == nil && sa != nil {
|
||||||
|
@ -699,6 +700,7 @@ func (this *Scene) AudienceEnter(p *Player, ischangeroom bool) bool {
|
||||||
IParams: p.MarshalIParam(),
|
IParams: p.MarshalIParam(),
|
||||||
SParams: p.MarshalSParam(),
|
SParams: p.MarshalSParam(),
|
||||||
CParams: p.MarshalCParam(),
|
CParams: p.MarshalCParam(),
|
||||||
|
AppChannel: p.AppChannel,
|
||||||
}
|
}
|
||||||
|
|
||||||
if !p.IsRob { //保存下进入时的环境
|
if !p.IsRob { //保存下进入时的环境
|
||||||
|
|
Loading…
Reference in New Issue