修复一些自定义房间问题,添加房间描述

This commit is contained in:
MrZ626
2021-06-08 06:06:34 +08:00
parent 0af32f12e3
commit 1bc19d6cf7
11 changed files with 37 additions and 27 deletions

View File

@@ -224,11 +224,6 @@ function applyCustomGame()--Apply CUSTOMENV, BAG, MISSION
GAME.modeEnv.mission=nil
end
end
function applyRoomConf()--Apply room configs
for k,v in next,NET.roomState.roomData do
GAME.modeEnv[k]=v
end
end
function loadGame(M,ifQuickPlay,ifNet)--Load a mode and go to game scene
freshDate()
if legalGameTime()then

View File

@@ -256,7 +256,7 @@ ROOMENV={
--Control
nextCount=6,
holdCount=1,
infHold=true,
infHold=false,
phyHold=false,
--Visual

View File

@@ -258,6 +258,7 @@ return{
net_newRoom={
title="Custom room config",
roomName="Room name(default to username's room)",
roomDescription="Room description",
life="Lives",
pushSpeed="Push Speed",

View File

@@ -229,6 +229,7 @@ return{
net_newRoom={
-- title="Custom room config",
-- roomName="Room name(default to username's room)",
-- roomDescription="Room description",
life="Vie",
-- pushSpeed="Push Speed",

View File

@@ -257,6 +257,7 @@ return{
net_newRoom={
-- title="Custom room config",
-- roomName="Room name(default to username's room)",
-- roomDescription="Room description",
life="Vidas",
pushSpeed="Garbage Speed",

View File

@@ -233,6 +233,7 @@ return{
net_newRoom={
-- title="Custom room config",
-- roomName="Room name(default to username's room)",
-- roomDescription="Room description",
life="Vida",
-- pushSpeed="Garbage Speed",

View File

@@ -258,6 +258,7 @@ return{
net_newRoom={
title="自定义房间参数",
roomName="房间名(留空默认 用户名's room)",
roomDescription="房间描述",
life="命数",
pushSpeed="上涨速度",

View File

@@ -1,23 +1,22 @@
local yield=YIELD
local function marginTask(P)
local S=P.stat
while true do yield()if S.frame>90*60 then P.strength=1;P:setFrameColor(1)break end end
while true do yield()if S.frame>135*60 then P.strength=2;P:setFrameColor(2)break end end
while true do yield()if S.frame>180*60 then P.strength=3;P:setFrameColor(3)break end end
while true do yield()if S.frame>260*60 then P.strength=4;P:setFrameColor(4)break end end
end
return{
color=COLOR.white,
env={
drop=30,
freshLimit=15,
pushSpeed=5,
garbageSpeed=2,
allowMod=false,
task=function(P)
local S=P.stat
while true do yield()if S.frame>90*60 then P.strength=1;P:setFrameColor(1)break end end
while true do yield()if S.frame>135*60 then P.strength=2;P:setFrameColor(2)break end end
while true do yield()if S.frame>180*60 then P.strength=3;P:setFrameColor(3)break end end
while true do yield()if S.frame>260*60 then P.strength=4;P:setFrameColor(4)break end end
end,
bgm={'battle','cruelty','distortion','far','final','hope','magicblock','new era','push','race','rockblock','secret7th','secret8th','shining terminal','storm','super7th','warped','waterfall','moonbeam'},
},
env={},
load=function()
applyRoomConf()
TABLE.clear(GAME.modeEnv)
for k,v in next,NET.roomState.roomData do
GAME.modeEnv[k]=v
end
GAME.modeEnv.allowMod=false
GAME.modeEnv.task=marginTask
local L=TABLE.copy(netPLY.list)
local N=1
for i,p in next,L do

View File

@@ -309,7 +309,7 @@ function NET.fetchRoom()
})
end
end
function NET.createRoom(roomName,capacity,roomType,roomData,password)
function NET.createRoom(roomName,description,capacity,roomType,roomData,password)
if NET.lock('enterRoom',1.26)then
NET.roomState.private=not not password
NET.roomState.capacity=capacity
@@ -322,6 +322,7 @@ function NET.createRoom(roomName,capacity,roomType,roomData,password)
name=roomName,
type=roomType,
version=VERSION.short,
description=description,
},
roomData=roomData,

View File

@@ -1,6 +1,9 @@
local ROOMENV=ROOMENV
local roomName=WIDGET.newInputBox{name="roomNameBox",x=40,y=170,w=1200,h=80}
local roomName=WIDGET.newText{name="roomName",x=40,y=150,align='L'}
local roomNameBox=WIDGET.newInputBox{name="roomNameBox",x=40,y=200,w=640,h=60}
local description=WIDGET.newText{name="roomDescription",x=700,y=50,align='L'}
local descriptionBox=WIDGET.newInputBox{name="descriptionBox",x=700,y=100,w=550,h=160,font=25}
local sList={
visible={"show","easy","slow","medium","fast","none"},
@@ -20,10 +23,11 @@ local sList={
local scene={}
local function createRoom()
local roomname=STRING.trim(roomName.value)
local roomname=STRING.trim(roomNameBox.value)
if #roomname==0 then roomname=(USERS.getUsername(USER.uid)or"Anonymous").."'s room"end
NET.createRoom(
roomname,
descriptionBox.value,
ROOMENV.capacity,"normal",ROOMENV
)
end
@@ -39,10 +43,12 @@ function scene.sceneBack()
end
function scene.keyDown(k)
if k=="return"then
if k=="return"and #EDITING==0 then
createRoom()
elseif k=="escape"then
SCN.go('net_rooms')
else
WIDGET.keyPressed(k)
end
end
@@ -51,8 +57,10 @@ scene.widgetList={
WIDGET.newText{name="title",x=40,y=15,font=70,align='L'},
--Room name
WIDGET.newText{name="roomName",x=40,y=120,align='L'},
roomName,
roomNameBox,
description,
descriptionBox,
--Selectors
WIDGET.newSelector{name="life", x=170,y=410,w=260,color='R',list=sList.life, disp=ROOMval("life"), code=ROOMsto("life")},

View File

@@ -164,6 +164,8 @@ function scene.draw()
gc.setColor(1,1,.7)
gc.printf(R.roomInfo.name,870,240,365)
setFont(20)
gc.setColor(.8,.8,.8)
gc.printf(R.roomInfo.description,870,295,365)
if R.start then
gc.setColor(0,1,.2)
gc.print(text.started,870,475)