add plugin table-core

This commit is contained in:
Tu Bui 2025-06-11 10:30:27 +07:00
parent a4c53cc83b
commit 11adef144c
8 changed files with 1523 additions and 0 deletions

13
assets/core.meta Normal file
View File

@ -0,0 +1,13 @@
{
"ver": "1.1.3",
"uuid": "4fb16fa3-e631-4543-b196-dd6273091509",
"importer": "folder",
"isBundle": false,
"bundleName": "",
"priority": 1,
"compressionType": {},
"optimizeHotUpdate": {},
"inlineSpriteFrames": {},
"isRemoteBundle": {},
"subMetas": {}
}

13
assets/core/plugins.meta Normal file
View File

@ -0,0 +1,13 @@
{
"ver": "1.1.3",
"uuid": "453b0527-6cad-43e6-83af-0eb85a63f845",
"importer": "folder",
"isBundle": false,
"bundleName": "",
"priority": 1,
"compressionType": {},
"optimizeHotUpdate": {},
"inlineSpriteFrames": {},
"isRemoteBundle": {},
"subMetas": {}
}

1030
assets/core/plugins/core.d.ts vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,6 @@
{
"ver": "2.0.2",
"uuid": "8735d714-0f46-4c44-b32b-e28eca191190",
"importer": "text",
"subMetas": {}
}

View File

