Skip to content

Commit 91f6a58

Browse files
committed
store onBreak in BreakInfo
1 parent 508ccc8 commit 91f6a58

File tree

1 file changed

+22
-17
lines changed
  • common/src/main/kotlin/com/lambda/interaction/request/breaking

1 file changed

+22
-17
lines changed

common/src/main/kotlin/com/lambda/interaction/request/breaking/BreakManager.kt

Lines changed: 22 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -60,16 +60,18 @@ object BreakManager : RequestHandler<BreakRequest>() {
6060
init {
6161
listen<TickEvent.Pre>(Int.MIN_VALUE) {
6262
if (updateRequest(true) { true }) {
63-
currentRequest?.contexts?.forEach { requestCtx ->
64-
if (requestCtx == null) return@forEach
65-
if (!canAccept(requestCtx)) return@forEach
66-
67-
primaryBreakingInfo?.let { primaryInfo ->
68-
if (!buildConfig.breakSettings.doubleBreak) return@let
69-
if (primaryInfo.startedWithSecondary) return@let
70-
secondaryBreakingInfo = BreakInfo.SecondaryBreakInfo(requestCtx)
71-
} ?: run {
72-
primaryBreakingInfo = BreakInfo.PrimaryBreakInfo(requestCtx)
63+
currentRequest?.let { request ->
64+
request.contexts.forEach { requestCtx ->
65+
if (requestCtx == null) return@forEach
66+
if (!canAccept(requestCtx)) return@forEach
67+
68+
primaryBreakingInfo?.let { primaryInfo ->
69+
if (!buildConfig.breakSettings.doubleBreak) return@let
70+
if (primaryInfo.startedWithSecondary) return@let
71+
secondaryBreakingInfo = BreakInfo.SecondaryBreakInfo(requestCtx, request.onBreak)
72+
} ?: run {
73+
primaryBreakingInfo = BreakInfo.PrimaryBreakInfo(requestCtx, request.onBreak)
74+
}
7375
}
7476
}
7577
}
@@ -113,7 +115,7 @@ object BreakManager : RequestHandler<BreakRequest>() {
113115
if (breakBlock) {
114116
destroyBlock(info)
115117
}
116-
currentRequest?.onBreak()
118+
info.onBreak()
117119
}
118120
}
119121

@@ -263,7 +265,7 @@ object BreakManager : RequestHandler<BreakRequest>() {
263265
when (info.context.buildConfig.breakSettings.breakConfirmation) {
264266
BreakConfirmationMode.None -> {
265267
destroyBlock(info)
266-
currentRequest?.onBreak()
268+
info.onBreak()
267269
info.nullify()
268270
}
269271
BreakConfirmationMode.BreakThenAwait -> {
@@ -309,7 +311,8 @@ object BreakManager : RequestHandler<BreakRequest>() {
309311
}
310312

311313
abstract class BreakInfo(
312-
val context: BreakContext
314+
val context: BreakContext,
315+
val onBreak: () -> Unit
313316
) {
314317
var breaking = false
315318
var breakingTicks = 0
@@ -334,16 +337,18 @@ object BreakManager : RequestHandler<BreakRequest>() {
334337
open fun nullify() {}
335338

336339
class PrimaryBreakInfo(
337-
ctx: BreakContext
338-
) : BreakInfo(ctx) {
340+
ctx: BreakContext,
341+
onBreak: () -> Unit
342+
) : BreakInfo(ctx, onBreak) {
339343
override fun nullify() {
340344
primaryBreakingInfo = null
341345
}
342346
}
343347

344348
class SecondaryBreakInfo(
345-
ctx: BreakContext
346-
) : BreakInfo(ctx) {
349+
ctx: BreakContext,
350+
onBreak: () -> Unit
351+
) : BreakInfo(ctx, onBreak) {
347352
override fun getBreakThreshold() =
348353
1.0f
349354

0 commit comments

Comments
 (0)