rp_11001/assets/Game/scripts/game/Define.ts
2025-12-29 10:34:08 +08:00

194 lines
5.4 KiB
TypeScript

import { ExtrapolationMode } from "cc";
export let ICON_WIDTH = 173;
export let ICON_HEIGHT = 166;
// 图标赔率
export let ICON_RATE = {
0: [0, 0, 0, 0], // Wild
1: [0, 0, 0, 0], // Scatter
2: [80, 50, 40, 30], // 肉卷
3: [60, 50, 25, 20], // 虾
4: [40, 30, 25, 10], // 鱼丸
5: [30, 20, 15, 8], // 香菇
6: [15, 12, 10, 6], // 玉米
7: [15, 12, 10, 6], // 白菜
8: [10, 8, 6, 4], // A
9: [10, 8, 6, 4], // K
10: [4, 3, 2, 1], // Q
11: [4, 3, 2, 1], // J
12: [4, 3, 2, 1], // 10
}
export let ROLLER_RULE = [
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
]
export let FREE_SPIN_ROLLER_RULE = [
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
]
export enum ICON_STATE {
ACTIVATE, // 激活
IDLE, // 在转盘不动的状态
ROTATE, // 旋转中
FAST, // 快速旋转
WIN, // 图标中奖
HIDE, // 对象池回收
}
// 单个滚轮事件
export enum ROLLER_EVENT {
ON_R_ICON_CREATE = 'ON_R_ICON_CREATE', // 当滚轮上随机Icon创建的时候回调
ROLLER_UNIFORM = "ROLLER_UNIFORM", // 滚轮开始匀速
ROLLER_DECELERATE = "ROLLER_DECELERATE", // 滚轮开始减速
LAST_PAGE_CREATE = 'LAST_PAGE_CREATE', // 最后一页创建
ROLLER_BOUNCE = 'ROLLER_BOUNCE', // 滚轮开始回弹
ROLLER_STOP = 'ROLLER_STOP', // 滚轮停止
// 消除相关
ICON_DELETED = 'ICON_DELETED', // 图标删除
ICON_CREATE = 'ICON_CREATE', // 图标创建
ICON_FALLEN = 'ICON_FALLEN', // 图标落下
}
// 滚轮组合事件
export enum ROLLER_COMBINE_EVENT {
ONE_ROLLER_STOP = 'ONE_ROLLER_STOP', // 一个滚轮停止的事件
ALL_ROLLER_STOP = 'ALL_ROLLER_STOP', // 所有滚轮停止的事件
ROLLER_BOUNCE = 'ROLLER_BOUNCE', // 滚轮开始回弹
ROLLER_DECELERATE = 'ROLLER_DECELERATE', // 滚轮开始减速
// 消除相关
ALL_ROLLER_ICONS_DELETED = 'ALL_ROLLER_ICONS_DELETED', // 所有滚轮图标删除
ALL_ROLLER_ICONS_CREATED = 'ALL_ROLLER_ICONS_CREATED', // 所有滚轮图标创建
ALL_ROLLER_ICONS_FALLEN = 'ALL_ROLLER_ICONS_FALLEN', // 所有滚轮图标落下
}
export enum SLOT_BAR_EVENT {
BET_CHANGE = 'BET_CHANGE', // 下注金额改变
ON_TEST_SPIN_CLICK = 'ON_TEST_SPIN_CLICK', // 测试旋转
ON_SPIN_CLICK = 'ON_SPIN_CLICK',
ON_MANUAL_STOP = 'ON_MANUAL_STOP',
FAST_SPIN = 'FAST_SPIN', // 快速旋转
ON_AUTO_SPIN_CLICK = 'ON_AUTO_SPIN_CLICK', // 自动旋转点击
ON_EXIT_CLICK = 'ON_EXIT_CLICK', // 退出游戏
}
export enum SYS_GIFT {
CLICK_CONTINUE = 'CLICK_CONTINUE',
SETTLE_CONTINUE = 'SETTLE_CONTINUE',
}
export enum SLOT_GAME_EVENT {
ALL_ROLLER_STOP = 'ALL_ROLLER_STOP', // 事件传递
ALL_ROLLER_ICONS_DELETED = 'ALL_ROLLER_ICONS_DELETED', // 所有滚轮图标删除
ALL_ROLLER_ICONS_CREATED = 'ALL_ROLLER_ICONS_CREATED', // 所有滚轮图标创建
ALL_ROLLER_ICONS_FALLEN = 'ALL_ROLLER_ICONS_FALLEN', // 所有滚轮图标落下
}
export enum WIN_TYPE {
NONE,
NORAML_WIN,
MIDDLE_WIN,
BIG_WIN,
MEGA_WIN,
SUPER_MEGA_WIN,
}
export interface FreeSpin {
LeftCount: number, // 剩余次数
MaxCount: number, // 总共次数
}
export interface GameInfo {
// 当前余额
Balance: number;
// 是否关闭购买
CloseBuyGame: boolean;
// 下注区间
BetGrade: number[];
// 游戏数据
Data: GameData
// 购买倍率
BuyMul: number;
// 最大购买倍数
MaxBuyBet: number
}
export interface GameData {
// 总计得分
AllScore: number;
// 当前得分
Score: number;
// 单次旋转得分
SpinScore: number;
// 盘面数据
Data: number[];
// 消除数据
Remove: number[];
// 游戏模式 0:普通模式 1:免费游戏模式
Mode: number;
// 免费游戏信息
FreeSpin: FreeSpin | null;
// 当前下注
Bet: number;
// 不规则图标信息
CroSymbols: {
[key: string]: {
Type: number;
PosFirst: number;
PosLast: number;
Symbol: number;
}
};
// 连线数
WaysNum: number;
// 每列图标数量
SymbolNumOfReels: number[];
// 是否结束
IsEnd: boolean;
// 图标中奖信息
WinInfo: {
Score: number;
Multi: number;
MultiValue: any;
Desc: any;
};
// 中奖位置
WinPosition: any;
// 盘面信息
Symbol: {
ScNum: number;
winMulti: number;
WaysNum: number;
ReelNum: number[];
MultiValue: number[];
Middle: number[];
};
// 盘面变化
PanChanges: any;
// 局信息
RoundInfo: any;
// scatter数量
ScNum: number;
// 获得游戏次数
GetGamesTimes: number;
// 盈利分数
ProfitScore: number;
// 得分列表
Scores: any;
}
export interface SpinData {
}