2025-01-04 23:00:19 +08:00

791 lines
37 KiB
Lua
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

MiniGameConfig = {}
---@class MiniGameType
---@field ShootingTarget int32
---@field DigitalTrap int32
---@field RPGChaoticWar int32
---@field AvoidingSpikeStick int32
---@field JumpAndCrouch int32
---@class MiniGameInfoItem
---@field MiniGameName string
---@field MaxGameTime int32
---@field MiniGameModeAction string
---@field DefaultWidget EUIType
---@field DescImage string
---@field SelectImage string
---@field DescText string
---@field Map table<int32, string>
---@field GameParam table<any>
-- MiniGame Achievement -------------------------------------
-- 星星数的成就ID
MiniGameConfig.StarCountAchievementID = 1
-- 完美地图的成就ID
MiniGameConfig.PerfectMapCountAchievementID = 2
-- 小玩法成就ID额外增加量
MiniGameConfig.MapAchievementProgressAddID = 1000
-- MiniGame Achievement End ---------------------------------
--MiniGameConfig.MiniGameType = {
-- ShootingTarget = 1,
-- DigitalTrap = 2,
-- RPGChaoticWar = 3,
-- AvoidingSpikeStick = 4,
--
-- JumpAndCrouch = 5, -- 跳蹲跳
-- ColorBlockSurround = 6,
-- DoNotFallDown = 7,
-- DoNotFallDown2 = 8,
-- PunctureBalloon = 9,
--
--
-- AvoidBall = 10, -- 躲避球球
-- Colorful = 11, -- 各种颜色
-- Parkour = 12,
-- BePromotedStepByStep = 13,
-- BreakingIceCubes= 14,
-- CompetitionResponse = 15,
-- CollectNotes = 16,
-- Jigsaw = 17,
-- CountingHeartShaped = 18,
-- -- LoopRacing = 19,
--}
MiniGameConfig.MiniGameType = {
ShootingTarget = 1,
DigitalTrap = 2,
RPGChaoticWar = 3,
AvoidingSpikeStick = 4,
JumpAndCrouch = 5, -- 跳蹲跳
ColorBlockSurround = 6,
DoNotFallDown = 7,
DoNotFallDown2 = 8,
PunctureBalloon = 9,
AvoidBall = 10, -- 躲避球球
Colorful = 11, -- 各种颜色
Parkour = 12,
BePromotedStepByStep = 13,
BreakingIceCubes= 14,
CompetitionResponse = 15,
CollectNotes = 16,
Jigsaw = 17,
CountingHeartShaped = 18,
-- LoopRacing = 19,
}
---@type table<string>
MiniGameConfig.DefaultMap = {"Map_Default"}
---@type table<MiniGameType, MiniGameInfoItem>
MiniGameConfig.MiniGameInfo = {
[MiniGameConfig.MiniGameType.ShootingTarget] = {
MiniGameName = "射击标靶",
IsTurnBase = false,
MaxGameTime = 120,
MiniGameModeAction = "Script.Global.MiniGame.MiniGameMode.MiniGameMode_ShootingTarget",
DefaultWidget = WidgetConfig.EUIType.MiniGameAllPlayerScore,
DescImage = UGCGameSystem.GetUGCResourcesFullPath('Asset/Texture/MapImage/T_SJBB.T_SJBB'),
SelectImage = UGCGameSystem.GetUGCResourcesFullPath('Asset/Texture/MapImage/T_SJBB.T_SJBB'),
DescText = "*攻击标靶获得积分\n*击中的越精准得分越高\n*移动标靶得分翻倍\n*击倒其他玩家抢夺其20%积分\n*场景会刷新无限子弹buff",
TipDesc = "射击标靶获得分数,击败玩家夺取分数";
Maps = {"Map_ShootingTarget"},
-- 开启即将结束的提示音
EnableWillEndTip = true,
-- 背景音乐
BGMType = SoundSystem.EMusic.Music9,
-- 成就任务
Task = {
{Desc = "获得70分" , TaskParam = 70};
{Desc = "获得100分", TaskParam = 100};
{Desc = "获得140分", TaskParam = 140};
},
-- 小玩法里面的参数
GameParam = {
-- 目标击靶分
-- TargetHitScore = 50,
-- 默认装备
-- DefaultBackPack = {106010, 204002, 202007, 203001,},
DefaultBackPack = {101005, 204013, 201011, 203001, 503003, 502003},
-- 抢夺比率
SnatchRate = 0.2,
-- 重生时间
RespawnTime = 3.,
-- 重力标度
GravityScale = 1.2,
-- 跳跃初速度缩放
JumpVelocityScale = 2.,
},
},
[MiniGameConfig.MiniGameType.DigitalTrap] = {
MiniGameName = "数字陷阱",
IsTurnBase = false,
MaxGameTime = 60,
MiniGameModeAction = "Script.Global.MiniGame.MiniGameMode.MiniGameMode_DigitalTrap",
-- DefaultWidget = WidgetConfig.EUIType.ShootingTarget,
DescImage = UGCGameSystem.GetUGCResourcesFullPath('Asset/Texture/MapImage/T_SZXJ.T_SZXJ'),
SelectImage = UGCGameSystem.GetUGCResourcesFullPath('Asset/Texture/MapImage/T_SZXJ.T_SZXJ'),
DescText = "*不要掉入陷阱\n*踩到陷阱上使其数字减一\n*陷阱数字归零时触发陷阱\n*每次响铃所有陷阱数字减一",
TipDesc = "数字归0陷阱开启";
Maps = {"Map_DigitalTrap"},
-- 开启即将结束的提示音
EnableWillEndTip = false,
-- 成就任务
Task = {
{Desc = "击晕其他玩家4次" , TaskParam = 4};
{Desc = "击晕其他玩家7次" , TaskParam = 7};
{Desc = "击晕其他玩家10次", TaskParam = 10};
--{Desc = "击晕其他玩家4次" , TaskParam = 1};
--{Desc = "击晕其他玩家7次" , TaskParam = 2};
--{Desc = "击晕其他玩家10次", TaskParam = 3};
},
-- 小玩法里面的参数
GameParam = {
TrapManagerPath = UGCGameSystem.GetUGCResourcesFullPath('Asset/Blueprint/MiniLevelActor/DigitalTrap/BP_DigitalTrapManager.BP_DigitalTrapManager_C');
},
},
[MiniGameConfig.MiniGameType.RPGChaoticWar] = {
MiniGameName = "摘星乱斗",
IsTurnBase = false,
MaxGameTime = 150,
MiniGameModeAction = "Script.Global.MiniGame.MiniGameMode.MiniGameMode_RPGChaoticWar",
DefaultWidget = WidgetConfig.EUIType.MiniGameAllPlayerScore,
DescImage = UGCGameSystem.GetUGCResourcesFullPath('Asset/Texture/MapImage/T_ZXLD.T_ZXLD'),
SelectImage = UGCGameSystem.GetUGCResourcesFullPath('Asset/Texture/MapImage/T_ZXLD.T_ZXLD'),
DescText = "*抢夺场景中的星星\n*玩家携带RPG\n*击败携带星星的玩家会使其掉落一颗星星",
TipDesc = "抢夺场景星星";
Maps = {"Map_RPGChaoticWar2"},
-- 开启即将结束的提示音
EnableWillEndTip = true,
-- 背景音乐
BGMType = SoundSystem.EMusic.Music9,
-- 成就任务
Task = {
{Desc = "获得4颗星星" , TaskParam = 4};
{Desc = "获得6颗星星" , TaskParam = 6};
{Desc = "获得10颗星星", TaskParam = 10};
},
-- 小玩法里面的参数
GameParam = {
-- 默认装备
DefaultBackPack = {107002, 503002, 502002},
-- 重生时间
RespawnTime = 1.,
-- 重力标度
GravityScale = 1.2,
-- 跳跃初速度缩放
JumpVelocityScale = 2.,
-- 移动速度缩放
MoveSpeedScale = 1.3;
-- 换弹时间
ReloadTime = 1.0;
-- 星星控制器路径
StarManagerPath = UGCGameSystem.GetUGCResourcesFullPath('Asset/Blueprint/MiniLevelActor/StarPickingChaos/BP_StarManager.BP_StarManager_C'),
},
},
[MiniGameConfig.MiniGameType.AvoidingSpikeStick] = {
MiniGameName = "躲避棍棒",
IsTurnBase = false,
MaxGameTime = 60,
MiniGameModeAction = "Script.Global.MiniGame.MiniGameMode.MiniGameMode_AvoidingSpikeStick",
-- DefaultWidget = WidgetConfig.EUIType.MiniGameAllPlayerScore,
DescImage = UGCGameSystem.GetUGCResourcesFullPath('Asset/Texture/MapImage/T_DBGB.T_DBGB'),
SelectImage = UGCGameSystem.GetUGCResourcesFullPath('Asset/Texture/MapImage/T_DBGB.T_DBGB'),
DescText = "*通过跳跃躲避旋转的棍棒\n*幸存到最后",
TipDesc = "跳跃躲避棍棒";
Maps = {"Map_AvoidingSpikeStick"},
-- 开启即将结束的提示音
EnableWillEndTip = true,
-- 背景音乐
BGMType = SoundSystem.EMusic.Music8,
-- 成就任务
Task = {
{Desc = "40秒未被击中" , TaskParam = 40};
{Desc = "50秒未被击中" , TaskParam = 50};
{Desc = "58秒未被击中", TaskParam = 58};
},
-- 小玩法里面的参数
GameParam = {
-- 重力标度
GravityScale = 2.,
-- 跳跃初速度缩放
JumpVelocityScale = 2.,
-- 仅剩一个玩家就结束游戏,用于测试 正式为true
bOnePlayerFinishGame = false,
-- 击中特效
HitParticlePath = UGCGameSystem.GetUGCResourcesFullPath('Asset/FX/MiniGame/P_Boom.P_Boom'),
},
},
[MiniGameConfig.MiniGameType.JumpAndCrouch] = {
MiniGameName = "跳蹲跳",
IsTurnBase = false,
MaxGameTime = 75,
MiniGameModeAction = "Script.Global.MiniGame.MiniGameMode.MiniGameMode_JumpAndCrouch",
DescImage = UGCGameSystem.GetUGCResourcesFullPath('Asset/Texture/MapImage/T_TDT.T_TDT'),
SelectImage = UGCGameSystem.GetUGCResourcesFullPath('Asset/Texture/MapImage/T_TDT.T_TDT'),
DescText = "*玩家只能蹲下或者跳起\n*跳着蹲着躲避飞来的刺棒\n*刺棒移动会越来越快",
TipDesc = "跳蹲躲避尖刺棍棒";
Maps = { "Map_JumpSquat" },
-- 开启即将结束的提示音
EnableWillEndTip = true,
-- 背景音乐
BGMType = SoundSystem.EMusic.Music1,
-- 成就任务
Task = {
{Desc = "被击中次数不超过4次" , TaskParam = 4};
{Desc = "被击中次数不超过2次" , TaskParam = 2};
{Desc = "未被击中", TaskParam = 0};
},
GameParam = {
}
},
[MiniGameConfig.MiniGameType.ColorBlockSurround] = {
MiniGameName = "色块围剿",
IsTurnBase = false,
MaxGameTime = 90 ,
MiniGameModeAction = "Script.Global.MiniGame.MiniGameMode.MiniGameMode_ColorBlockSurround",
DefaultWidget = WidgetConfig.EUIType.ColorScore,
DescImage = UGCGameSystem.GetUGCResourcesFullPath('Asset/Texture/MapImage/T_SKWJ.T_SKWJ'),
SelectImage = UGCGameSystem.GetUGCResourcesFullPath('Asset/Texture/MapImage/T_SKWJ.T_SKWJ'),
DescText = "*踩踏色块将其变为自己的颜色\n*同一颜色的色块围成环时,可填充环内色块\n*攻击其他玩家会使其眩晕无法行动",
TipDesc = "围住色块进行填充";
Maps = {"Map_ColorBlockSurround"},
-- 开启即将结束的提示音
EnableWillEndTip = true,
-- 背景音乐
BGMType = SoundSystem.EMusic.Music8,
-- 成就任务
Task = {
{Desc = "最终围剿100个色块" , TaskParam = 100};
{Desc = "最终围剿140个色块" , TaskParam = 140};
{Desc = "最终围剿220个色块", TaskParam = 220};
},
-- 小玩法里面的参数
GameParam = {
ColorBlockSurroundPath = UGCGameSystem.GetUGCResourcesFullPath('Asset/Blueprint/MiniLevelActor/ColorBlockSurround/BP_ColorBlockSurround.BP_ColorBlockSurround_C'),
BlockPlayFloorPath = UGCGameSystem.GetUGCResourcesFullPath('Asset/Blueprint/MiniLevelActor/ColorBlockSurround/BP_BlockPlayFloor.BP_BlockPlayFloor_C'),
},
},
[MiniGameConfig.MiniGameType.DoNotFallDown] = {
MiniGameName = "不要掉下去I",
IsTurnBase = false,
MaxGameTime = 120,
MiniGameModeAction = "Script.Global.MiniGame.MiniGameMode.MiniGameMode_DoNotFallDown",
DefaultWidget = WidgetConfig.EUIType.MiniGameAllPlayerScore,
DescImage = UGCGameSystem.GetUGCResourcesFullPath('Asset/Texture/MapImage/T_BYDXQ1.T_BYDXQ1'),
SelectImage = UGCGameSystem.GetUGCResourcesFullPath('Asset/Texture/MapImage/T_BYDXQ1.T_BYDXQ1'),
DescText = "*不要被击中或者掉到冰湖里\n*跳板可被击破或踩破\n*玩家携带RPG",
Maps = {"Map_DoNotFallDown"},
-- 开启即将结束的提示音
EnableWillEndTip = true,
-- 背景音乐
BGMType = SoundSystem.EMusic.Music5,
-- 成就任务
Task = {
{Desc = "得分超过2分" , TaskParam = 2};
{Desc = "得分超过4分" , TaskParam = 4};
{Desc = "得分超过7分" , TaskParam = 7};
},
-- 小玩法里面的参数
GameParam = {
-- 默认装备
DefaultBackPack = {107002, 503002, 502002},
-- 重生时间
RespawnTime = 1.,
-- 重力标度
GravityScale = 1.1,
-- 移动速度缩放
MoveSpeedScale = 1.7;
-- 地板控制器路径
LaunchFloorManagerPath = UGCGameSystem.GetUGCResourcesFullPath('Asset/Blueprint/MiniLevelActor/DoNotFallDown/BP_LaunchFloorManager.BP_LaunchFloorManager_C'),
},
},
[MiniGameConfig.MiniGameType.DoNotFallDown2] = {
MiniGameName = "不要掉下去II",
IsTurnBase = false,
MaxGameTime = 90,
MiniGameModeAction = "Script.Global.MiniGame.MiniGameMode.MiniGameMode_DoNotFallDown2",
-- DefaultWidget = WidgetConfig.EUIType.MiniGameAllPlayerScore,
DescImage = UGCGameSystem.GetUGCResourcesFullPath('Asset/Texture/MapImage/T_BYDXQ2.T_BYDXQ2'),
SelectImage = UGCGameSystem.GetUGCResourcesFullPath('Asset/Texture/MapImage/T_BYDXQ2.T_BYDXQ2'),
DescText = "*不要掉到冰湖里\n*地板会被踩破\n*场景会生成加速和跳跃强化道具",
Maps = {"Map_DoNotFallDown_2"},
-- 开启即将结束的提示音
EnableWillEndTip = true,
-- 背景音乐
BGMType = SoundSystem.EMusic.Music5,
Task = {
{Desc = "踩破50块地板" , TaskParam = 50};
{Desc = "踩破90块地板" , TaskParam = 90};
{Desc = "踩破120块地板" , TaskParam = 120};
},
-- 小玩法里面的参数
GameParam = {
-- 重力标度
GravityScale = 1.2,
-- 跳跃初速度缩放
JumpVelocityScale = 2.,
-- 地板控制器路径
FloorManagerPath = UGCGameSystem.GetUGCResourcesFullPath('Asset/Blueprint/MiniLevelActor/DoNotFallDown2/BP_DisappearFloorManager.BP_DisappearFloorManager_C'),
},
},
[MiniGameConfig.MiniGameType.PunctureBalloon] = {
MiniGameName = "刺破气球",
IsTurnBase = false,
MaxGameTime = 90,
MiniGameModeAction = "Script.Global.MiniGame.MiniGameMode.MiniGameMode_PunctureBalloon",
DefaultWidget = WidgetConfig.EUIType.MiniGameAllPlayerScore,
DescImage = UGCGameSystem.GetUGCResourcesFullPath('Asset/Texture/MapImage/T_CPQQ.T_CPQQ'),
SelectImage = UGCGameSystem.GetUGCResourcesFullPath('Asset/Texture/MapImage/T_CPQQ.T_CPQQ'),
DescText = "*通过弹射波波车,使其前方的刺扎破他人气球得分\n*被扎破气球的玩家扣一分",
TipDesc = "弹射波波车刺破敌人气球";
Maps = {"Map_PunctureBalloon"},
-- 开启即将结束的提示音
EnableWillEndTip = true,
-- 背景音乐
BGMType = SoundSystem.EMusic.Music2,
Task = {
{Desc = "得分达到4分" , TaskParam = 4};
{Desc = "得分达到7分" , TaskParam = 7};
{Desc = "得分达到10分" , TaskParam = 10};
},
-- 小玩法里面的参数
GameParam = {
CarManagerPath = UGCGameSystem.GetUGCResourcesFullPath('Asset/Blueprint/MiniLevelActor/PunctureBalloon/BP_PunctureBalloonManager.BP_PunctureBalloonManager_C'),
},
},
[MiniGameConfig.MiniGameType.AvoidBall] = {
MiniGameName = "躲避炮弹",
IsTurnBase = false,
MaxGameTime = 60,
MiniGameModeAction = "Script.Global.MiniGame.MiniGameMode.MiniGameMode_AvoidBall",
-- DefaultWidget = WidgetConfig.EUIType.MiniGameAllPlayerScore,
DescImage = UGCGameSystem.GetUGCResourcesFullPath('Asset/Texture/MapImage/T_DBPD.T_DBPD'),
SelectImage = UGCGameSystem.GetUGCResourcesFullPath('Asset/Texture/MapImage/T_DBPD.T_DBPD'),
DescText = "*躲避四周出现的炮台发射出的炮弹\n*攻击其他玩家会使其眩晕无法行动\n*躲避炮弹努力存活到最后",
Maps = { "Map_AvoidBall" },
-- 开启即将结束的提示音
EnableWillEndTip = false,
-- 背景音乐
BGMType = SoundSystem.EMusic.Music8,
-- 成就任务
Task = {
{Desc = "击晕其他玩家4次" , TaskParam = 4};
{Desc = "击晕其他玩家8次" , TaskParam = 8};
{Desc = "击晕其他玩家12次", TaskParam = 12};
},
-- 小玩法里面的参数
GameParam = {
},
},
[MiniGameConfig.MiniGameType.Colorful] = {
MiniGameName = "目标地板",
IsTurnBase = false,
MaxGameTime = 120,
MiniGameModeAction = "Script.Global.MiniGame.MiniGameMode.MiniGameMode_Colorful",
-- DefaultWidget = WidgetConfig.EUIType.MiniGameAllPlayerScore,
DescImage = UGCGameSystem.GetUGCResourcesFullPath('Asset/Texture/MapImage/T_MBDB.T_MBDB'),
SelectImage = UGCGameSystem.GetUGCResourcesFullPath('Asset/Texture/MapImage/T_MBDB.T_MBDB'),
DescText = "*不要掉入冰河\n*在指示环显示目标地板颜色后其他颜色的地板会下降\n*攻击其他玩家会使其眩晕无法行动",
TipDesc = "非目标颜色的地板会下降到冰湖";
Maps = { "Map_Colorful_2" },
-- 开启即将结束的提示音
EnableWillEndTip = false,
-- 背景音乐
BGMType = SoundSystem.EMusic.Music7,
-- 成就任务
Task = {
{Desc = "击晕其他玩家4次" , TaskParam = 4};
{Desc = "击晕其他玩家8次" , TaskParam = 8};
{Desc = "击晕其他玩家12次", TaskParam = 12};
},
-- 小玩法里面的参数
GameParam = {
Colors = {
[0] = { R = 0.5, G = 0.5, B = 0.5, A = 1 };
[1] = { R = 1, G = 0, B = 0, A = 1 };
[2] = { R = 0, G = 0, B = 0, A = 1 };
[3] = { R = 1, G = 1, B = 0, A = 1 };
[4] = { R = 0, G = 1, B = 0, A = 1 };
[5] = { R = 0, G = 1, B = 1, A = 1 };
[6] = { R = 0, G = 0, B = 1, A = 1 };
[7] = { R = 1, G = 0, B = 1, A = 1 };
},
Textures = {
[0] = UGCGameSystem.GetUGCResourcesFullPath('Asset/Texture/T_Write.T_Write');
[1] = UGCGameSystem.GetUGCResourcesFullPath('Asset/Texture/MaterialTex/T_FloorTex1.T_FloorTex1');
[2] = UGCGameSystem.GetUGCResourcesFullPath('Asset/Texture/MaterialTex/T_FloorTex2.T_FloorTex2');
[3] = UGCGameSystem.GetUGCResourcesFullPath('Asset/Texture/MaterialTex/T_FloorTex3.T_FloorTex3');
[4] = UGCGameSystem.GetUGCResourcesFullPath('Asset/Texture/MaterialTex/T_FloorTex4.T_FloorTex4');
[5] = UGCGameSystem.GetUGCResourcesFullPath('Asset/Texture/MaterialTex/T_FloorTex5.T_FloorTex5');
[6] = UGCGameSystem.GetUGCResourcesFullPath('Asset/Texture/MaterialTex/T_FloorTex6.T_FloorTex6');
[7] = UGCGameSystem.GetUGCResourcesFullPath('Asset/Texture/MaterialTex/T_FloorTex7.T_FloorTex7');
},
-- 重力标度
GravityScale = 1.2,
-- 跳跃初速度缩放
JumpVelocityScale = 2.2,
FloorManagerPath = UGCGameSystem.GetUGCResourcesFullPath('Asset/Blueprint/MiniLevelActor/Colorful/BP_ColorFloorManager.BP_ColorFloorManager_C'),
},
},
[MiniGameConfig.MiniGameType.Parkour] = {
MiniGameName = "穿越冰河",
IsTurnBase = false,
MaxGameTime = 180,
MiniGameModeAction = "Script.Global.MiniGame.MiniGameMode.MiniGameMode_Parkour",
DefaultWidget = WidgetConfig.EUIType.MiniGameAllPlayerScore,
DescImage = UGCGameSystem.GetUGCResourcesFullPath('Asset/Texture/MapImage/T_CYBH.T_CYBH'),
SelectImage = UGCGameSystem.GetUGCResourcesFullPath('Asset/Texture/MapImage/T_CYBH.T_CYBH'),
DescText = "*穿过障碍,跑到终点\n*攻击其他玩家会使其眩晕无法行动",
Maps = {"Map_Parkour"},
-- 开启即将结束的提示音
EnableWillEndTip = true,
-- 背景音乐
BGMType = SoundSystem.EMusic.Music10,
-- 成就任务
Task = {
{Desc = "150秒内到达终点" , TaskParam = 150};
{Desc = "120秒内到达终点" , TaskParam = 120};
{Desc = "100秒内到达终点", TaskParam = 100};
},
-- 小玩法里面的参数
GameParam = {
MoveFloorPath = UGCGameSystem.GetUGCResourcesFullPath('Asset/Blueprint/MiniLevelActor/Parkour/BP_MoveFloor.BP_MoveFloor_C'),
DisappearFloorPath = UGCGameSystem.GetUGCResourcesFullPath('Asset/Blueprint/MiniLevelActor/Parkour/BP_DisappearFloor_Parkour.BP_DisappearFloor_Parkour_C'),
CheckPointPath = UGCGameSystem.GetUGCResourcesFullPath('Asset/Blueprint/MiniLevelActor/Parkour/BP_CheckPoints.BP_CheckPoints_C'),
},
},
[MiniGameConfig.MiniGameType.BePromotedStepByStep] = {
MiniGameName = "步步高升",
IsTurnBase = false,
MaxGameTime = 180,
MiniGameModeAction = "Script.Global.MiniGame.MiniGameMode.MiniGameMode_BePromotedStepByStep",
DefaultWidget = WidgetConfig.EUIType.PlayerHeight,
DescImage = UGCGameSystem.GetUGCResourcesFullPath('Asset/Texture/MapImage/T_BBGS.T_BBGS'),
SelectImage = UGCGameSystem.GetUGCResourcesFullPath('Asset/Texture/MapImage/T_BBGS.T_BBGS'),
DescText = "*向上跳跃\n*成为跳跃到最高位置的玩家\n*攻击其他玩家会使其眩晕无法行动",
TipDesc = "向上跳跃到最高处";
Maps = {"Map_BePromotedStepByStep"},
-- 开启即将结束的提示音
EnableWillEndTip = true,
-- 背景音乐
BGMType = SoundSystem.EMusic.Music10,
-- 成就任务
Task = {
{Desc = "高度到达80m", TaskParam = 80};
{Desc = "高度到达100m", TaskParam = 100};
{Desc = "高度到达155m", TaskParam = 155};
},
-- 小玩法里面的参数
GameParam = {
-- 重力标度
GravityScale = 1.2,
-- 跳跃初速度缩放
JumpVelocityScale = 3.,
MoveFloorPath = UGCGameSystem.GetUGCResourcesFullPath('Asset/Blueprint/MiniLevelActor/Parkour/BP_MoveFloor.BP_MoveFloor_C'),
DisappearFloorPath = UGCGameSystem.GetUGCResourcesFullPath('Asset/Blueprint/MiniLevelActor/Parkour/BP_DisappearFloor_Parkour.BP_DisappearFloor_Parkour_C'),
CheckPointPath = UGCGameSystem.GetUGCResourcesFullPath('Asset/Blueprint/MiniLevelActor/BePromotedStepByStep/BP_CheckPoints_2.BP_CheckPoints_2_C'),
RotatorAttachPath = UGCGameSystem.GetUGCResourcesFullPath('Asset/Blueprint/MiniLevelActor/BePromotedStepByStep/BP_RotatorAttach.BP_RotatorAttach_C'),
ZeroHeightPointPath = UGCGameSystem.GetUGCResourcesFullPath('Asset/Blueprint/MiniLevelActor/BePromotedStepByStep/BP_ZeroHeightPoint.BP_ZeroHeightPoint_C'),
},
},
[MiniGameConfig.MiniGameType.BreakingIceCubes] = {
MiniGameName = "击破气球",
IsTurnBase = false,
MaxGameTime = 60,
MiniGameModeAction = "Script.Global.MiniGame.MiniGameMode.MiniGameMode_BreakingIceCubes",
DefaultWidget = WidgetConfig.EUIType.MiniGameAllPlayerScore,
DescImage = UGCGameSystem.GetUGCResourcesFullPath('Asset/Texture/MapImage/T_JPQQ.T_JPQQ'),
SelectImage = UGCGameSystem.GetUGCResourcesFullPath('Asset/Texture/MapImage/T_JPQQ.T_JPQQ'),
DescText = "*快速击破空中出现的气球\n*击破的气球越多得分越高\n*红色气球得分更高",
TipDesc = "击破红色气球更高分";
Maps = {"Map_BreakingIceCubes"},
-- 开启即将结束的提示音
EnableWillEndTip = true,
-- 背景音乐
BGMType = SoundSystem.EMusic.Music7,
-- 成就任务
Task = {
{Desc = "获得60分", TaskParam = 60};
{Desc = "获得80分", TaskParam = 80};
{Desc = "获得120分", TaskParam = 120};
},
-- 小玩法里面的参数
GameParam = {
-- DefaultBackPack = {101005, 204013, 201011, 203001,},
DefaultBackPack = {106001, 204003, 201008, 203001,},
MatrixTargetManagerPath = UGCGameSystem.GetUGCResourcesFullPath('Asset/Blueprint/MiniLevelActor/BreakingIceCubes/BP_MatrixTargetManager.BP_MatrixTargetManager_C'),
},
},
[MiniGameConfig.MiniGameType.CompetitionResponse] = {
MiniGameName = "反应比拼",
IsTurnBase = true,
MaxGameTime = 72,
MiniGameModeAction = "Script.Global.MiniGame.MiniGameMode.MiniGameMode_CompetitionResponse",
DefaultWidget = WidgetConfig.EUIType.CompetitionResponse,
DescImage = UGCGameSystem.GetUGCResourcesFullPath('Asset/Texture/MapImage/T_FYBP.T_FYBP'),
SelectImage = UGCGameSystem.GetUGCResourcesFullPath('Asset/Texture/MapImage/T_FYBP.T_FYBP'),
DescText = "*快速选择与中心图案相同的图案\n*难度加强:快速选择与中心文字叙述相同颜色的文字图案",
Maps = {"Map_CompetitionResponse"},
-- 开启即将结束的提示音
EnableWillEndTip = false,
-- 背景音乐
BGMType = SoundSystem.EMusic.Music7,
-- 成就任务
Task = {
{Desc = "获得30分", TaskParam = 30};
{Desc = "获得37分", TaskParam = 37};
{Desc = "获得40分", TaskParam = 40};
},
-- 小玩法里面的参数
GameParam = {
-- 玩家准备的时间此时间段可以看4个选项
ReadyTime = 3.99;
-- 玩家选择的时间
SelectTime = 3;
-- 从第几关开始难度提升
DifficultyUpgradeRound = 6;
-- 最大回合数
MaxRound = 10;
TexturesPath = {
UGCGameSystem.GetUGCResourcesFullPath('Asset/Texture/BaseShape/T_ArcShapedSquare.T_ArcShapedSquare'),
UGCGameSystem.GetUGCResourcesFullPath('Asset/Texture/BaseShape/T_Diamond.T_Diamond'),
UGCGameSystem.GetUGCResourcesFullPath('Asset/Texture/BaseShape/T_HeartShaped.T_HeartShaped'),
UGCGameSystem.GetUGCResourcesFullPath('Asset/Texture/BaseShape/T_Octagon.T_Octagon'),
UGCGameSystem.GetUGCResourcesFullPath('Asset/Texture/BaseShape/T_ReuleauxTriangle.T_ReuleauxTriangle'),
UGCGameSystem.GetUGCResourcesFullPath('Asset/Texture/BaseShape/T_Triangle.T_Triangle')
},
TexturesColor = {
{R=0.000000,G=1.000000,B=0.359881,A=1.000000}, -- 叶绿
{R=0.000000,G=0.832510,B=1.000000,A=1.000000}, -- 天蓝
{R=1.000000,G=0.722329,B=0.000000,A=1.000000}, -- 柠檬黄
{R=1.000000,G=0.071981,B=0.111783,A=1.000000}, -- 淡红
},
--TextParam = {
-- ["红"] = {R=1.000000,G=0.071981,B=0.111783,A=1.000000},
-- ["黄"] = {R=1.000000,G=0.722329,B=0.000000,A=1.000000},
-- ["蓝"] = {R=0.000000,G=0.832510,B=1.000000,A=1.000000},
-- ["绿"] = {R=0.000000,G=1.000000,B=0.359881,A=1.000000},
-- ["紫"] = {R=0.374136,G=0.068305,B=1.000000,A=1.000000},
-- ["白"] = {R=1.000000,G=1.000000,B=1.000000,A=1.000000},
-- ["黑"] = {R=0.000000,G=0.000000,B=0.000000,A=1.000000},
--},
TextParam = {
"",
"",
"",
"绿",
"",
"",
"",
},
TextColor = {
{R=1.000000,G=0.071981,B=0.111783,A=1.000000},
{R=1.000000,G=0.722329,B=0.000000,A=1.000000},
{R=0.000000,G=0.832510,B=1.000000,A=1.000000},
{R=0.000000,G=1.000000,B=0.359881,A=1.000000},
{R=0.374136,G=0.068305,B=1.000000,A=1.000000},
{R=1.000000,G=1.000000,B=1.000000,A=1.000000},
{R=0.000000,G=0.000000,B=0.000000,A=1.000000},
}
},
},
[MiniGameConfig.MiniGameType.CollectNotes] = {
MiniGameName = "抢夺音符",
IsTurnBase = false,
MaxGameTime = 85,
MiniGameModeAction = "Script.Global.MiniGame.MiniGameMode.MiniGameMode_CollectNotes",
DefaultWidget = WidgetConfig.EUIType.MiniGameAllPlayerScore,
DescImage = UGCGameSystem.GetUGCResourcesFullPath('Asset/Texture/MapImage/T_QDYF.T_QDYF'),
SelectImage = UGCGameSystem.GetUGCResourcesFullPath('Asset/Texture/MapImage/T_QDYF.T_QDYF'),
DescText = "*抢夺旋转轮盘上方出现的音符\n*攻击其他玩家会使其眩晕无法行动",
TipDesc = "跳跃抢夺音符";
Maps = {"Map_CollectNotes"},
-- 开启即将结束的提示音
EnableWillEndTip = true,
-- 背景音乐
BGMType = SoundSystem.EMusic.Music2,
-- 成就任务
Task = {
{Desc = "获得10个音符", TaskParam = 10};
{Desc = "获得13个音符", TaskParam = 13};
{Desc = "获得18个音符", TaskParam = 18};
},
-- 小玩法里面的参数
GameParam = {
-- 重力标度s
GravityScale = 1.2,
-- 跳跃初速度缩放
JumpVelocityScale = 2,
-- 移动速度缩放
MoveSpeedScale = 1.3;
-- 星星控制器路径
StarManagerPath = UGCGameSystem.GetUGCResourcesFullPath('Asset/Blueprint/MiniLevelActor/StarPickingChaos/BP_StarManager.BP_StarManager_C'),
-- 旋转绑定Actor的路径
RotatorAttachPath = UGCGameSystem.GetUGCResourcesFullPath('Asset/Blueprint/MiniLevelActor/BePromotedStepByStep/BP_RotatorAttach.BP_RotatorAttach_C'),
},
},
[MiniGameConfig.MiniGameType.Jigsaw] = {
MiniGameName = "拼图",
MaxGameTime = 150,
MiniGameModeAction = "Script.Global.MiniGame.MiniGameMode.MiniGameMode_Jigsaw",
DefaultWidget = WidgetConfig.EUIType.Jigsaw,
DescImage = UGCGameSystem.GetUGCResourcesFullPath('Asset/Texture/MapImage/T_PT.T_PT'),
SelectImage = UGCGameSystem.GetUGCResourcesFullPath('Asset/Texture/MapImage/T_PT.T_PT'),
DescText = "*抢夺地上的拼图放置在正确位置\n*点击拾取按键进行拾取和放下拼图\n*攻击其他玩家可以使其眩晕,并将持有的拼图掉落在地上",
TipDesc = "点击右侧按键拾取和放置拼图";
Maps = {"Map_Jigsaw"},
-- 开启即将结束的提示音
EnableWillEndTip = true,
-- 背景音乐
BGMType = SoundSystem.EMusic.Music1,
-- 成就任务
Task = {
{Desc = "完成6个拼图", TaskParam = 6};
{Desc = "完成7个拼图", TaskParam = 7};
{Desc = "完成9个拼图", TaskParam = 9};
},
-- 小玩法里面的参数
GameParam = {
JigsawManagerPath = UGCGameSystem.GetUGCResourcesFullPath('Asset/Blueprint/MiniLevelActor/Jigsaw/BP_JigsawManager.BP_JigsawManager_C')
},
},
[MiniGameConfig.MiniGameType.CountingHeartShaped] = {
MiniGameName = "数爱心",
IsTurnBase = true,
MaxGameTime = 120,
MiniGameModeAction = "Script.Global.MiniGame.MiniGameMode.MiniGameMode_CountingHeartShaped",
DefaultWidget = WidgetConfig.EUIType.CountingHeart,
DescImage = UGCGameSystem.GetUGCResourcesFullPath('Asset/Texture/MapImage/T_SAX.T_SAX'),
SelectImage = UGCGameSystem.GetUGCResourcesFullPath('Asset/Texture/MapImage/T_SAX.T_SAX'),
DescText = "*数出面板上的爱心图案\n*点击计数按键\"+1\"数量\n*越接近正确数量的玩家得分越高",
TipDesc = "点击右侧按键计数心形";
Maps = {"Map_CountingHeartShaped"},
-- 开启即将结束的提示音
EnableWillEndTip = false,
-- 背景音乐
BGMType = SoundSystem.EMusic.Music7,
-- 成就任务
Task = {
{Desc = "获得24分", TaskParam = 24};
{Desc = "获得30分", TaskParam = 30};
{Desc = "获得36分", TaskParam = 36};
},
-- 小玩法里面的参数
GameParam = {
MaxRound = 9,
ParamTable = UGCGameSystem.GetUGCResourcesFullPath('Asset/Blueprint/MiniLevelActor/CountingHeartShaped/Table_CountingHeartShaped.Table_CountingHeartShaped'),
CountingHeartManagerPath = UGCGameSystem.GetUGCResourcesFullPath('Asset/Blueprint/MiniLevelActor/CountingHeartShaped/BP_CountingHeartManager.BP_CountingHeartManager_C'),
ShowHeartCountInterval = 0.2
},
},
--[MiniGameConfig.MiniGameType.LoopRacing] = {
-- MiniGameName = "循环赛车",
-- MaxGameTime = 200,
-- MiniGameModeAction = "Script.Global.MiniGame.MiniGameMode.MiniGameMode_LoopRacing",
-- DefaultWidget = WidgetConfig.EUIType.MiniGameAllPlayerScore,
-- DescImage = "",
-- SelectImage = "",
-- DescText = "*驾驶车辆完成5圈赛道",
-- Maps = {"Map_LoopRacing"},
-- -- 开启即将结束的提示音
-- EnableWillEndTip = true,
-- -- 背景音乐
-- BGMType = SoundSystem.EMusic.Music2,
-- -- 小玩法里面的参数
-- GameParam = {
-- },
--},
}
MiniGameConfig.IsUIGame = false
MiniGameConfig.UIGameWidgetList = {}
function MiniGameConfig.GetUIGameHideWidgetList()
UGCLogSystem.Log("[MiniGameConfig_GetUIGameHideWidgetList]1")
if #MiniGameConfig.UIGameWidgetList == 0 then
UGCLogSystem.Log("[MiniGameConfig_GetUIGameHideWidgetList]2")
local MainControlPanel = GameBusinessManager.GetWidgetFromName(ingame, "MainControlPanelTochButton_C");
local PlayerInfoPanel = GameBusinessManager.GetWidgetFromName(ingame, "PlayerInfoPanel_C")
if MainControlPanel ~= nil then
MiniGameConfig.UIGameWidgetList = {
-- MainControlPanel.MainControlBaseUI.QuickExpressionUIBP.lmage_Emote_SettingControl;
MainControlPanel.MainControlBaseUI.CanvasPanel_RunState;
MainControlPanel.MainControlBaseUI.CanvasPanel_MiniMapAndSetting;
-- MainControlPanel.MainControlBaseUI.QuickSign_UIBP.QuickSignCircle_UIBP;
MainControlPanel.MainControlBaseUI.ChatAndChatPanelCanvas;
MainControlPanel.MainControlBaseUI.CanvasPanel_FreeCamera;
-- MainControlPanel.MainControlBaseU.QuickSign_UIBP.QuickSignCircle_UIBP;
MainControlPanel.ShootingUIPanel;
--MainControlPanel.ShootingUIPanel.CustomCrouch;
--MainControlPanel.ShootingUIPanel.CustomProne;
--MainControlPanel.ShootingUIPanel.CustomFireBtnR;
--MainControlPanel.ShootingUIPanel.CustomFireBtnL;
--MainControlPanel.ShootingUIPanel.CustomJumpBtn;
--MainControlPanel.ShootingUIPanel.CustomShootRed;
--MainControlPanel.ShootingUIPanel.CustomShootAim;
}
if PlayerInfoPanel ~= nil then
table.insert(MiniGameConfig.UIGameWidgetList, PlayerInfoPanel.VerticalLifeInfo)
end
UGCLogSystem.Log("[MiniGameConfig_GetUIGameHideWidgetList]Succeed")
end
UGCLogSystem.Log("[MiniGameConfig_GetUIGameHideWidgetList]3")
end
return MiniGameConfig.UIGameWidgetList
end
function MiniGameConfig.ClientSetIsUIGame(InIsUIGame)
if MiniGameConfig.IsUIGame ~= InIsUIGame then
MiniGameConfig.IsUIGame = InIsUIGame
local HideWidgetList = MiniGameConfig.GetUIGameHideWidgetList()
for i, v in pairs(HideWidgetList) do
if MiniGameConfig.IsUIGame then
v:SetVisibility(ESlateVisibility.Collapsed);
else
v:SetVisibility(ESlateVisibility.SelfHitTestInvisible);
end
end
end
end
--- 检测是否完成任务
function MiniGameConfig.CheckPlayerTask(PlayerKey, MiniGameType, Score, Islower)
UGCLogSystem.Log("[MiniGameConfig_CheckPlayerTask] PlayerKey:%s, MiniGameType:%s, Score:%s", tostring(PlayerKey), tostring(MiniGameType), tostring(Score))
if Score == nil then Score = 0 end
local Task = MiniGameConfig.MiniGameInfo[MiniGameType].Task
for i = #Task, 1, -1 do
if Islower then
if Score <= Task[i].TaskParam then
UGCGameSystem.GameState:SetPlayerStarFromMapType(PlayerKey, MiniGameType, i, true)
UGCLogSystem.Log("[MiniGameConfig_CheckPlayerTask]1")
break
end
else
if Score >= Task[i].TaskParam then
UGCGameSystem.GameState:SetPlayerStarFromMapType(PlayerKey, MiniGameType, i, true)
UGCLogSystem.Log("[MiniGameConfig_CheckPlayerTask] 2")
break
end
end
-- UGCLogSystem.Log("[MiniGameConfig_CheckPlayerTask] --- ")
end
end