49 lines
1.3 KiB
Go
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
|
|
//}
|