2025-07-17 18:17:02 +07:00

178 lines
7.8 KiB
Markdown

---
sidebar_position: 1
---
# Respin Controller
## Index
### Properties
* [timeoutStartRespin](#timeoutstartrespin) `Object | null` Timeout handler for initiating respin.
* [isPaused](#ispaused) `Boolean` Indicates whether the controller is paused.
* [waiter](#waiter) `Object | null` Handles timing-related waiting.
### Methods
* [_start](#_start) Initializes respin-related values from input data.
* [_complete](#_complete) Cleans up waiting logic and resets the model.
* [_registerEvent](#_registerevent) Registers all necessary events for the respin controller.
* [onRespinReady](#onrespinready) Handles respin-ready state. Triggers respin after a delay.
* [onStartFeatureGameClicked](#onstartfeaturegameclicked) Handles logic when the feature game start is clicked.
* [onPresentFeatureTriggerCompleted](#onpresentfeaturetriggercompleted) Handles logic after a present feature trigger finishes.
* [onSpinEnd](#onspinend) Processes logic at the end of a spin, including retrigger check.
* [respinEnd](#respinend) Triggers final respin result notification.
* [onRespinDataReceived](#onrespindatareceived) Updates model state when server sends respin data.
* [onPickupItemReceived](#onpickupitemreceived) Processes pickup-related bonus or extra respin data.
* [respin](#respin) Core logic to trigger or end respin based on model/game state.
## Details
### Properties
#### timeoutStartRespin
> Timeout handler for initiating respin.
| meta | description |
| :--- | :---------- |
| Type | [Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object) \| null |
| Defined in | [p4f-slotty-core/src/controller/respin-controller.js#L15](https://gitea.plp19.com/cocos-core/p4f-slotty-core/src/commit/7fbf58bf2ad8edec4258757b353151b638c96652/src/controller/respin-controller.js#L15) |
#### isPaused
> Indicates whether the controller is paused.
| meta | description |
| :--- | :---------- |
| Type | [Boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean) |
| Defined in | [p4f-slotty-core/src/controller/respin-controller.js#L16](https://gitea.plp19.com/cocos-core/p4f-slotty-core/src/commit/7fbf58bf2ad8edec4258757b353151b638c96652/src/controller/respin-controller.js#L16) |
#### waiter
> Handles timing-related waiting.
| meta | description |
| :--- | :---------- |
| Type | [Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object) \| null |
| Defined in | [p4f-slotty-core/src/controller/respin-controller.js#L17](https://gitea.plp19.com/cocos-core/p4f-slotty-core/src/commit/7fbf58bf2ad8edec4258757b353151b638c96652/src/controller/respin-controller.js#L17) |
### Methods
#### _start
Initializes respin-related values from input data.
| meta | description |
| :--- | :---------- |
| Defined in | [p4f-slotty-core/src/controller/respin-controller.js#L22](https://gitea.plp19.com/cocos-core/p4f-slotty-core/src/commit/7fbf58bf2ad8edec4258757b353151b638c96652/src/controller/respin-controller.js#L22) |
#### _complete
Cleans up waiting logic and resets the model.
| meta | description |
| :--- | :---------- |
| Defined in | [p4f-slotty-core/src/controller/respin-controller.js#L29](https://gitea.plp19.com/cocos-core/p4f-slotty-core/src/commit/7fbf58bf2ad8edec4258757b353151b638c96652/src/controller/respin-controller.js#L29) |
#### _registerEvent
Registers all necessary events for the respin controller.
| meta | description |
| :--- | :---------- |
| Defined in | [p4f-slotty-core/src/controller/respin-controller.js#L39](https://gitea.plp19.com/cocos-core/p4f-slotty-core/src/commit/7fbf58bf2ad8edec4258757b353151b638c96652/src/controller/respin-controller.js#L39) |
#### onRespinReady
Handles respin-ready state. Triggers respin after a delay.
| meta | description |
| :--- | :---------- |
| Defined in | [p4f-slotty-core/src/controller/respin-controller.js#L50](https://gitea.plp19.com/cocos-core/p4f-slotty-core/src/commit/7fbf58bf2ad8edec4258757b353151b638c96652/src/controller/respin-controller.js#L50) |
#### onStartFeatureGameClicked
Handles logic when the feature game start is clicked.
| meta | description |
| :--- | :---------- |
| Defined in | [p4f-slotty-core/src/controller/respin-controller.js#L59](https://gitea.plp19.com/cocos-core/p4f-slotty-core/src/commit/7fbf58bf2ad8edec4258757b353151b638c96652/src/controller/respin-controller.js#L59) |
#### onPresentFeatureTriggerCompleted
Handles logic after a present feature trigger finishes.
| meta | description |
| :--- | :---------- |
| Defined in | [p4f-slotty-core/src/controller/respin-controller.js#L67](https://gitea.plp19.com/cocos-core/p4f-slotty-core/src/commit/7fbf58bf2ad8edec4258757b353151b638c96652/src/controller/respin-controller.js#L67) |
<p style={{ color: 'gray', fontSize: '1.0em' }}>
**Parameters**
* `data` [Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)
* `isRetrigger` [Boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)
</p>
#### onSpinEnd
Processes logic at the end of a spin, including retrigger check.
| meta | description |
| :--- | :---------- |
| Defined in | [p4f-slotty-core/src/controller/respin-controller.js#L77](https://gitea.plp19.com/cocos-core/p4f-slotty-core/src/commit/7fbf58bf2ad8edec4258757b353151b638c96652/src/controller/respin-controller.js#L77) |
#### respinEnd
Triggers final respin result notification.
| meta | description |
| :--- | :---------- |
| Defined in | [p4f-slotty-core/src/controller/respin-controller.js#L92](https://gitea.plp19.com/cocos-core/p4f-slotty-core/src/commit/7fbf58bf2ad8edec4258757b353151b638c96652/src/controller/respin-controller.js#L92) |
#### onRespinDataReceived
Updates model state when server sends respin data.
| meta | description |
| :--- | :---------- |
| Defined in | [p4f-slotty-core/src/controller/respin-controller.js#L104](https://gitea.plp19.com/cocos-core/p4f-slotty-core/src/commit/7fbf58bf2ad8edec4258757b353151b638c96652/src/controller/respin-controller.js#L104) |
<p style={{ color: 'gray', fontSize: '1.0em' }}>
**Parameters**
* `data` [Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)
* `respinLeft` [Number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)
* `totalRespin` [Number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)
* `point` [Number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)
* `retriggerData` [Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)
</p>
#### onPickupItemReceived
Processes pickup-related bonus or extra respin data.
| meta | description |
| :--- | :---------- |
| Defined in | [p4f-slotty-core/src/controller/respin-controller.js#L115](https://gitea.plp19.com/cocos-core/p4f-slotty-core/src/commit/7fbf58bf2ad8edec4258757b353151b638c96652/src/controller/respin-controller.js#L115) |
<p style={{ color: 'gray', fontSize: '1.0em' }}>
**Parameters**
* `data` [Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)
* `respinLeft` [Number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)
* `totalRespin` [Number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)
* `respinBonus` [Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)
</p>
#### respin
Core logic to trigger or end respin based on model/game state.
| meta | description |
| :--- | :---------- |
| Defined in | [p4f-slotty-core/src/controller/respin-controller.js#L129](https://gitea.plp19.com/cocos-core/p4f-slotty-core/src/commit/7fbf58bf2ad8edec4258757b353151b638c96652/src/controller/respin-controller.js#L129) |