791 lines
37 KiB
Lua
791 lines
37 KiB
Lua
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 |