示例#1
0
 public override void OnMasterClientSwitched(PhotonPlayer newMasterClient)
 {
     base.OnMasterClientSwitched(newMasterClient);
     if (GetRoomState() == RoomState.Playing)
     {
         Characters.Clear();
         var characters = FindObjectsOfType <BaseNetworkGameCharacter>();
         foreach (var character in characters)
         {
             Characters.Add(character);
         }
         if (gameRule != null)
         {
             gameRule.OnMasterChange(this);
         }
     }
     startUpdateGameRule = true;
 }
 public override void OnMasterClientSwitched(Player newMasterClient)
 {
     base.OnMasterClientSwitched(newMasterClient);
     if (newMasterClient.ActorNumber != PhotonNetwork.LocalPlayer.ActorNumber)
     {
         MasterStarted = false;
         return;
     }
     if (GetRoomState() == RoomState.Playing)
     {
         Characters.Clear();
         var characters = FindObjectsOfType <BaseNetworkGameCharacter>();
         foreach (var character in characters)
         {
             Characters.Add(character);
         }
         if (gameRule != null)
         {
             gameRule.OnMasterChange(this);
         }
     }
     MasterStarted = true;
 }