1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-18 14:12:54 +08:00
Commit Graph

3458 Commits

Author SHA1 Message Date
Dean Herbert
cc1f3d54b0 Fix looping failure 2018-12-26 22:37:09 +09:00
Dean Herbert
f6aa6e6b3c Merge remote-tracking branch 'smoogipoo/timeshift-wip' into timeshift-wip 2018-12-26 22:16:41 +09:00
Dean Herbert
8cf30bdb6a Play with delegate 2018-12-26 22:16:35 +09:00
smoogipoo
e7310a16c7 Fix playlist not updating correcly 2018-12-26 22:14:49 +09:00
Dean Herbert
a1fa914c66 Participants 2018-12-26 21:58:14 +09:00
Dean Herbert
bf9954aede Merge remote-tracking branch 'smoogipoo/timeshift-wip' into timeshift-wip
# Conflicts:
#	osu.Game.Tests/Visual/TestCaseLoungeRoomsContainer.cs
#	osu.Game.Tests/Visual/TestCaseMatchSettingsOverlay.cs
#	osu.Game/Screens/Multi/IRoomManager.cs
#	osu.Game/Screens/Multi/Lounge/LoungeSubScreen.cs
#	osu.Game/Screens/Multi/Match/Components/MatchSettingsOverlay.cs
#	osu.Game/Screens/Multi/RoomManager.cs
2018-12-26 21:32:12 +09:00
smoogipoo
2d19436456 Open -> Push 2018-12-26 21:21:26 +09:00
smoogipoo
152f3b1da3 Add processing overlay to lounge screen 2018-12-26 21:20:53 +09:00
smoogipoo
0c384417f1 Add processing overlay to room creation process 2018-12-26 21:19:02 +09:00
Dean Herbert
26834abd33 Fade and no schedule 2018-12-26 21:18:55 +09:00
smoogipoo
5af29f8384 Reduce code duplication 2018-12-26 21:18:44 +09:00
smoogipoo
940d4a16bb Add error message when creation fails 2018-12-26 21:18:44 +09:00
smoogipoo
9901b11600 Display room join errors as notifications 2018-12-26 21:18:11 +09:00
Dean Herbert
8386e206c3 Update ParticipantInfo 2018-12-26 20:35:54 +09:00
Dean Herbert
5bd3ab51dd Open -> Push 2018-12-26 20:35:54 +09:00
Dean Herbert
6f0d13e36b Move PartRoom calls 2018-12-26 20:35:54 +09:00
smoogipoo
9d305ba024 Reduce code duplication 2018-12-26 20:33:19 +09:00
smoogipoo
be9ba78d47 Add error message when creation fails 2018-12-26 20:33:19 +09:00
smoogipoo
052ab4763a Display room join errors as notifications 2018-12-26 20:32:36 +09:00
Dean Herbert
7a431ed87f Update ParticipantInfo 2018-12-26 20:31:04 +09:00
Dean Herbert
869081ce9c Open -> Push 2018-12-26 20:21:30 +09:00
Dean Herbert
692f5c289d Move PartRoom calls 2018-12-26 20:12:51 +09:00
Dean Herbert
2353c204ee Renaming 2018-12-26 20:05:57 +09:00
Dean Herbert
532a970c0f Give leaderboard and chat more breathing room 2018-12-26 19:20:54 +09:00
Dean Herbert
0cefd4b21d Improve room padding 2018-12-26 19:14:15 +09:00
Dean Herbert
f442e59620 Icon and beatmap title visual pass 2018-12-26 18:01:53 +09:00
Dean Herbert
c6c8c472bb Split class out 2018-12-26 16:50:50 +09:00
Dean Herbert
9b2575cc20 RoomSettingsOverlay -> MatchSettingOverlay 2018-12-26 16:50:50 +09:00
Dean Herbert
6e8c46f00b Fix padding and use grid container for more correctness 2018-12-26 15:23:57 +09:00
Dean Herbert
755c6b9243 Make room settings scroll 2018-12-26 15:03:35 +09:00
Dean Herbert
e9556afe22 Don't use all uppercase (is applied automatically) 2018-12-26 14:26:35 +09:00
Dean Herbert
e4a72c0c64 Fix failing testcase 2018-12-26 13:18:36 +09:00
smoogipoo
1dd2a4e368 Fix host info not working 2018-12-25 18:07:19 +09:00
smoogipoo
2f32c4d4d1 Fix title of match song select 2018-12-25 17:17:51 +09:00
smoogipoo
d4f5a8507c Exit from match screen on escape 2018-12-25 17:14:56 +09:00
smoogipoo
91b83cd4b8 Fix leaderboard being queried on room creation 2018-12-25 13:57:25 +09:00
smoogipoo
23d21a45e5 More automated tests 2018-12-25 11:59:08 +09:00
smoogipoo
626ec85ae8 Remove IHasFilterableChildren from class 2018-12-25 11:58:28 +09:00
smoogipoo
6712a68797 Create IRoomManager interface, add test for RoomsContainer 2018-12-25 11:45:50 +09:00
smoogipoo
f79aa07d02 Fix enddate not being bound to 2018-12-25 11:31:36 +09:00
smoogipoo
e0e75c7339 Fix incorrect room status 2018-12-25 11:24:46 +09:00
smoogipoo
02365ee5ba Merge remote-tracking branch 'origin/master' into timeshift-wip 2018-12-22 23:23:21 +09:00
smoogipoo
d9b8df1595 Merge remote-tracking branch 'origin/master' into user-registration 2018-12-22 17:19:28 +09:00
Dan Balasescu
e6c197e9aa
Merge branch 'master' into improve-text-search 2018-12-22 16:38:50 +09:00
Dean Herbert
005c6ff40c Add tooltip text to results screen pages 2018-12-22 16:30:06 +09:00
smoogipoo
bb08bf10a0 Fix post-merge issues 2018-12-22 16:26:27 +09:00
smoogipoo
c2a00b84c7 Merge remote-tracking branch 'peppy/modular-results-screen' into timeshift-wip
# Conflicts:
#	osu.Game/Screens/Multi/IMultiplayerScreen.cs
#	osu.Game/Screens/Play/Player.cs
#	osu.Game/Screens/Play/SoloResults.cs
#	osu.Game/Screens/Ranking/IResultPageInfo.cs
#	osu.Game/Screens/Ranking/ResultMode.cs
#	osu.Game/Screens/Ranking/ResultModeButton.cs
#	osu.Game/Screens/Ranking/ResultModeTabControl.cs
#	osu.Game/Screens/Ranking/Results.cs
2018-12-22 16:22:02 +09:00
Dean Herbert
a35d9178f0 Quick rename 2018-12-22 16:20:29 +09:00
Dean Herbert
e7508cbd5e Fix CI issues 2018-12-22 15:55:10 +09:00
Dean Herbert
e404a0bc20 Clean-ups and renames 2018-12-22 15:51:00 +09:00
smoogipoo
baed0ef3ba Rename variable 2018-12-22 15:46:04 +09:00
smoogipoo
b9ec179713 Split out more requests + responses 2018-12-22 15:45:16 +09:00
smoogipoo
daa6292e08 Split results screen to allow for extensibility 2018-12-22 15:39:06 +09:00
smoogipoo
ac0e6f8d42 Fix post-merge issues 2018-12-22 15:35:22 +09:00
smoogipoo
bdb6e03dfb Merge remote-tracking branch 'peppy/leaderboard-modularity' into timeshift-wip
# Conflicts:
#	osu.Game/Online/Leaderboards/Leaderboard.cs
#	osu.Game/Online/Leaderboards/LeaderboardScore.cs
#	osu.Game/Screens/Ranking/Pages/ScoreResultsPage.cs
#	osu.Game/Screens/Select/Leaderboards/BeatmapLeaderboard.cs
2018-12-22 15:33:26 +09:00
Dean Herbert
787e65c3c5 Reduce generic-ness 2018-12-22 15:20:35 +09:00
smoogipoo
3570c35d7f Make RoomScore derive ScoreInfo 2018-12-22 15:17:35 +09:00
smoogipoo
6afd2f7263 Adjust styling of disabled settings 2018-12-22 15:00:35 +09:00
smoogipoo
e657f13c15 Separate out Leaderboard into BeatmapLeaderboard 2018-12-22 14:44:36 +09:00
smoogipoo
b82bb0ea28 Mate RoomSettingsOverlay fill height 2018-12-22 14:40:10 +09:00
smoogipoo
09d7dc73dc Allow channel manager and osugame to be null 2018-12-22 14:38:46 +09:00
smoogipoo
dbd391825a Rework+fix TestCaseMultiHeader 2018-12-22 14:30:08 +09:00
smoogipoo
7191233be8 Allow roommanager to be null 2018-12-22 14:14:14 +09:00
smoogipoo
21cfe5a3e6 Decouple header from matchscreen 2018-12-22 14:12:27 +09:00
smoogipoo
c06cf5d379 Decouple match info from match screen 2018-12-22 14:08:00 +09:00
smoogipoo
d93421b796 Merge remote-tracking branch 'Joehuu/master' into timeshift-wip
# Conflicts:
#	osu.Game/Screens/Play/HUD/ModDisplay.cs
2018-12-22 14:02:45 +09:00
smoogipoo
f1a9a352fc Cleanup bindable handling 2018-12-22 14:01:06 +09:00
smoogipoo
1cb69c3478 Split requests/responses into separate files 2018-12-22 12:50:37 +09:00
smoogipoo
dd0c04ea36 Move RoomManager to multiplayer screen 2018-12-22 12:45:36 +09:00
smoogipoo
7e9cc4e876 Seed the results screen 2018-12-21 18:37:33 +09:00
smoogipoo
4149734f89 Add room leaderboard to results 2018-12-21 18:22:13 +09:00
smoogipoo
8a2cc64bfa Split results screen to allow for extensibility 2018-12-21 16:34:03 +09:00
smoogipoo
fe6c369e07 Fix incorrect channel 2018-12-21 14:37:05 +09:00
smoogipoo
fa2bc16140 Remove participants, add match chat 2018-12-21 14:01:11 +09:00
smoogipoo
14879acd83 Fix possible nullref 2018-12-21 13:26:50 +09:00
smoogipoo
5d59a1ffca Merge remote-tracking branch 'origin/master' into timeshift-wip
# Conflicts:
#	osu.Game.Tests/Visual/TestCasePollingComponent.cs
#	osu.Game/Online/API/APIRequest.cs
#	osu.Game/osu.Game.csproj
2018-12-21 12:51:31 +09:00
Dean Herbert
aaac45ab8c Add ability to select chat tabs with alt-1-9 2018-12-20 21:50:47 +09:00
smoogipoo
822225577b Add joining/parting room requests 2018-12-20 20:58:34 +09:00
smoogipoo
9031896484 Fix create room button showing in song select 2018-12-20 20:09:17 +09:00
smoogipoo
6a76e335c7 Linkify everything 2018-12-20 20:03:45 +09:00
smoogipoo
deaf4ab4a1 Cleanup 2018-12-20 18:21:55 +09:00
smoogipoo
8db3ac0a9f Make user links clickable 2018-12-20 18:04:39 +09:00
smoogipoo
1701af61d6 Add host avatar+username to match screen 2018-12-20 18:04:22 +09:00
smoogipoo
2e28f378de Move beatmap + mod info to header 2018-12-20 15:17:33 +09:00
smoogipoo
72016a416b Deselect match if ended 2018-12-20 15:17:08 +09:00
smoogipoo
03546c9d0d Implement primary filter routes 2018-12-20 15:16:46 +09:00
smoogipoo
36f6b4fc3f Hook up participated filter
Very early stages, implementation will change.
2018-12-19 18:02:05 +09:00
smoogipoo
673082445e Rework filtering 2018-12-19 16:56:51 +09:00
smoogipoo
c544a5b9f0 Add end date to the drawable room too 2018-12-19 15:20:23 +09:00
smoogipoo
a8d88dea3b Display time remaining in the room 2018-12-19 13:07:56 +09:00
smoogipoo
2c000a9a1d Disallow starting gameplay if there's not enough time in the room 2018-12-19 10:52:15 +09:00
smoogipoo
1051584f0f Fix room duration not being set 2018-12-19 10:51:54 +09:00
smoogipoo
72d1ba897f Reorder tabs 2018-12-18 18:29:13 +09:00
smoogipoo
4050cb88ea Fix potential nullref 2018-12-18 18:09:54 +09:00
smoogipoo
3cdeeb7ac5 Add forceful set helper methods in OsuGame 2018-12-18 18:09:46 +09:00
smoogipoo
e4e1bde5da Fix playlist events running too early
Screens are async loaded
2018-12-18 17:08:07 +09:00
smoogipoo
aabe6c68f5 Fix looping not working 2018-12-18 17:07:47 +09:00
smoogipoo
2f15d10029 Play track while in the multiplayer lobby 2018-12-18 14:45:35 +09:00
smoogipoo
5a8b255bd8 Directly bypass beatmap/ruleset restrictions 2018-12-18 14:17:20 +09:00
smoogipoo
8d640cdc25 Fix leaderboard not being refreshed when finishing gameplay 2018-12-18 12:56:16 +09:00
smoogipoo
cc68cf2f95 Implement duration 2018-12-17 14:44:54 +09:00
smoogipoo
279891ae08 Change "apply" button to say "create" instead 2018-12-17 13:55:42 +09:00
smoogipoo
84552b5cee Refresh leaderboard when returning to lobby 2018-12-17 11:51:28 +09:00
smoogipoo
bf8aae8d9b Boot player back to lobby if token request fails 2018-12-17 11:51:17 +09:00
smoogipoo
2fd2425cc4 Fix playlist deserialisation for creating rooms 2018-12-17 11:05:03 +09:00
Dean Herbert
eec5afa382 Change inspection and add redundant parenthesis to appease codefactor 2018-12-15 16:37:37 +09:00
Dean Herbert
3892454ecc Improve the way text search works at song select 2018-12-15 16:34:48 +09:00
smoogipoo
983a45c4d8 Fix invalid value 2018-12-14 21:21:02 +09:00
smoogipoo
9726eea0d0 Basic score submission implementation 2018-12-14 21:09:17 +09:00
smoogipoo
e8007ac37f Implement multiplayer room leaderboard 2018-12-14 21:08:55 +09:00
smoogipoo
d9fc7c7d66 Separate out Leaderboard into BeatmapLeaderboard 2018-12-14 19:51:27 +09:00
Dean Herbert
fc5d5a7752
Merge branch 'master' into user-registration 2018-12-14 19:45:27 +09:00
smoogipoo
de0fc2a0de Fix beatmap + ruleset being changeable 2018-12-14 17:35:18 +09:00
smoogipoo
5f0069eb83 Fix incorrect ruleset being sent to API 2018-12-14 17:35:05 +09:00
smoogipoo
edefdb18f8 Fix beatmap not having any mods when going into play 2018-12-14 16:16:38 +09:00
smoogipoo
e3ad226075 Use the local beatmap if existing, fixing player not loading objects 2018-12-14 16:11:00 +09:00
smoogipoo
83bf37a302 Enable/disable the view beatmap + ready buttons based on beatmap presence 2018-12-14 15:04:04 +09:00
smoogipoo
3de65238a2 Completely hide the select beatmap button for now 2018-12-14 14:33:50 +09:00
smoogipoo
b83f99d90a Fix up header sizing + styling 2018-12-14 14:30:39 +09:00
smoogipoo
56fd4b95cd Fix mod/beatmap selection not always working 2018-12-14 13:38:27 +09:00
smoogipoo
8e6a85058b Fix playlist-related errors 2018-12-14 12:35:05 +09:00
smoogipoo
91f6b08479 Merge branch 'timeshift-api-integration' 2018-12-13 18:38:22 +09:00
smoogipoo
680a3e2aa4 Update with proper playlist usage 2018-12-13 18:38:03 +09:00
smoogipoo
2aafaf9ce2 Merge branch 'timeshift-api-integration' 2018-12-13 17:07:39 +09:00
smoogipoo
eb0e9c0bb1 Merge branch 'match-mod-display'
# Conflicts:
#	osu.Game/Screens/Multi/Match/Components/Info.cs
#	osu.Game/osu.Game.csproj
2018-12-13 17:07:31 +09:00
smoogipoo
ca87b42758 Merge branch 'timeshift-player'
# Conflicts:
#	osu.Game/Screens/Multi/Multiplayer.cs
2018-12-13 17:06:44 +09:00
smoogipoo
208273f16a Merge branch 'timeshift'
# Conflicts:
#	osu.Game/osu.Game.csproj
2018-12-13 17:06:20 +09:00
Dean Herbert
71e5ce59da Fix crash on exiting player during results transition 2018-12-13 16:23:51 +09:00
smoogipoo
bac4f42eac Fix backgrounds not quite working 2018-12-12 19:34:37 +09:00
smoogipoo
450e4cd223 Hook up API 2018-12-12 19:04:11 +09:00
smoogipoo
9af2b49c01 Merge remote-tracking branch 'peppy/polling-component' into timeshift-api-integration
# Conflicts:
#	osu.Game/osu.Game.csproj
2018-12-12 16:22:14 +09:00
smoogipoo
6123a11b67 Use RoomID for creation 2018-12-12 16:20:11 +09:00
smoogipoo
170955110f Add mods to the match info 2018-12-12 14:38:03 +09:00
smoogipoo
6661b5870f Merge branch 'songselect-mods' into match-mod-display
# Conflicts:
#	osu.Game/osu.Game.csproj
2018-12-12 14:13:37 +09:00
smoogipoo
49dd6ae9b0 Move a lot more of PlaySongSelect into SongSelect 2018-12-12 13:21:44 +09:00
smoogipoo
497f431366 Implement RoomManager and RoomsContainer
Reduces logic from LoungeScreen
2018-12-11 19:07:40 +09:00
smoogipoo
bf3f5ab685 Change ready button to "Start" and make it enter player 2018-12-11 17:32:01 +09:00
smoogipoo
1ac615b490 Renamespace 2018-12-10 19:27:25 +09:00
smoogipoo
cd41c45686 Disable select beatmap button after room is created 2018-12-10 19:03:22 +09:00
smoogipoo
3c44f9e4f1 Make select beatmap button into a triangle button 2018-12-10 18:50:52 +09:00
smoogipoo
3f64cfc1c6 Don't add rooms to lounge until they're actually created 2018-12-10 18:35:08 +09:00
smoogipoo
ca544ef3fe Adjust match creation process 2018-12-10 18:25:32 +09:00
smoogipoo
77193eeea4 Move from lobby into match for creation process 2018-12-10 18:00:57 +09:00
smoogipoo
3b688c702c Use graying rather than alpha 2018-12-10 17:06:34 +09:00
smoogipoo
c7970e5425 Cleanup handling of readonly fields 2018-12-10 16:50:00 +09:00
smoogipoo
be3a912d0b Use UnbindFrom() 2018-12-10 13:48:12 +09:00
smoogipoo
352a758f5c Replace 3 occurrences of SpriteText.Current 2018-12-10 13:20:05 +09:00
smoogipoo
feb1adb51d Use bindable propagation rather than properties 2018-12-07 20:18:43 +09:00
smoogipoo
29263d7154 Refactor bindable shenanigans in Match 2018-12-07 16:20:05 +09:00
smoogipoo
d68b4bb8e7 Remove custom action from DrawableRoom 2018-12-07 14:28:43 +09:00
smoogipoo
10b526504a Move ModOverlay to SongSelect 2018-12-06 19:29:18 +09:00
smoogipoo
c02150a19b Make match header not fade when beatmap changes 2018-12-06 18:31:12 +09:00
smoogipoo
42817b98f9 Hide max participants box 2018-12-06 18:16:17 +09:00
Dean Herbert
9689c4fa17
Merge branch 'master' into user-registration 2018-12-06 17:06:43 +09:00
smoogipoo
eadbe4c470 Make beatmap selection work 2018-12-06 12:21:30 +09:00
Dean Herbert
0df9fa1e59 Remove pointless default size specification in OsuLogo 2018-12-06 11:56:16 +09:00
Dean Herbert
94045413ce Change statistics to be int for now 2018-12-05 19:44:01 +09:00
smoogipoo
e7d7e00516 Better disabling of various controls 2018-12-05 17:01:14 +09:00
Dean Herbert
4f5028bbc1
Merge branch 'master' into fix-hudoverlay-presence 2018-12-04 22:14:54 +09:00
smoogipoo
ca91dfa091 Make hudoverlay always present 2018-12-04 19:20:32 +09:00
smoogipoo
ec83790734 Add timeshift game type 2018-12-04 18:58:45 +09:00
smoogipoo
c469d12d63 Set room host when the room is refreshed 2018-12-04 18:18:17 +09:00
smoogipoo
a7ac544e12 Add interface for the multiplayer screen short title 2018-12-04 17:43:44 +09:00
smoogipoo
b251129c59 Block going into multiplayer while logged out 2018-12-04 17:43:27 +09:00
smoogipoo
f2a57ce270 Fix room host not being set 2018-12-04 17:23:58 +09:00
smoogipoo
6e5716c3f3 Adjust transition 2018-12-04 15:32:12 +09:00
smoogipoo
a02e025f06 Fix selections not working anymore 2018-12-04 15:26:06 +09:00
smoogipoo
d8739d9dee Fix creating a new room re-using the existing model 2018-12-04 15:25:48 +09:00
smoogipoo
e22cefc27d Immediately select newly-created rooms 2018-12-04 12:49:22 +09:00
Dean Herbert
415349e6ef Add missing return 2018-12-04 12:14:26 +09:00
Dean Herbert
a33865efce Fix home button being cancelled by mod select 2018-12-04 12:06:05 +09:00
Roman Kapustin
c6c255718b Handle ModAutoplay during score construction in the Player 2018-12-03 22:37:26 +03:00
smoogipoo
6a28e8c696 Add settings to lounge 2018-12-03 18:30:26 +09:00
smoogipoo
53a54f8634 Renamespace room settings 2018-12-03 17:54:10 +09:00
smoogipoo
20b843e63c Add create tab 2018-12-03 17:50:56 +09:00
smoogipoo
51c16867d5 Remove type conversion from LoungeTab to RoomAvailability 2018-12-03 17:50:39 +09:00
smoogipoo
b1c5b43767 Fix post-rebase errors 2018-11-30 18:46:47 +09:00
smoogipoo
10ed09521c Add leaderboard display for local scores 2018-11-30 18:40:53 +09:00
smoogipoo
795933d1a1 CreateScoreInfo -> CreateScore 2018-11-30 18:32:08 +09:00
smoogipoo
a6b0e35b2d Fix post-rebase issues 2018-11-30 18:31:54 +09:00
smoogipoo
a8ad7d4670 Add silent import parameter 2018-11-30 18:27:13 +09:00
smoogipoo
d07a724970 Only allow replay screen changes in menu + songselect 2018-11-30 18:25:54 +09:00
smoogipoo
4c1abdcd8c Save score upon map completion 2018-11-30 18:25:14 +09:00
smoogipoo
8eff49bccd Remove User from Replay 2018-11-30 18:25:14 +09:00
Dean Herbert
aa7a665317 Merge remote-tracking branch 'upstream/master' into scoredatabase 2018-11-30 17:20:23 +09:00
Dean Herbert
3727955911 Refactors/renames 2018-11-30 16:35:45 +09:00
smoogipoo
bc3fcb87b7 Use input events rather than scene graph traversals 2018-11-30 15:47:55 +09:00
Dean Herbert
831cd3ed59 ScoreInfo scoreInfo -> ScoreInfo score 2018-11-30 15:18:52 +09:00
Dan Balasescu
e83f6707bf
Merge branch 'master' into editor-keyboard-seek 2018-11-30 15:17:06 +09:00
Dean Herbert
271dcded3c
Merge branch 'master' into scoredatabase 2018-11-30 14:59:58 +09:00
Dean Herbert
ab621bd873 Toggle pause in editor with spacebar 2018-11-30 14:58:09 +09:00
Dean Herbert
0ee5a5bdb4 Add support for keyboard seeking in the editor 2018-11-30 14:57:25 +09:00
Dean Herbert
5254b07680 Merge remote-tracking branch 'upstream/master' into inter-column-movements 2018-11-30 11:57:53 +09:00
smoogipoo
a88b69ec43 Notify of existing imports 2018-11-28 20:19:35 +09:00
smoogipoo
219929eb47 Score -> ScoreInfo 2018-11-28 18:33:01 +09:00
smoogipoo
5b409a5ae5 Fix missed renames 2018-11-28 17:27:22 +09:00
smoogipoo
ed02847752 Beatmap -> BeatmapInfo + add foreign key 2018-11-28 17:26:39 +09:00
smoogipoo
2ee181daf7 Re-namespace replay-related classes 2018-11-28 17:20:37 +09:00
smoogipoo
09b79d736b Remove unused usings 2018-11-28 16:33:42 +09:00
smoogipoo
5fd6e6ca77 Re-namespacing 2018-11-28 16:12:57 +09:00