add doc respin

This commit is contained in:
dungdq 2025-07-17 18:17:02 +07:00
parent 01c8af1849
commit ecadbe15a7
4 changed files with 389 additions and 0 deletions

View File

@ -0,0 +1,18 @@
{
"position": 25,
"label": "Respin Game",
"collapsible": true,
"collapsed": true,
"link": {
"type": "generated-index",
"title": "Respin Game",
"description": "This section will guide you through the process of setting up a new project, including creating a new repository and configuring your development environment.",
"keywords": [
"controller",
"project",
"repository",
"model",
"respin game"
]
}
}

View File

@ -0,0 +1,15 @@
---
sidebar_position: 3
---
# Respin View
## Overview
* The `RespinView` class is responsible for the presentation layer of the respin feature. It extends the core `View` component and can be customized to display visual feedback related to respins.
## Description:
* Initializes a new instance of RespinView.
* Calls the base View constructor.
* [p4f-slotty-core/src/view/respin-view.js#L5](https://gitea.plp19.com/cocos-core/p4f-slotty-core/src/commit/7fbf58bf2ad8edec4258757b353151b638c96652/src/view/respin-view.js#L5) |

View File

@ -0,0 +1,177 @@
---
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) |

View File

@ -0,0 +1,179 @@
---
sidebar_position: 2
---
# Respin Model
## Index
### Properties
* [respinRetriggerData](#respinretriggerdata) `Object | null` Data for respin retrigger conditions.
* [respinLeft](#respinleft) `Number` Number of respins remaining.
* [totalRespin](#totalrespin) `Number` Total number of respins triggered by feature logic.
* [respinWin](#respinwin) `Number` Total win amount during respins.
### Methods
* [Reset](#reset) Resets all respin data to default values.
* [SetRespinLeft](#setrespinleft) Sets the number of remaining respins.
* [SetTotalRespin](#settotalrespin) Sets the total number of respins.
* [SetRespinRetriggerData](#setrespinretriggerdata) Sets retrigger data for respins.
* [SetRespinWin](#setrespinwin) Sets the win amount during respins.
* [GetRespinLeft](#getrespinleft) Returns the number of remaining respins.
* [GetRespinPlayed](#getrespinplayed) Calculates the number of played respins.
* [GetTotalRespin](#gettotalrespin) Returns the total number of respins.
* [GetRespinRetriggerData](#getrespinretriggerdata) Returns a clone of the retrigger data object.
* [GetRespinWin](#getrespinwin) Returns the total win during respins.
## Details
### Properties
#### respinRetriggerData
> Data for respin retrigger conditions.
| meta | description |
| :--- | :---------- |
| Type | [Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object) \| null |
| Defined in | [p4f-slotty-core/src/model/respin-model.js#L9](https://gitea.plp19.com/cocos-core/p4f-slotty-core/src/commit/7fbf58bf2ad8edec4258757b353151b638c96652/src/model/respin-model.js#L9) |
#### respinLeft
> Number of respins remaining.
| meta | description |
| :--- | :---------- |
| Type | [Number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number) |
| Defined in | [p4f-slotty-core/src/model/respin-model.js#L10](https://gitea.plp19.com/cocos-core/p4f-slotty-core/src/commit/7fbf58bf2ad8edec4258757b353151b638c96652/src/model/respin-model.js#L10) |
#### totalRespin
> Total number of respins triggered by feature logic.
| meta | description |
| :--- | :---------- |
| Type | [Number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number) |
| Defined in | [p4f-slotty-core/src/model/respin-model.js#L11](https://gitea.plp19.com/cocos-core/p4f-slotty-core/src/commit/7fbf58bf2ad8edec4258757b353151b638c96652/src/model/respin-model.js#L11) |
#### respinWin
> Total win amount during respins.
| meta | description |
| :--- | :---------- |
| Type | [Number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number) |
| Defined in | [p4f-slotty-core/src/model/respin-model.js#L12](https://gitea.plp19.com/cocos-core/p4f-slotty-core/src/commit/7fbf58bf2ad8edec4258757b353151b638c96652/src/model/respin-model.js#L12) |
### Methods
#### Reset
Resets all respin data to default values.
| meta | description |
| :--- | :---------- |
| Defined in | [p4f-slotty-core/src/model/respin-model.js#L17](https://gitea.plp19.com/cocos-core/p4f-slotty-core/src/commit/7fbf58bf2ad8edec4258757b353151b638c96652/src/model/respin-model.js#L17) |
#### SetRespinLeft
Sets the number of remaining respins.
| meta | description |
| :--- | :---------- |
| Defined in | [p4f-slotty-core/src/model/respin-model.js#L26](https://gitea.plp19.com/cocos-core/p4f-slotty-core/src/commit/7fbf58bf2ad8edec4258757b353151b638c96652/src/model/respin-model.js#L26) |
<p style={{ color: 'gray', fontSize: '1.0em' }}>
**Parameters**
* `respinLeft` [Number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)
</p>
#### SetTotalRespin
Sets the total number of respins.
| meta | description |
| :--- | :---------- |
| Defined in | [p4f-slotty-core/src/model/respin-model.js#L32](https://gitea.plp19.com/cocos-core/p4f-slotty-core/src/commit/7fbf58bf2ad8edec4258757b353151b638c96652/src/model/respin-model.js#L32) |
<p style={{ color: 'gray', fontSize: '1.0em' }}>
**Parameters**
* `totalRespin` [Number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)
</p>
#### SetRespinRetriggerData
Sets retrigger data for respins.
| meta | description |
| :--- | :---------- |
| Defined in | [p4f-slotty-core/src/model/respin-model.js#L38](https://gitea.plp19.com/cocos-core/p4f-slotty-core/src/commit/7fbf58bf2ad8edec4258757b353151b638c96652/src/model/respin-model.js#L38) |
<p style={{ color: 'gray', fontSize: '1.0em' }}>
**Parameters**
* `respinRetriggerData` [Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)
</p>
#### SetRespinWin
Sets the win amount during respins.
| meta | description |
| :--- | :---------- |
| Defined in | [p4f-slotty-core/src/model/respin-model.js#L44](https://gitea.plp19.com/cocos-core/p4f-slotty-core/src/commit/7fbf58bf2ad8edec4258757b353151b638c96652/src/model/respin-model.js#L44) |
<p style={{ color: 'gray', fontSize: '1.0em' }}>
**Parameters**
* `respinWin` [Number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)
</p>
#### GetRespinLeft
Returns the number of remaining respins.
| meta | description |
| :--- | :---------- |
| Returns | [Number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number) |
| Defined in | [p4f-slotty-core/src/model/respin-model.js#L50](https://gitea.plp19.com/cocos-core/p4f-slotty-core/src/commit/7fbf58bf2ad8edec4258757b353151b638c96652/src/model/respin-model.js#L50) |
#### GetRespinPlayed
Calculates the number of played respins.
| meta | description |
| :--- | :---------- |
| Returns | [Number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number) |
| Defined in | [p4f-slotty-core/src/model/respin-model.js#L56](https://gitea.plp19.com/cocos-core/p4f-slotty-core/src/commit/7fbf58bf2ad8edec4258757b353151b638c96652/src/model/respin-model.js#L56) |
#### GetTotalRespin
Returns the total number of respins.
| meta | description |
| :--- | :---------- |
| Returns | [Number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number) |
| Defined in | [p4f-slotty-core/src/model/respin-model.js#L62](https://gitea.plp19.com/cocos-core/p4f-slotty-core/src/commit/7fbf58bf2ad8edec4258757b353151b638c96652/src/model/respin-model.js#L62) |
#### GetRespinRetriggerData
Returns a clone of the retrigger data object.
| meta | description |
| :--- | :---------- |
| Returns | [Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object) \| null |
| Defined in | [p4f-slotty-core/src/model/respin-model.js#L58](https://gitea.plp19.com/cocos-core/p4f-slotty-core/src/commit/7fbf58bf2ad8edec4258757b353151b638c96652/src/model/respin-model.js#L58) |
#### GetRespinWin
Returns the total win during respins.
| meta | description |
| :--- | :---------- |
| Returns | [Number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number) |
| Defined in | [p4f-slotty-core/src/model/respin-model.js#L74](https://gitea.plp19.com/cocos-core/p4f-slotty-core/src/commit/7fbf58bf2ad8edec4258757b353151b638c96652/src/model/respin-model.js#L74) |