791 lines
37 KiB
Lua
Raw Normal View History

2025-01-04 23:00:19 +08:00
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