Complete Cocos Creator port with level bundles, themes, and tooling.
Adds level prefabs, theme assets, audio, extensions, and deployment scripts for the Unity WebGL migration. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -30,6 +30,35 @@ export enum Skin {
|
||||
sanxing = 5,
|
||||
}
|
||||
|
||||
const SKIN_TO_THEME: Record<Skin, string> = {
|
||||
[Skin.Silu]: 'silu',
|
||||
[Skin.Panda]: 'chinese',
|
||||
[Skin.RedArmy]: 'redArmy',
|
||||
[Skin.numMan]: 'numMan',
|
||||
[Skin.snow]: 'snow',
|
||||
[Skin.sanxing]: 'sanxing',
|
||||
};
|
||||
|
||||
const THEME_TO_SKIN: Record<string, Skin> = {
|
||||
silu: Skin.Silu,
|
||||
chinese: Skin.Panda,
|
||||
redarmy: Skin.RedArmy,
|
||||
redArmy: Skin.RedArmy,
|
||||
numMan: Skin.numMan,
|
||||
snow: Skin.snow,
|
||||
sanxing: Skin.sanxing,
|
||||
};
|
||||
|
||||
export function skinToTheme(skin: Skin): string {
|
||||
return SKIN_TO_THEME[skin] ?? 'silu';
|
||||
}
|
||||
|
||||
export function themeToSkin(theme: string | undefined): Skin {
|
||||
if (!theme) return Skin.Silu;
|
||||
const key = theme.trim();
|
||||
return THEME_TO_SKIN[key] ?? THEME_TO_SKIN[key.toLowerCase()] ?? Skin.Silu;
|
||||
}
|
||||
|
||||
export enum GameState {
|
||||
Run = 0,
|
||||
ResultWin = 1,
|
||||
@@ -68,7 +97,10 @@ function buildMoveTable(entries: [MoverRole, GridType, GridType, boolean, number
|
||||
return m;
|
||||
}
|
||||
|
||||
/** 单人 moveCondition */
|
||||
/**
|
||||
* 单人 moveCondition — 基于 Unity Define.cs,并扩展骑乘 → Jump 跳跃
|
||||
* 判定入口:gameplay/MoveRules.checkMoveStep
|
||||
*/
|
||||
export const moveCondition = buildMoveTable([
|
||||
['player', GridType.Across, GridType.Across, false, 1],
|
||||
['player', GridType.Jump, GridType.Across, false, 1],
|
||||
@@ -84,6 +116,8 @@ export const moveCondition = buildMoveTable([
|
||||
['player', GridType.Jump, GridType.Jump, true, 1],
|
||||
['player', GridType.Ride, GridType.None, false, 1],
|
||||
['player', GridType.Ride, GridType.None, true, 1],
|
||||
['player', GridType.Ride, GridType.Jump, true, 1],
|
||||
['player', GridType.None, GridType.Jump, true, 1],
|
||||
['player', GridType.None, GridType.None, false, 1],
|
||||
['player', GridType.None, GridType.None, true, 1],
|
||||
['player', GridType.None, GridType.Across, false, 1],
|
||||
@@ -93,7 +127,7 @@ export const moveCondition = buildMoveTable([
|
||||
['vehicle', GridType.Ride, GridType.None, false, 1],
|
||||
]);
|
||||
|
||||
/** 多人 moveConditionMult(与 Unity Define.moveConditionMult 一致) */
|
||||
/** 多人 moveConditionMult — 与 Unity Define.cs moveConditionMult 逐项一致 */
|
||||
const multEntries: [MoverRole, GridType, GridType, boolean, number][] = [
|
||||
['player', GridType.Across, GridType.Across, false, 1],
|
||||
['player', GridType.Across, GridType.Across, true, 1],
|
||||
@@ -111,6 +145,8 @@ const multEntries: [MoverRole, GridType, GridType, boolean, number][] = [
|
||||
['player', GridType.Jump, GridType.Jump, true, 1],
|
||||
['player', GridType.Ride, GridType.None, false, 1],
|
||||
['player', GridType.Ride, GridType.None, true, 1],
|
||||
['player', GridType.Ride, GridType.Jump, true, 1],
|
||||
['player', GridType.None, GridType.Jump, true, 1],
|
||||
['player', GridType.None, GridType.None, false, 1],
|
||||
['player', GridType.None, GridType.None, true, 1],
|
||||
['player', GridType.None, GridType.Across, false, 1],
|
||||
|
||||
Reference in New Issue
Block a user