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 ---@field GameParam table -- 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 MiniGameConfig.DefaultMap = {"Map_Default"} ---@type table 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