Demo
DB
DB Link
- Nuget Package Manager
- Microsoft.EntityFrameworkCore.SqlServer
- Microsoft.EntityFrameworkCore.Tools
- Microsoft.Extentions.Logging.Console
- Server\DB\AppDbContext.cs
- Server\bin\Debug\netcoreapp3.1\config.json
- Server\DB\DataModel.cs
- Server\Data\ConfigManager.cs
- Package Manager Console
- add-migration Init
- update-database
Test
- Server\Program.cs
Access
- Common\protoc-3.12.3-win64\bin\Protocol.proto
- Server\Session\ClientSession.cs
- Server\Packet\PacketHandler.cs
- Client\Assets\Scripts\Packet\PacketHandler.cs
Test
Player Link
Server
- Common\protoc-3.12.3-win64\bin\Protocol.proto
- Server\Packet\PacketHandler.cs
- Server\Session\ClientSession.cs
- Server\Session\ClientSession_PreGame.cs
- Server\DB\DataModel.cs
- Package Manager Console
Client
- Client\Assets\Scripts\Packet\PacketHandler.cs
Hp Link
- Common\protoc-3.12.3-win64\bin\Protocol.proto
- Server\Game\Object\Player.cs
- Server\Session\ClientSession_PreGame.cs
- Sever\DB\DbTransaction.cs
- Server\Utils\Extensions.cs
Test
- Server\Program.cs
Item Link
- Common\protoc-3.12.3-win64\bin\Protocol.proto
- Server\Data\Data.Contents.cs
- Server\Data\DataManager.cs
- Server\DB\AppDbContext.cs
- Server\DB\DataModel.cs
- Server\Game\Item\Inventory.cs
- Server\Game\Item\Item.cs
- Server\Object\Player.cs
- Server\Session\ClientSession_PreGame.cs
- Package Console Manager
- add-migration Item
-
update-database
- Client\Assets\Scripts\PacketHandler.cs
Test
- Server\Program.cs
Inventory
UI
- Asset Store
- RPG Inventory Icons
- Fantastic UI Starter Pack
- Arrange Folders
-
Make UI
-
UI_GameScene<
- UI_Stat
- UI_Inventory
- UI_Inventory_Item
Client
- Client\Assets\Scripts\Data\Data.Contents.cs
- Client\Assets\Scripts\Managers\DataManager.cs
- Client\Assets\Scripts\Managers\UIManager.cs
- Client\Assets\Scripts\Packet\PacketHandler.cs
- Client\Assets\Scripts\UI\Scenes\GameScene.cs
- Client\Assets\Scripts\UI\UI_Base.cs
- Client\Assets\Scripts\Contents\Item.cs
- Client\Assets\Scripts\Managers\Contents\InventoryManager.cs
- Client\Assets\Scripts\UI\Scene\UI_GameScene.cs
- Client\Assets\Scripts\UI\Scene\UI_Inventory.cs
- Client\Assets\Scripts\UI\Scene\UI_Inventory_Item.cs
- Client\Assets\Scripts\UI\Scene\UI_Stat.cs
Server
- Server\Game\Item\Item.cs
Test
Reward
Client
- Assets\Resources\Data\MonsterData.json
- Assets\Scripts\Controllers\MyPlayerController.cs
- Assets\Scripts\Data\Data.Contents.cs
- Assets\Scripts\Managers\Core\DataManager.cs
- Assets\Scripts\Packet\MyPlayerController.cs
Server
- Server\Data\Data.Contents.cs
- Server\Data\DataManager.cs
- Server\DB\DbTransaction.cs
- Server\Game\Item\Inventory.cs
- Server\Game\Object\Arrow.cs
- Server\Game\Object\GameObject.cs
- Server\Game\Object\Monster.cs
- Server\Game\Room\GameRoom.cs
Test
- Delete Item List
Item Using
Client
- Client\Assets\Scripts\Contents\Item.cs
- Client\Assets\Scripts\Controllers\MyPlayerController.cs
- Client\Assets\Scripts\Packet\PacketHandler.cs
- Client\Assets\Scripts\UI\Scene\UI_Inventory.cs
- Client\Assets\Scripts\UI\Scene\UI_Inventory_Item.cs
Server
- Server\DB\DataModel.cs
- Server\DB\DbTransaction.cs
- Server\DB\DbTransaction_Noti.cs
- Server\Game\Item\Inventory.cs
- Server\Game\Item\Item.cs
- Server\Game\Object\Arrow.cs
- Server\Game\Object\GameObject.cs
- Server\Game\Object\Monster.cs
- Server\Game\Object\Player.cs
- Server\Game\Room\GameRoom.cs
- Server\Game\Object\GameRoom_Battle.cs
- Server\Game\Object\GameRoom_Item.cs
- Server\Packet\PacketHandler.cs
DB
Test
Stat UI
- Stat UI Prefab
- Assets\Scripts\UI\Scene\UI_Stat.cs
- Assets\Scripts\Packet\PacketHandler.cs
- Assets\Scripts\Controllers\BaseController.cs
- Assets\Scripts\Controllers\MyPlayerController.cs
- Assets\Scripts\Managers\Core\DataManager.cs
- Assets\Scripts\Managers\Contents\ObjectManager.cs
- Assets\Sciprts\UI\Scene\UI_Inventory_Item.cs
- Add Library
Test
Large Structure Management
- Server\Job\Job.cs
- Server\Job\JobSerializer.cs
- Server\Object\Monster.cs
- Server\Room\GameRoom.cs
Game Structure change
- Server\Game\Room\GameLogic.cs
- Change RoomManager.cs to GameLogic.cs
- Server\Session\ClientSession.cs
- Server\Session\ClientSession_PreGame.cs
- Server\Session\SessionManager.cs
- Server\Program.cs
Zone
- Zone
- Current game manages whole section of game
- From now on, game should be managed by spilited section
-
This is good for performance because game doesn’t need to manage whole game
- Client\Assets\Scripts\Managers\Contents\ObjectManager.cs
- Server\Game\Object\Arrow.cs
- Server\Game\Object\GameObject.cs
- Server\Game\Object\Monster.cs
- Server\Game\Object\Player.cs
- Server\Game\Room\GameLogic.cs
- Server\Game\Room\GameRoom.cs
- Server\Game\Room\GameRoom_Battle.cs
- Server\Game\Room\Map.cs
- Server\Game\Room\VisionCube.cs
- Server\Game\Room\Zone.cs
- Server\Game\Session\ClientSession_PreGame.cs
- Server\Program.cs
Test
Massive Structure Final
- Multi Player
- [File]-[Build Settings]-[Player Settings]
- set
Api Compatibility Level
to.Net 4.x
- This is because of
NewtonJson
Package
- Map
- change the map more bigger
- [Tool]-[GenerateMap]
- Client\Assets\Scripts\Packet\PacketHandler.cs
- Server\Game\Object\Monster.cs
- Server\Game\Object\Monster.cs
- Server\Game\Room\Map.cs
- Server\Packet\PacketHandler.cs
- Server\Session\ClientSession.cs
Test
Dummy Client
- Create Console Application in Server Solution
- name is DummyClient
- set start project
Server
andDummyClient
- Common\protoc-3.12.3-win64\bin\GenProto.bat
- add DummyClient to make
Protocol.cs
andClientPacketManager.cs
- add DummyClient to make
-
run GenProto.bat
-
DummyClient\Packet\PacketHandler.cs
- DummyClient\Session\SessionManager.cs
- DummyClient\Session\ServerSession.cs
- DummyClient\Program.cs
- Server\DB\AppDbContext.cs
- Server\DB\DbTransaction.cs
- Remove Logs
- Server\Game\Object\Arrow.cs
- Remove Logs
- Server\Game\Object\Monster.cs
- Server\Room\GameRoom.cs
- Server\Session\ClientSession.cs
- Server\Session\SessionManager.cs
- ServerCore\Connector.cs
- ServerCore\Listener.cs
- ServerCore\Session.cs
Test
Account
Server
- Create new Asp.Net Core Web Application
- Application name is
AccountServer
- Remove
WeatherForecast~
- Application name is
- Download Nuget Packeage
- Microsoft.EntityFrameworkCore.Dsign
- Microsoft.EntityFrameworkCore.SqlServer
- AccountServer\DB\AppDbContext.cs
- AccountServer\DB\DataModel.cs
- AccountServer\DB\WebPacket.cs
- AccountServer\Properties\launchSettings.json
- Create Database
- name is
AccountDB
- copy
ConnectionStrings
and paste inappsettings.json
- name is
- AccountServer\Properties\appsettings.json
- AccountServer\Properties\Extensions.cs
- AccountServer\Startup.cs
- Migration and Update Database
- Create API Controller
- name is
AccountController.cs
- name is
- AccountServer\Controller\AccountController.cs
- Client\Assets\Scripts\Managers\Contents\WebManager.cs
- Client\Assets\Scripts\Managers\Managers.cs
- Client\Assets\Scripts\Scenes\GameScene.cs
- Client\Assets\Scripts\Web\WebPacket.cs
Test
Client
- Download Asset Store
- Easy Profile System(But not Support now!!)
- Create Scene
- copy and paste the
Game
- change name to
Login
- change game object name to
LoginScnene
- copy and paste the
- Add Prefab
- move
LoginScreen
in UniBit folder toPrefab\UI\Scene
- change name to
UI_LoginScnene
- Change Fields
- move
- Client\Assets\Scripts\Managers\Contents\NetworkManager.cs
- Client\Assets\Scripts\Managers\Managers.cs
- Client\Assets\Scripts\Scenes\GameScene.cs
- Client\Assets\Scripts\Scenes\LoginScene.cs
- Client\Assets\Scripts\UI\Scene\UI_LoginScene.cs
- Client\Assets\Scripts\Web\WebPacket.cs
Test
Shared DB
- Create a new class library
- name is
SharedDB
- download nuget packages
- name is
- SharedDB\DataModel.cs
- SharedDB\SharedDbContext.cs
- DB Migration
- Server\Session\SessionManager.cs
- Server\Utils\Extension.cs
- Server\Program.cs
- DummyClient\Program.cs
- AccountServer\Controllers\AccountController.cs
- AccountServer\DB\WebPacket.cs
- AccountServer\Extension.cs
- AccountServer\Startup.cs
- Client\Assets\Scripts\Managers\Contents\NetworkManager.cs
- Client\Assets\Scripts\Managers\Contents\WebManager.cs
- Client\Assets\Scripts\Web\WebPacket.cs
Test
Server Selection
- Create Select Server
- Client\Assets\Scripts\Managers\Contents\NetworkManager.cs
- Client\Assets\Scripts\UI\Popup\UI_SelectServerPopup.cs
- Client\Assets\Scripts\UI\Popup\UI_SelectServerPopup_Item.cs
- Client\Assets\Scripts\UI\Scene\UI_LoginScene.cs