@ -0,0 +1,410 @@
declare namespace Core.Pattern {
interface Command<ParamType = void> {
execute(param: ParamType): void;
}
}
declare namespace Core.Pattern {
interface UndoManager {
push(undoable: Undoable): any;
undo(): any;
isUndoable(): boolean;
reset(): any;
}
}
declare namespace Core.Pattern {
interface Undoable {
undo(onSuccess?: Function): void;
}
}
declare namespace Core.Controller {
interface BalanceController {
updateBalance(credit: number, freeCredit: number): void;
withdraw(credit: number): void;
deposit(credit: number): void;
releaseBetCredit(): void;
}
}
declare namespace Core.Controller {
interface BetController {
placeBet(betPositionIndex: number): void;
clearBet(betPositionIndex: number): void;
clearAllBet(): void;
doubleBet(): void;
undo(): void;
rebet(): void;
reset(): void;
}
}
declare namespace Core.Controller {
interface BetLimitController {
updateCurrentBetLimit(roomIndex: number): any;
}
}
declare namespace Core.Controller {
interface BetOptionController {
updateListBetOption(listBetOption: number[], defaultBetOption: number): void;
changeBetOption(betOption: number): void;
}
}
declare namespace Core.Controller {
interface CountdownController {
startCountdown(duration: number, callbacks?: {
onComplete?: Function;
onTick?: Function;
}): any;
stop(): any;
reset(): any;
}
}
declare namespace Core.Controller {
interface ErrorController {
handleError(error: Symbol): void;
handleServerError(errorCode: number): void;
}
}
declare namespace Core.Controller {
interface GameController {
startNewRound(): void;
confirmBet(): void;
collectPoint(): void;
}
}
declare namespace Core.Controller {
interface HistoryController<RoundResult> {
updateHistory(listRoundRecord: Core.Model.RoundRecordModel<RoundResult>[]): void;
}
}
declare namespace Core.Controller {
interface LoungeBetLimitController {
updateBetLimitSetting(listBetLimitSetting: Core.Model.BetLimitModel[]): void;
}
}
declare namespace Core.Controller {
interface LoungeBetOptionController {
updateBetOptionSetting(listBetOptionSetting: Model.ListBetOptionModel[]): void;
}
}
declare namespace Core.Controller {
interface OddsController {
updateListOdds(listOdds: number[]): any;
}
}
declare namespace Core.Controller {
interface RoomController {
joinRoom(roomIndex: number): void;
leaveRoom(): void;
}
}
declare namespace Core.Controller {
interface RoundResultController<RoundResult> {
updateRoundResult(roundResult: RoundResult): void;
}
}
declare namespace Core.Controller {
interface StatisticController<RoundResult> {
addRoundResult(roundResult: RoundResult): void;
addListRoundResult(listRoundResult: RoundResult[]): void;
}
}
declare namespace Core.Controller {
interface WinController {
updateTotalWinPoint(totalWinPoint: number): void;
}
}
declare namespace Core.EventSystem {
interface EventListener {
register(type: any, callback: Function): EventContract;
}
interface EventPublisher {
emit(type: any): void;
}
interface EventContract {
on(): void;
off(): void;
break(): void;
}
}
declare namespace Core.Model {
interface ApplicationConfigModel {
sessionOCode: string;
sessionHash: string;
platform: string;
port: number;
address: string;
currency: string;
publisher: string;
enabledSSL: boolean;
}
}
declare namespace Core.Model {
interface BalanceModel {
credit: number;
freeCredit: number;
get totalCredit(): number;
}
}
declare namespace Core.Model {
interface BetConflictModel {
listConflictBetPosition: number[];
}
}
declare namespace Core.Model {
interface BetLimitModel {
listMinBetPoint: number[];
listMaxBetPoint: number[];
minTotalBetPoint: number;
maxTotalBetPoint: number;
}
}
declare namespace Core.Model {
interface BetModel {
listBetPoint: number[];
}
}
declare namespace Core.Model {
interface BetPositionModel {
index: number;
}
}
declare namespace Core.Model {
interface BetSettingModel {
listBetPoint: number[];
}
}
declare namespace Core.Model {
interface CountdownModel {
remainTime: number;
}
}
declare namespace Core.Model {
interface ErrorModel {
errorType: Symbol;
serverErrorCode: number;
}
}
declare namespace Core.Model {
interface HistoryModel<RoundResult> {
listRoundRecord: RoundRecordModel<RoundResult>[];
}
}
declare namespace Core.Model {
interface HTTPServerModel {
url: string;
}
}
declare namespace Core.Model {
interface ListBetConflictModel {
listBetConflict: BetConflictModel[];
}
}
declare namespace Core.Model {
interface ListBetOptionModel {
listBetOption: number[];
}
}
declare namespace Core.Model {
interface ListOddsModel {
listOdds: number[];
}
}
declare namespace Core.Model {
interface ListPlayerModel {
listPlayer: PlayerModel[];
}
}
declare namespace Core.Model {
interface ListRoomBetLimitModel {
listRoomBetLimit: BetLimitModel[];
}
}
declare namespace Core.Model {
interface ListRoomBetOptionModel {
listRoomBetOption: ListBetOptionModel[];
}
}
declare namespace Core.Model {
interface PlayerModel {
id: string;
name: string;
balance: number;
}
}
declare namespace Core.Model {
interface RoomIndexModel {
roomIndex: number;
}
}
declare namespace Core.Model {
interface RoundRecordModel<RoundResult extends any = number[]> {
roundId: string;
betTime: Date;
stake: number;
win: number;
profitLoss: number;
roundResult: RoundResult;
}
}
declare namespace Core.Model {
interface RoundResultModel<RoundResult> {
roundResult: RoundResult;
}
}
declare namespace Core.Model {
interface SelectedBetOptionModel {
selectedBetOption: number;
}
}
declare namespace Core.Model {
interface StatisticModel<RoundResult = any> {
listRoundResult: RoundResult[];
}
}
declare namespace Core.Model {
interface WinModel {
totalWinPoint: number;
}
}
declare namespace Core.Network {
interface Connector {
connectToServer(): void;
joinRoom(roomIndex: number): void;
startNewRound(): void;
sendConfirmBet(betArray: number[]): void;
collectPoint(): void;
}
}
declare namespace Core.Network {
interface DataProcessor {
process(data: any): void;
}
}
declare namespace Core.Network {
interface NetworkController {
connectToServer(): any;
disconnectFromServer(): any;
}
}
declare namespace Core.Network {
interface NetworkRequest {
send(data?: any): void;
}
}
declare namespace Core.Network {
interface NetworkResponse {
onResponse(data?: any): any;
}
}
declare namespace Core.Parameter {
interface BetConstantParameter {
get DEFAULT_LIST_BET_OPTION(): number[];
}
}
declare namespace Core.Parameter {
interface GameConstantParameter {
get BET_POSITION_COUNT(): number;
}
}
declare namespace Core.Service {
interface AvailableBetCalculator {
getAvailableBet(betPositionIndex: number): number;
}
}
declare namespace Core.Service {
interface Validator {
validate(): boolean;
}
}
declare namespace Core.State {
interface BetControllerStateContext extends StateContext<BetControllerState> {
}
}
declare namespace Core.State {
interface BetControllerStateMachine extends StateMachine<BetControllerState> {
}
}
declare namespace Core.State {
interface BetControllerState extends Controller.BetController, State {
}
}
declare namespace Core.State {
interface BetOptionControllerStateContext extends StateContext<BetOptionControllerState> {
}
}
declare namespace Core.State {
interface BetOptionControllerStateMachine extends StateMachine<BetOptionControllerState> {
}
}
declare namespace Core.State {
interface BetOptionControllerState extends Controller.BetOptionController, State {
}
}
declare namespace Core.State {
interface GameControllerStateContext extends StateContext<GameControllerState> {
}
}
declare namespace Core.State {
interface GameControllerStateMachine extends StateMachine<GameControllerState> {
}
}
declare namespace Core.State {
interface GameControllerState extends Controller.GameController, State {
}
}
declare namespace Core.State {
interface RoomControllerStateContext extends StateContext<RoomControllerState> {
}
}
declare namespace Core.State {
interface RoomControllerStateMachine extends StateMachine<RoomControllerState> {
}
}
declare namespace Core.State {
interface RoomControllerState extends Controller.RoomController, State {
}
}
declare namespace Core.State {
interface StateContext<T extends State> {
setState(state: T): void;
getState(): T;
}
}
declare namespace Core.State {
interface StateMachine<T extends State> {
changeState(event: symbol): void;
getState(): T;
}
interface StateMachineEventManager<T extends State = State> {
registerStateMachine(stateMachine: StateMachine<T>): void;
unregisterStateMachine(stateMachine: StateMachine<T>): void;
emit(event: symbol): void;
}
}
declare namespace Core.State {
interface StateTransition<T extends State> {
from?: new (...arg: any[]) => T;
event: symbol;
to: new (...arg: any[]) => T;
}
type ListStateTransition<T extends State> = StateTransition<T>[];
interface ListStateTransitionAssertor<T extends State> {
assert(listStateTransition: ListStateTransition<T>): any;
}
interface ListStateTransitionCreator<T extends State> {
create(): ListStateTransition<T>;
}
}
declare namespace Core.State {
interface State {
enter(): void;
leave(): void;
}
}
declare namespace Core.View {
interface ComponentView {
render(): void;
}
interface GameView {
addComponent(component: ComponentView): void;
update(): void;
}
}

View File

@ -0,0 +1,10 @@
{
"ver": "1.1.0",
"uuid": "6e64a7a1-b33d-4971-b81c-12a4531f88bb",
"importer": "typescript",
"isPlugin": false,
"loadPluginInWeb": true,
"loadPluginInNative": true,
"loadPluginInEditor": false,
"subMetas": {}
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,10 @@
{
"ver": "1.1.0",
"uuid": "c7f8a66a-65a3-4281-8ef2-361ebb759f39",
"importer": "javascript",
"isPlugin": false,
"loadPluginInWeb": true,
"loadPluginInNative": true,
"loadPluginInEditor": false,
"subMetas": {}
}