Guild PVP
Guild Battle
1. Create Guild Team
2. Battle Matching
3. Start Game
4.Init Game
5.Sync Gems





Guild Battle
Create Team Room
Create Guild Team
ConnectUsingSettings
connected
Yes
No
JoinLobby
Create Guild Team
Create Room
[roomName]
DateTime.Second + ServerId + PlayerKey
[roomOptions]
MaxPlayers = 3
CustomRoomProperties[ "pk" ] = PlayerKey
[ typedLobby]
"GuildBattle" + ServerId + GuildKey
Join Room
[roomName]
Create Guild Team
[Event] OnPhotonCustomRoomPropertiesChanged
Start Button
Room.SetCustomProperties[ "GoBattle" ]
Battle Matching
if ( Room.CustomProperties[ "GoBattle" ] )
Guild Battle
Battle Matching
Battle Matching
setLeader
setTeammate
Player.SetCustomProperties[ "READY" ]
[Event] OnPhotonCustomRoomPropertiesChanged
if ( EveryPlayer.CustomProperties[ "READY" ] )
Leave Room
&
JoinBattleLobby
Battle Matching
CreateRoom
JoinRandomRoom
Yes
No
JoinRoom
Leader
[roomName]
DateTime + ServerId + PlayerKey
[roomOptions]
MaxPlayers = 6
CustomRoomProperties[ "C0" ] = GuildKey
PublishUserId = true
[typedLobby]
Name = "GuildBattleReal"
Type = LobbyType.SqlLobby
[expectedUsers]
TeammateList
[expectedMaxPlayers]
Team.PlayerCount
[matchingType]
RandomMatching
[typedLobby]
Name = "GuildBattleReal"
Type = LobbyType.SqlLobby
[sqlLobbyFilter]
"C0 != GuildKey"
[expectedUsers]
TeammateList
Battle Matching
FindFriends(Leader)
Others
For Loop ( 20 ) {
}
[Event] OnUpdatedFriendList
if ( Leader.Room )
JoinRoom(Leader.Room)
Guild Battle
Start Game
Start Game
Wait...
Team >=2
Player
>= ExpectedUsers
Wait...
False
True
Room.CustomProperties["START_GAME"]
True
False
[Event] OnOtherJoinedRoomCallback
[Event] OnOtherLeftRoomCallback
Room Master
Guild Battle
Init Game
Init Game
New game mode (CoopPVP) for guild battle
BattleController
1.Init CoopPVPData
2.New CoopPVP game rule
3.New RPC for creating hero
Init Game
State
game mode
Init CoopData
Wait...
Wait other player inBattle
Send Creating hero RPC
CoopPVP
Else
Wait for photon RPC
Init hero
Guild Battle
Sync Gems
Sync Gems
ReGemController
New destroy gems logic for coop pvp by mater client
InGame_BattleToGemBridge
Sync team's gempool logic by team master
1.Check destroy logic
2.Send gemslot to ally and enemy
1.Get team masters gempool rule
2.Send rule to ally
Sync Gems
Player link gem line
Get next team player
Send RPC to master client
Player
Master
Get destroy gem RPC
Do destroy gem logic
Send destroy line and
gem to all player
ReGemController
Sync Gems
Get gem pool rule
Send RPC to other team client
BattleToGemBridge
Guild PVP
By willier15987
Guild PVP
- 251