上传道具代码
This commit is contained in:
parent
2b1c8141ca
commit
c0a1f83758
@ -433,7 +433,7 @@ func (this *ModelItemsComp) addItemToUserPack(uid string, items []*pb.DB_UserIte
|
|||||||
if leftnum > 0 { //还没有放完 寻找空的格子填充
|
if leftnum > 0 { //还没有放完 寻找空的格子填充
|
||||||
index := int32(len(items))
|
index := int32(len(items))
|
||||||
for leftnum > 0 { //需要补充格子
|
for leftnum > 0 { //需要补充格子
|
||||||
if conf.UpperLimit == 0 || (conf.UpperLimit > 0 && leftnum <= int64(conf.UpperLimit)) {
|
if conf.UpperLimit == -1 || (conf.UpperLimit > 0 && leftnum <= int64(conf.UpperLimit)) {
|
||||||
grid := &pb.DB_UserItemData{
|
grid := &pb.DB_UserItemData{
|
||||||
GridId: primitive.NewObjectID().Hex(),
|
GridId: primitive.NewObjectID().Hex(),
|
||||||
UId: uid,
|
UId: uid,
|
||||||
|
34
modules/wtask/api_finish.go
Normal file
34
modules/wtask/api_finish.go
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
package wtask
|
||||||
|
|
||||||
|
import (
|
||||||
|
"go_dreamfactory/comm"
|
||||||
|
"go_dreamfactory/pb"
|
||||||
|
)
|
||||||
|
|
||||||
|
// 参数校验
|
||||||
|
func (this *apiComp) FinishCheck(session comm.IUserSession, req *pb.WTaskFinishReq) (errdata *pb.ErrorData) {
|
||||||
|
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// /获取系统公告
|
||||||
|
func (this *apiComp) Finish(session comm.IUserSession, req *pb.WTaskFinishReq) (errdata *pb.ErrorData) {
|
||||||
|
var (
|
||||||
|
wtask *pb.DBWTask
|
||||||
|
err error
|
||||||
|
)
|
||||||
|
if errdata = this.FinishCheck(session, req); errdata != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if wtask, err = this.module.modelwtask.getUserWTasks(session.GetUserId()); err != nil {
|
||||||
|
errdata = &pb.ErrorData{
|
||||||
|
Code: pb.ErrorCode_DBError,
|
||||||
|
Title: pb.ErrorCode_DBError.ToString(),
|
||||||
|
Message: err.Error(),
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
session.SendMsg(string(this.module.GetType()), "info", &pb.WTaskInfoResp{Activations: wtask.Activations, Completes: wtask.Completes})
|
||||||
|
return
|
||||||
|
}
|
@ -2,6 +2,7 @@ package wtask
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"go_dreamfactory/comm"
|
||||||
"go_dreamfactory/lego/core"
|
"go_dreamfactory/lego/core"
|
||||||
"go_dreamfactory/modules"
|
"go_dreamfactory/modules"
|
||||||
"go_dreamfactory/sys/configure"
|
"go_dreamfactory/sys/configure"
|
||||||
@ -83,3 +84,21 @@ func (this *configureComp) getcondlTask() map[int32][]*cfg.GameWorldTaskData {
|
|||||||
defer this.lock.RUnlock()
|
defer this.lock.RUnlock()
|
||||||
return this.condlTask
|
return this.condlTask
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (this *configureComp) gettaskconfconfigure(tid int32) (conf *cfg.GameWorldTaskData, err error) {
|
||||||
|
|
||||||
|
var (
|
||||||
|
v interface{}
|
||||||
|
ok bool
|
||||||
|
)
|
||||||
|
if v, err = this.GetConfigure(gameWorldTask); err != nil {
|
||||||
|
return
|
||||||
|
} else {
|
||||||
|
if conf, ok = v.(*cfg.GameWorldTask).GetDataMap()[tid]; !ok {
|
||||||
|
err = comm.NewNotFoundConfErr(modulename, gameWorldTask, tid)
|
||||||
|
this.module.Errorf("err:%v", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
@ -13,6 +13,8 @@ const modulename = "世界任务"
|
|||||||
|
|
||||||
type WTask struct {
|
type WTask struct {
|
||||||
modules.ModuleBase
|
modules.ModuleBase
|
||||||
|
service core.IService
|
||||||
|
modelSys comm.ISys
|
||||||
api *apiComp
|
api *apiComp
|
||||||
configure *configureComp
|
configure *configureComp
|
||||||
modelwtask *ModelWTask
|
modelwtask *ModelWTask
|
||||||
@ -28,6 +30,17 @@ func (this *WTask) GetType() core.M_Modules {
|
|||||||
|
|
||||||
func (this *WTask) Init(service core.IService, module core.IModule, options core.IModuleOptions) (err error) {
|
func (this *WTask) Init(service core.IService, module core.IModule, options core.IModuleOptions) (err error) {
|
||||||
err = this.ModuleBase.Init(service, module, options)
|
err = this.ModuleBase.Init(service, module, options)
|
||||||
|
this.service = service
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *WTask) Start() (err error) {
|
||||||
|
err = this.ModuleBase.Start()
|
||||||
|
var module core.IModule
|
||||||
|
if module, err = this.service.GetModule(comm.ModuleSys); err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.modelSys = module.(comm.ISys)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -56,6 +69,7 @@ func (this *WTask) BuriedsNotify(uid string, condis []*pb.ConIProgress) {
|
|||||||
award []*pb.UserAssets = make([]*pb.UserAssets, 0)
|
award []*pb.UserAssets = make([]*pb.UserAssets, 0)
|
||||||
ok bool
|
ok bool
|
||||||
needcheck bool //是否需要校验
|
needcheck bool //是否需要校验
|
||||||
|
|
||||||
err error
|
err error
|
||||||
)
|
)
|
||||||
if utask, err = this.modelwtask.getUserWTasks(uid); err != nil {
|
if utask, err = this.modelwtask.getUserWTasks(uid); err != nil {
|
||||||
@ -143,12 +157,36 @@ func (this *WTask) BuriedsNotify(uid string, condis []*pb.ConIProgress) {
|
|||||||
//发送进度变化消息
|
//发送进度变化消息
|
||||||
session.SendMsg(string(this.GetType()), "accepttaskchange", &pb.WTaskAccepttaskChangePush{Accepttask: detailstasks})
|
session.SendMsg(string(this.GetType()), "accepttaskchange", &pb.WTaskAccepttaskChangePush{Accepttask: detailstasks})
|
||||||
|
|
||||||
if len(finishtasks) > 0 {
|
|
||||||
//发送任务完成推送
|
|
||||||
session.SendMsg(string(this.GetType()), "autofinsh", &pb.WTaskAutoFinshPush{Completes: finishtasks, Award: award})
|
|
||||||
utask.Completes = append(utask.Completes, finishtasks...)
|
|
||||||
this.inquireActivations(session, utask, 1, []string{})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 完成任务
|
||||||
|
func (this *WTask) fishtask(session comm.IUserSession, wtask *pb.DBWTask, finishtasks []int32) {
|
||||||
|
var (
|
||||||
|
opencmdMap map[string]int32
|
||||||
|
opencmd []string
|
||||||
|
user *pb.DBUser
|
||||||
|
errdata *pb.ErrorData
|
||||||
|
)
|
||||||
|
|
||||||
|
if len(finishtasks) == 0 {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
if opencmdMap, errdata = this.modelSys.QueryOpenCondData(session.GetUserId()); errdata != nil {
|
||||||
|
this.Error("查询用户功能是否开启表 失败!", log.Field{Key: "key", Value: errdata})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
opencmd = make([]string, 0)
|
||||||
|
for k, v := range opencmdMap {
|
||||||
|
if v == 2 {
|
||||||
|
opencmd = append(opencmd, k)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if user = this.ModuleUser.GetUser(session.GetUserId()); user != nil {
|
||||||
|
this.Error("获取用户信息失败!", log.Field{Key: "uid", Value: session.GetUserId()})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.inquireActivations(session, wtask, user.Lv, opencmd)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询可接取任务列表
|
// 查询可接取任务列表
|
||||||
@ -186,12 +224,17 @@ func (this *WTask) inquireActivations(session comm.IUserSession, wtask *pb.DBWTa
|
|||||||
if v.Des == 5 { //商队任务不主动触发
|
if v.Des == 5 { //商队任务不主动触发
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
if v.AutoAccept == 0 {
|
||||||
wtask.Activations = append(wtask.Activations, v.Key)
|
wtask.Activations = append(wtask.Activations, v.Key)
|
||||||
change = true
|
change = true
|
||||||
|
} else if v.AutoAccept == 1 { //自动接取任务
|
||||||
|
wtask.Accepttask = append(wtask.Accepttask, v.Key)
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if change {
|
if change {
|
||||||
session.SendMsg(string(this.GetType()), "autofinsh", &pb.WTaskActivationsPush{Activations: wtask.Activations})
|
session.SendMsg(string(this.GetType()), "activations", &pb.WTaskActivationsPush{Activations: wtask.Activations})
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -618,62 +618,6 @@ func (x *WTaskAccepttaskChangePush) GetAccepttask() []*DBWTaskItem {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
//任务自动完成 推送
|
|
||||||
type WTaskAutoFinshPush struct {
|
|
||||||
state protoimpl.MessageState
|
|
||||||
sizeCache protoimpl.SizeCache
|
|
||||||
unknownFields protoimpl.UnknownFields
|
|
||||||
|
|
||||||
Completes []int32 `protobuf:"varint,1,rep,packed,name=completes,proto3" json:"completes"` //可接取任务列表
|
|
||||||
Award []*UserAssets `protobuf:"bytes,2,rep,name=award,proto3" json:"award"` //奖励
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *WTaskAutoFinshPush) Reset() {
|
|
||||||
*x = WTaskAutoFinshPush{}
|
|
||||||
if protoimpl.UnsafeEnabled {
|
|
||||||
mi := &file_wtask_wtask_msg_proto_msgTypes[12]
|
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
||||||
ms.StoreMessageInfo(mi)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *WTaskAutoFinshPush) String() string {
|
|
||||||
return protoimpl.X.MessageStringOf(x)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (*WTaskAutoFinshPush) ProtoMessage() {}
|
|
||||||
|
|
||||||
func (x *WTaskAutoFinshPush) ProtoReflect() protoreflect.Message {
|
|
||||||
mi := &file_wtask_wtask_msg_proto_msgTypes[12]
|
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
||||||
if ms.LoadMessageInfo() == nil {
|
|
||||||
ms.StoreMessageInfo(mi)
|
|
||||||
}
|
|
||||||
return ms
|
|
||||||
}
|
|
||||||
return mi.MessageOf(x)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Deprecated: Use WTaskAutoFinshPush.ProtoReflect.Descriptor instead.
|
|
||||||
func (*WTaskAutoFinshPush) Descriptor() ([]byte, []int) {
|
|
||||||
return file_wtask_wtask_msg_proto_rawDescGZIP(), []int{12}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *WTaskAutoFinshPush) GetCompletes() []int32 {
|
|
||||||
if x != nil {
|
|
||||||
return x.Completes
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *WTaskAutoFinshPush) GetAward() []*UserAssets {
|
|
||||||
if x != nil {
|
|
||||||
return x.Award
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
var File_wtask_wtask_msg_proto protoreflect.FileDescriptor
|
var File_wtask_wtask_msg_proto protoreflect.FileDescriptor
|
||||||
|
|
||||||
var file_wtask_wtask_msg_proto_rawDesc = []byte{
|
var file_wtask_wtask_msg_proto_rawDesc = []byte{
|
||||||
@ -729,13 +673,8 @@ var file_wtask_wtask_msg_proto_rawDesc = []byte{
|
|||||||
0x6e, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x2c, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x70,
|
0x6e, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x2c, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x70,
|
||||||
0x74, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x44, 0x42,
|
0x74, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x44, 0x42,
|
||||||
0x57, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x70,
|
0x57, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x70,
|
||||||
0x74, 0x74, 0x61, 0x73, 0x6b, 0x22, 0x55, 0x0a, 0x12, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x41, 0x75,
|
0x74, 0x74, 0x61, 0x73, 0x6b, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70,
|
||||||
0x74, 0x6f, 0x46, 0x69, 0x6e, 0x73, 0x68, 0x50, 0x75, 0x73, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x63,
|
0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||||
0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x09,
|
|
||||||
0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x05, 0x61, 0x77, 0x61,
|
|
||||||
0x72, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41,
|
|
||||||
0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x05, 0x61, 0x77, 0x61, 0x72, 0x64, 0x42, 0x06, 0x5a, 0x04,
|
|
||||||
0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@ -750,7 +689,7 @@ func file_wtask_wtask_msg_proto_rawDescGZIP() []byte {
|
|||||||
return file_wtask_wtask_msg_proto_rawDescData
|
return file_wtask_wtask_msg_proto_rawDescData
|
||||||
}
|
}
|
||||||
|
|
||||||
var file_wtask_wtask_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 13)
|
var file_wtask_wtask_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 12)
|
||||||
var file_wtask_wtask_msg_proto_goTypes = []interface{}{
|
var file_wtask_wtask_msg_proto_goTypes = []interface{}{
|
||||||
(*WTaskInfoReq)(nil), // 0: WTaskInfoReq
|
(*WTaskInfoReq)(nil), // 0: WTaskInfoReq
|
||||||
(*WTaskInfoResp)(nil), // 1: WTaskInfoResp
|
(*WTaskInfoResp)(nil), // 1: WTaskInfoResp
|
||||||
@ -764,27 +703,25 @@ var file_wtask_wtask_msg_proto_goTypes = []interface{}{
|
|||||||
(*WTaskFinishResp)(nil), // 9: WTaskFinishResp
|
(*WTaskFinishResp)(nil), // 9: WTaskFinishResp
|
||||||
(*WTaskActivationsPush)(nil), // 10: WTaskActivationsPush
|
(*WTaskActivationsPush)(nil), // 10: WTaskActivationsPush
|
||||||
(*WTaskAccepttaskChangePush)(nil), // 11: WTaskAccepttaskChangePush
|
(*WTaskAccepttaskChangePush)(nil), // 11: WTaskAccepttaskChangePush
|
||||||
(*WTaskAutoFinshPush)(nil), // 12: WTaskAutoFinshPush
|
(*DBWTaskItem)(nil), // 12: DBWTaskItem
|
||||||
(*DBWTaskItem)(nil), // 13: DBWTaskItem
|
(*BattleFormation)(nil), // 13: BattleFormation
|
||||||
(*BattleFormation)(nil), // 14: BattleFormation
|
(*BattleInfo)(nil), // 14: BattleInfo
|
||||||
(*BattleInfo)(nil), // 15: BattleInfo
|
(*BattleReport)(nil), // 15: BattleReport
|
||||||
(*BattleReport)(nil), // 16: BattleReport
|
(*UserAssets)(nil), // 16: UserAssets
|
||||||
(*UserAssets)(nil), // 17: UserAssets
|
|
||||||
}
|
}
|
||||||
var file_wtask_wtask_msg_proto_depIdxs = []int32{
|
var file_wtask_wtask_msg_proto_depIdxs = []int32{
|
||||||
13, // 0: WTaskInfoResp.accepttask:type_name -> DBWTaskItem
|
12, // 0: WTaskInfoResp.accepttask:type_name -> DBWTaskItem
|
||||||
13, // 1: WTaskAcceptResp.task:type_name -> DBWTaskItem
|
12, // 1: WTaskAcceptResp.task:type_name -> DBWTaskItem
|
||||||
14, // 2: WTaskBattleStartReq.battle:type_name -> BattleFormation
|
13, // 2: WTaskBattleStartReq.battle:type_name -> BattleFormation
|
||||||
15, // 3: WTaskBattleStartResp.info:type_name -> BattleInfo
|
14, // 3: WTaskBattleStartResp.info:type_name -> BattleInfo
|
||||||
16, // 4: WTaskBattleFinishReq.report:type_name -> BattleReport
|
15, // 4: WTaskBattleFinishReq.report:type_name -> BattleReport
|
||||||
17, // 5: WTaskFinishResp.award:type_name -> UserAssets
|
16, // 5: WTaskFinishResp.award:type_name -> UserAssets
|
||||||
13, // 6: WTaskAccepttaskChangePush.accepttask:type_name -> DBWTaskItem
|
12, // 6: WTaskAccepttaskChangePush.accepttask:type_name -> DBWTaskItem
|
||||||
17, // 7: WTaskAutoFinshPush.award:type_name -> UserAssets
|
7, // [7:7] is the sub-list for method output_type
|
||||||
8, // [8:8] is the sub-list for method output_type
|
7, // [7:7] is the sub-list for method input_type
|
||||||
8, // [8:8] is the sub-list for method input_type
|
7, // [7:7] is the sub-list for extension type_name
|
||||||
8, // [8:8] is the sub-list for extension type_name
|
7, // [7:7] is the sub-list for extension extendee
|
||||||
8, // [8:8] is the sub-list for extension extendee
|
0, // [0:7] is the sub-list for field type_name
|
||||||
0, // [0:8] is the sub-list for field type_name
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() { file_wtask_wtask_msg_proto_init() }
|
func init() { file_wtask_wtask_msg_proto_init() }
|
||||||
@ -940,18 +877,6 @@ func file_wtask_wtask_msg_proto_init() {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_wtask_wtask_msg_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
|
|
||||||
switch v := v.(*WTaskAutoFinshPush); i {
|
|
||||||
case 0:
|
|
||||||
return &v.state
|
|
||||||
case 1:
|
|
||||||
return &v.sizeCache
|
|
||||||
case 2:
|
|
||||||
return &v.unknownFields
|
|
||||||
default:
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
type x struct{}
|
type x struct{}
|
||||||
out := protoimpl.TypeBuilder{
|
out := protoimpl.TypeBuilder{
|
||||||
@ -959,7 +884,7 @@ func file_wtask_wtask_msg_proto_init() {
|
|||||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||||
RawDescriptor: file_wtask_wtask_msg_proto_rawDesc,
|
RawDescriptor: file_wtask_wtask_msg_proto_rawDesc,
|
||||||
NumEnums: 0,
|
NumEnums: 0,
|
||||||
NumMessages: 13,
|
NumMessages: 12,
|
||||||
NumExtensions: 0,
|
NumExtensions: 0,
|
||||||
NumServices: 0,
|
NumServices: 0,
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user