ecs/servers/game/logic/player_function_open.go
2025-06-04 18:17:39 +08:00

49 lines
1.3 KiB
Go

package logic
//func (this *Player) CheckFunctionOpen(moduelId, subModuleId uint32) error {
// var functionOpen = this.manager.tables.FunctionOpenExtend.Get(int(moduelId), int(subModuleId))
// if functionOpen == nil {
// return nil
// }
//
// var unlocked = true
// for i := range functionOpen.UnlockType {
// switch functionOpen.UnlockType[i] {
// case 0:
// if functionOpen.UnlockValue[i] > 0 && this.Role.Level < uint32(functionOpen.UnlockValue[i]) {
// unlocked = false
// }
// case 1:
// if functionOpen.UnlockValue[i] > 0 {
// var task = this.Task[uint32(functionOpen.UnlockValue[i])]
// if task == nil {
// if this.GetCounterTotal(proto.CounterTypeTaskCompleted, uint32(functionOpen.UnlockValue[i])) == 0 {
// unlocked = false
// }
// } else {
// if proto.TaskStatus(task.Status) < proto.TaskStatusCompleted {
// unlocked = false
// }
// }
// }
// case 2:
// if functionOpen.UnlockValue[i] > 0 {
// var copyStatus = this.GetCopyStatus(proto.CopyTypeMainline, 0, 0, 0)
// if copyStatus == nil || copyStatus.IndexId < uint32(functionOpen.UnlockValue[i]) {
// unlocked = false
// }
// }
// case 3:
//
// default:
// return proto.ErrDataTablesError
// }
// }
//
// if unlocked {
// return nil
// }
//
// return proto.ErrFunctionNotUnlocked
//}