Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
M
Moecube Store
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
MyCard
Moecube Store
Commits
78eb4172
Commit
78eb4172
authored
Jan 23, 2013
by
神楽坂玲奈
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
new room
parent
7e0d4368
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
223 additions
and
9 deletions
+223
-9
assets/javascripts/rooms.coffee
assets/javascripts/rooms.coffee
+92
-3
assets/javascripts/rooms.js
assets/javascripts/rooms.js
+97
-4
rooms/index.html
rooms/index.html
+34
-2
No files found.
assets/javascripts/rooms.coffee
View file @
78eb4172
...
@@ -4,7 +4,7 @@ class Server extends Spine.Model
...
@@ -4,7 +4,7 @@ class Server extends Spine.Model
@
url
:
"/servers.json"
@
url
:
"/servers.json"
class
Room
extends
Spine
.
Model
class
Room
extends
Spine
.
Model
@
configure
"Room"
,
"name"
,
"status"
@
configure
"Room"
,
"name"
,
"status"
,
"private"
@
belongsTo
'server'
,
Server
@
belongsTo
'server'
,
Server
class
Rooms
extends
Spine
.
Controller
class
Rooms
extends
Spine
.
Controller
...
@@ -16,10 +16,18 @@ class Rooms extends Spine.Controller
...
@@ -16,10 +16,18 @@ class Rooms extends Spine.Controller
render
:
=>
render
:
=>
@
html
$
(
'#room_template'
).
tmpl
_
.
sortBy
Room
.
all
(),
@
sort
@
html
$
(
'#room_template'
).
tmpl
_
.
sortBy
Room
.
all
(),
@
sort
sort
:
(
room
)
->
sort
:
(
room
)
->
[
if
room
.
status
==
"wait"
then
0
else
1
]
[
if
room
.
status
==
"wait"
then
0
else
1
,
room
.
private
]
clicked
:
(
e
)
->
clicked
:
(
e
)
->
room
=
$
(
e
.
target
).
tmplItem
().
data
room
=
$
(
e
.
target
).
tmplItem
().
data
mycard
.
join
(
room
.
server
().
ip
,
room
.
server
().
port
,
room
.
name
)
if
room
.
private
$
(
'#join_private_room'
)[
0
].
reset
()
$
(
'#join_private_room'
).
data
(
'room_id'
,
room
.
id
)
$
(
'#join_private_room_dialog'
).
dialog
(
'open'
)
else
mycard
.
join
(
room
.
server
().
ip
,
room
.
server
().
port
,
room
.
name
)
$
(
document
).
ready
->
$
(
document
).
ready
->
...
@@ -35,6 +43,85 @@ $(document).ready ->
...
@@ -35,6 +43,85 @@ $(document).ready ->
Candy
.
Core
.
connect
(
'zh99998测试80@my-card.in'
,
'zh112998'
)
Candy
.
Core
.
connect
(
'zh99998测试80@my-card.in'
,
'zh112998'
)
#$('#username').val '@my-card.in'
#$('#username').val '@my-card.in'
#$('#username').focus()
#$('#username').focus()
$
(
'#new_room_dialog'
).
dialog
autoOpen
:
false
,
resizable
:
false
,
title
:
"建立房间"
$
(
'#join_private_room_dialog'
).
dialog
autoOpen
:
false
,
resizable
:
false
,
title
:
"加入私密房间"
new_room
=
$
(
'#new_room'
)[
0
]
new_room
.
tag
.
onchange
=
->
if
@
checked
new_room
.
pvp
.
checked
=
false
new_room
.
match
.
checked
=
false
new_room
.
match
.
onchange
=
->
if
@
checked
new_room
.
tag
.
checked
=
false
new_room
.
pvp
.
onchange
=
->
if
@
checked
new_room
.
tag
.
checked
=
false
new_room
.
tcg
.
checked
=
false
new_room
.
ocg
.
checked
=
true
new_room
.
lp
.
value
=
8000
new_room
.
ocg
.
onchange
=
->
if
!
@
checked
new_room
.
tcg
.
checked
=
true
new_room
.
tcg
.
onchange
=
->
if
@
checked
new_room
.
pvp
.
checked
=
false
else
new_room
.
ocg
.
checked
=
true
new_room
.
onsubmit
=
(
ev
)
->
ev
.
preventDefault
()
$
(
'#new_room_dialog'
).
dialog
(
'close'
)
rule
=
if
@
tcg
.
checked
then
(
if
@
ocg
.
checked
then
2
else
1
)
else
0
mode
=
if
@
tag
.
checked
then
2
else
if
@
match
.
checked
then
1
else
0
if
rule
!=
0
or
@
lp
.
value
!=
'8000'
result
=
"
#{
rule
}#{
mode
}
FFF
#{
@
lp
.
value
}
,5,1,"
else
if
@
tag
.
checked
result
=
"T#"
else
if
@
pvp
.
checked
and
@
match
.
checked
result
=
"PM#"
else
if
@
pvp
.
checked
result
=
"P#"
else
if
@
match
.
checked
result
=
"M#"
result
+=
@
name
.
value
if
@
password
.
value
result
+=
'$'
+
@
password
.
value
servers
=
Server
.
all
()
server
=
servers
[
Math
.
floor
Math
.
random
()
*
servers
.
length
]
mycard
.
join
(
server
.
ip
,
server
.
port
,
result
)
$
(
'#join_private_room'
).
submit
(
ev
)
->
ev
.
preventDefault
()
$
(
'#join_private_room_dialog'
).
dialog
(
'close'
)
if
@
password
.
value
room_id
=
$
(
this
).
data
(
'room_id'
)
if
Room
.
exists
room_id
room
=
Room
.
find
(
room_id
)
server
=
room
.
server
()
mycard
.
join
(
server
.
ip
,
server
.
port
,
"
#{
room
.
name
}
$
#{
@
password
.
value
}
"
)
else
alert
'房间已经关闭'
$
(
'#new_room_button'
).
click
->
new_room
.
reset
()
new_room
.
name
.
value
=
Math
.
floor
Math
.
random
()
*
1000
$
(
'#new_room_dialog'
).
dialog
(
'open'
)
rooms
=
new
Rooms
(
el
:
$
(
'#rooms'
))
rooms
=
new
Rooms
(
el
:
$
(
'#rooms'
))
Server
.
one
"refresh"
,
->
Server
.
one
"refresh"
,
->
...
@@ -55,3 +142,5 @@ $(document).ready ->
...
@@ -55,3 +142,5 @@ $(document).ready ->
websocket
.
onerror
=
(
evt
)
->
websocket
.
onerror
=
(
evt
)
->
console
.
log
(
'Error occured: '
+
evt
.
data
);
console
.
log
(
'Error occured: '
+
evt
.
data
);
Server
.
fetch
()
Server
.
fetch
()
assets/javascripts/rooms.js
View file @
78eb4172
...
@@ -31,7 +31,7 @@
...
@@ -31,7 +31,7 @@
return
Room
.
__super__
.
constructor
.
apply
(
this
,
arguments
);
return
Room
.
__super__
.
constructor
.
apply
(
this
,
arguments
);
}
}
Room
.
configure
(
"
Room
"
,
"
name
"
,
"
status
"
);
Room
.
configure
(
"
Room
"
,
"
name
"
,
"
status
"
,
"
private
"
);
Room
.
belongsTo
(
'
server
'
,
Server
);
Room
.
belongsTo
(
'
server
'
,
Server
);
...
@@ -58,13 +58,19 @@
...
@@ -58,13 +58,19 @@
};
};
Rooms
.
prototype
.
sort
=
function
(
room
)
{
Rooms
.
prototype
.
sort
=
function
(
room
)
{
return
[
room
.
status
===
"
wait
"
?
0
:
1
];
return
[
room
.
status
===
"
wait
"
?
0
:
1
,
room
[
"
private
"
]
];
};
};
Rooms
.
prototype
.
clicked
=
function
(
e
)
{
Rooms
.
prototype
.
clicked
=
function
(
e
)
{
var
room
;
var
room
;
room
=
$
(
e
.
target
).
tmplItem
().
data
;
room
=
$
(
e
.
target
).
tmplItem
().
data
;
return
mycard
.
join
(
room
.
server
().
ip
,
room
.
server
().
port
,
room
.
name
);
if
(
room
[
"
private
"
])
{
$
(
'
#join_private_room
'
)[
0
].
reset
();
$
(
'
#join_private_room
'
).
data
(
'
room_id
'
,
room
.
id
);
return
$
(
'
#join_private_room_dialog
'
).
dialog
(
'
open
'
);
}
else
{
return
mycard
.
join
(
room
.
server
().
ip
,
room
.
server
().
port
,
room
.
name
);
}
};
};
return
Rooms
;
return
Rooms
;
...
@@ -72,7 +78,7 @@
...
@@ -72,7 +78,7 @@
})(
Spine
.
Controller
);
})(
Spine
.
Controller
);
$
(
document
).
ready
(
function
()
{
$
(
document
).
ready
(
function
()
{
var
rooms
;
var
new_room
,
rooms
;
Candy
.
init
(
'
/http-bind/
'
,
{
Candy
.
init
(
'
/http-bind/
'
,
{
core
:
{
core
:
{
debug
:
false
,
debug
:
false
,
...
@@ -86,6 +92,93 @@
...
@@ -86,6 +92,93 @@
if
(
window
.
location
.
href
.
indexOf
(
"
candy
"
)
!==
-
1
)
{
if
(
window
.
location
.
href
.
indexOf
(
"
candy
"
)
!==
-
1
)
{
Candy
.
Core
.
connect
(
'
zh99998测试80@my-card.in
'
,
'
zh112998
'
);
Candy
.
Core
.
connect
(
'
zh99998测试80@my-card.in
'
,
'
zh112998
'
);
}
}
$
(
'
#new_room_dialog
'
).
dialog
({
autoOpen
:
false
,
resizable
:
false
,
title
:
"
建立房间
"
});
$
(
'
#join_private_room_dialog
'
).
dialog
({
autoOpen
:
false
,
resizable
:
false
,
title
:
"
加入私密房间
"
});
new_room
=
$
(
'
#new_room
'
)[
0
];
new_room
.
tag
.
onchange
=
function
()
{
if
(
this
.
checked
)
{
new_room
.
pvp
.
checked
=
false
;
return
new_room
.
match
.
checked
=
false
;
}
};
new_room
.
match
.
onchange
=
function
()
{
if
(
this
.
checked
)
{
return
new_room
.
tag
.
checked
=
false
;
}
};
new_room
.
pvp
.
onchange
=
function
()
{
if
(
this
.
checked
)
{
new_room
.
tag
.
checked
=
false
;
new_room
.
tcg
.
checked
=
false
;
new_room
.
ocg
.
checked
=
true
;
return
new_room
.
lp
.
value
=
8000
;
}
};
new_room
.
ocg
.
onchange
=
function
()
{
if
(
!
this
.
checked
)
{
return
new_room
.
tcg
.
checked
=
true
;
}
};
new_room
.
tcg
.
onchange
=
function
()
{
if
(
this
.
checked
)
{
return
new_room
.
pvp
.
checked
=
false
;
}
else
{
return
new_room
.
ocg
.
checked
=
true
;
}
};
new_room
.
onsubmit
=
function
(
ev
)
{
var
mode
,
result
,
rule
,
server
,
servers
;
ev
.
preventDefault
();
$
(
'
#new_room_dialog
'
).
dialog
(
'
close
'
);
rule
=
this
.
tcg
.
checked
?
(
this
.
ocg
.
checked
?
2
:
1
)
:
0
;
mode
=
this
.
tag
.
checked
?
2
:
this
.
match
.
checked
?
1
:
0
;
if
(
rule
!==
0
||
this
.
lp
.
value
!==
'
8000
'
)
{
result
=
""
+
rule
+
mode
+
"
FFF
"
+
this
.
lp
.
value
+
"
,5,1,
"
;
}
else
if
(
this
.
tag
.
checked
)
{
result
=
"
T#
"
;
}
else
if
(
this
.
pvp
.
checked
&&
this
.
match
.
checked
)
{
result
=
"
PM#
"
;
}
else
if
(
this
.
pvp
.
checked
)
{
result
=
"
P#
"
;
}
else
if
(
this
.
match
.
checked
)
{
result
=
"
M#
"
;
}
result
+=
this
.
name
.
value
;
if
(
this
.
password
.
value
)
{
result
+=
'
$
'
+
this
.
password
.
value
;
}
servers
=
Server
.
all
();
server
=
servers
[
Math
.
floor
(
Math
.
random
()
*
servers
.
length
)];
return
mycard
.
join
(
server
.
ip
,
server
.
port
,
result
);
};
$
(
'
#join_private_room
'
).
submit
(
function
(
ev
)
{
var
room
,
room_id
,
server
;
ev
.
preventDefault
();
$
(
'
#join_private_room_dialog
'
).
dialog
(
'
close
'
);
if
(
this
.
password
.
value
)
{
room_id
=
$
(
this
).
data
(
'
room_id
'
);
if
(
Room
.
exists
(
room_id
))
{
room
=
Room
.
find
(
room_id
);
server
=
room
.
server
();
return
mycard
.
join
(
server
.
ip
,
server
.
port
,
""
+
room
.
name
+
"
$
"
+
this
.
password
.
value
);
}
else
{
return
alert
(
'
房间已经关闭
'
);
}
}
});
$
(
'
#new_room_button
'
).
click
(
function
()
{
new_room
.
reset
();
new_room
.
name
.
value
=
Math
.
floor
(
Math
.
random
()
*
1000
);
return
$
(
'
#new_room_dialog
'
).
dialog
(
'
open
'
);
});
rooms
=
new
Rooms
({
rooms
=
new
Rooms
({
el
:
$
(
'
#rooms
'
)
el
:
$
(
'
#rooms
'
)
});
});
...
...
rooms/index.html
View file @
78eb4172
...
@@ -21,11 +21,15 @@
...
@@ -21,11 +21,15 @@
<script
type=
"text/javascript"
src=
"/vendor/javascripts/less-1.3.1.min.js"
></script>
<script
type=
"text/javascript"
src=
"/vendor/javascripts/less-1.3.1.min.js"
></script>
<script
src=
"/vendor/javascripts/modernizr-2.6.2.min.js"
></script>
<script
src=
"/vendor/javascripts/modernizr-2.6.2.min.js"
></script>
<link
rel=
"stylesheet"
href=
"/vendor/stylesheets/smoothness/jquery-ui-1.9.1.custom.min.css"
/>
<script
id=
"room_template"
type=
"text/x-jquery-tmpl"
>
<script
id=
"room_template"
type=
"text/x-jquery-tmpl"
>
<
div
class
=
"
room
"
id
=
"
room_${id}
"
>
<
div
class
=
"
room
"
id
=
"
room_${id}
"
>
<
span
class
=
"
room_name
"
>
$
{
name
}
<
/span
>
<
span
class
=
"
room_name
"
>
$
{
name
}
<
/span
>
<
span
class
=
"
room_id
"
>
$
{
id
}
<
/span
>
<
span
class
=
"
room_id
"
>
$
{
id
}
<
/span
>
{{
if
private
}}
[
私密房
]
{{
/if}
}
<
div
class
=
"
room_users
"
>
<
div
class
=
"
room_users
"
>
{{
each
users
}}
{{
each
users
}}
<
div
class
=
"
user
"
>
<
div
class
=
"
user
"
>
...
@@ -55,7 +59,7 @@
...
@@ -55,7 +59,7 @@
<option
value=
""
></option>
<option
value=
""
></option>
<option
value=
""
></option>
<option
value=
""
></option>
</select>
</select>
<input
type=
"button"
value=
"建立房间"
/>
<input
id=
"new_room_button"
type=
"button"
value=
"建立房间"
/>
</div>
</div>
<div
class=
"log_reg"
>
<div
class=
"log_reg"
>
<a
href=
""
>
注册
</a>
<a
href=
""
>
注册
</a>
...
@@ -132,8 +136,36 @@
...
@@ -132,8 +136,36 @@
</div>
</div>
<div
id=
"candy"
style=
"top:auto;height:260px;"
></div>
<div
id=
"candy"
style=
"top:auto;height:260px;"
></div>
<div
id=
"new_room_dialog"
style=
"display: none"
>
<form
id=
"new_room"
>
<label>
房间名
</label>
<input
type=
"text"
id=
"name"
/><br/>
<label>
房间密码
</label>
<input
type=
"password"
name=
"password"
id=
"password"
value=
""
/><br/>
<input
type=
"checkbox"
name=
"pvp"
id=
"pvp"
value=
"pvp"
/><label>
竞技场
</label>
<input
type=
"checkbox"
name=
"match"
id=
"match"
value=
"match"
checked=
"checked"
/><label>
比赛模式
</label>
<hr/>
<h3>
自定义模式
</h3>
<input
type=
"checkbox"
name=
"tag"
id=
"tag"
value=
"tag"
/><label>
TAG双打
</label>
<input
type=
"checkbox"
name=
"ocg"
id=
"ocg"
value=
"ocg"
checked=
"checked"
/><label>
OCG
</label>
<input
type=
"checkbox"
name=
"tcg"
id=
"tcg"
value=
"tcg"
/><label>
TCG
</label><br/>
<label>
初始LP
</label>
<input
type=
"number"
name=
"lp"
id=
"lp"
min=
"0"
max=
"99999"
value=
"8000"
step=
"1000"
/><br/>
<input
type=
"submit"
value=
"确定"
/>
</form>
</div>
<div
id=
"join_private_room_dialog"
style=
"display: none"
>
<form
id=
"join_private_room"
>
<label>
房间密码
</label>
<input
name=
"password"
type=
"password"
id=
"joinroom_password"
value=
""
/>
<input
type=
"submit"
value=
"确定"
/>
</form>
</div>
<script
src=
"/vendor/javascripts/jquery-1.8.2.min.js"
></script>
<script
src=
"/vendor/javascripts/jquery-1.8.2.min.js"
></script>
<script
src=
"/vendor/javascripts/jquery.tmpl.min.js"
></script>
<script
src=
"/vendor/javascripts/jquery.tmpl.min.js"
></script>
<script
src=
"/vendor/javascripts/jquery-ui-1.9.1.custom.min.js"
></script>
<!--<script src="/vendor/javascripts/plugins.js"></script>-->
<!--<script src="/vendor/javascripts/plugins.js"></script>-->
<script
src=
"/vendor/javascripts/spine/spine.js"
></script>
<script
src=
"/vendor/javascripts/spine/spine.js"
></script>
<script
src=
"/vendor/javascripts/spine/ajax.js"
></script>
<script
src=
"/vendor/javascripts/spine/ajax.js"
></script>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment