public virtual bool OnRecvClientBattleRetire(Coop_Model_ClientBattleRetire model) { isBattleRetire = true; if (isPartyOwner) { MonoBehaviourSingleton <CoopManager> .I.coopRoom.ownerRetire = true; } if (QuestManager.IsValidInGame() && MonoBehaviourSingleton <UIDeadAnnounce> .IsValid()) { MonoBehaviourSingleton <UIDeadAnnounce> .I.Announce(UIDeadAnnounce.ANNOUNCE_TYPE.RETIRE, GetPlayer()); } if (!isStageHost) { CoopStageObjectUtility.TransfarOwnerForClientObjects(clientId, MonoBehaviourSingleton <CoopManager> .I.coopStage.hostClientId); } if (QuestManager.IsValidInGameExplore()) { MonoBehaviourSingleton <QuestManager> .I.RemoveExplorePlayerStatus(this); } if (MonoBehaviourSingleton <CoopManager> .I.coopRoom.NeedsForceLeave()) { MonoBehaviourSingleton <CoopNetworkManager> .I.Close(1000, "Bye!", null); } return(true); }
public bool OnRecvRoomStageHostChanged(Coop_Model_RoomStageHostChanged model) { int hostClientId = MonoBehaviourSingleton <CoopManager> .I.coopStage.hostClientId; if (model.stgid == MonoBehaviourSingleton <CoopManager> .I.coopStage.stageId) { if (model.stghostid != 0) { CoopStageObjectUtility.TransfarOwnerForClientObjects(hostClientId, model.stghostid); } MonoBehaviourSingleton <CoopManager> .I.coopStage.SetHostClient(model.stghostid); } clients.ForEach(delegate(CoopClient c) { if (c.stageId == model.stgid) { c.SetStageHost(c.clientId == model.stghostid); } }); return(true); }