From e05ec184f03c4718b04ff5fc7926aab7fa10fd5f Mon Sep 17 00:00:00 2001 From: huangjian Date: Fri, 13 May 2022 10:51:53 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=8F=E6=B8=B8=E6=88=8F=E5=9D=91=E4=BD=8D?= =?UTF-8?q?=E6=95=B0=E9=87=8F=E5=88=A4=E6=96=AD=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../avroom/adapter/GameMicroViewAdapter.kt | 2 +- .../adapter/GameMiniMicroViewAdapter.kt | 2 +- .../erban/avroom/fragment/GameRoomFragment.kt | 4 ++-- .../manager/AvRoomDataManager.java | 24 +++++++++++++++---- 4 files changed, 23 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/com/yizhuan/erban/avroom/adapter/GameMicroViewAdapter.kt b/app/src/main/java/com/yizhuan/erban/avroom/adapter/GameMicroViewAdapter.kt index eb48d43f1..e98f5676e 100644 --- a/app/src/main/java/com/yizhuan/erban/avroom/adapter/GameMicroViewAdapter.kt +++ b/app/src/main/java/com/yizhuan/erban/avroom/adapter/GameMicroViewAdapter.kt @@ -92,7 +92,7 @@ class GameMicroViewAdapter(context: Context?) : BaseMicroViewAdapter(context) { } override fun getItemCount(): Int { - return max(AvRoomDataManager.get().mCurrentRoomInfo?.mgMicNum ?: 6, 6) + return AvRoomDataManager.get().mgMicNum } } \ No newline at end of file diff --git a/app/src/main/java/com/yizhuan/erban/avroom/adapter/GameMiniMicroViewAdapter.kt b/app/src/main/java/com/yizhuan/erban/avroom/adapter/GameMiniMicroViewAdapter.kt index 0232814ea..80e05808c 100644 --- a/app/src/main/java/com/yizhuan/erban/avroom/adapter/GameMiniMicroViewAdapter.kt +++ b/app/src/main/java/com/yizhuan/erban/avroom/adapter/GameMiniMicroViewAdapter.kt @@ -63,7 +63,7 @@ class GameMiniMicroViewAdapter(context: Context?) : BaseMicroViewAdapter(context } override fun getItemCount(): Int { - return max(AvRoomDataManager.get().mCurrentRoomInfo?.mgMicNum ?: 6, 6) + return AvRoomDataManager.get().mgMicNum } diff --git a/app/src/main/java/com/yizhuan/erban/avroom/fragment/GameRoomFragment.kt b/app/src/main/java/com/yizhuan/erban/avroom/fragment/GameRoomFragment.kt index 9ac5f8705..112c7bc5a 100644 --- a/app/src/main/java/com/yizhuan/erban/avroom/fragment/GameRoomFragment.kt +++ b/app/src/main/java/com/yizhuan/erban/avroom/fragment/GameRoomFragment.kt @@ -143,8 +143,8 @@ class GameRoomFragment : BaseRoomFragment(), } } - fun isSixMic(): Boolean { - return AvRoomDataManager.get().mCurrentRoomInfo?.mgMicNum == 6 + private fun isSixMic(): Boolean { + return AvRoomDataManager.get().mgMicNum == AvRoomDataManager.GAME_DEF_MIC_COUNT } override fun onSendMsgSuccess(msg: String?) { diff --git a/core/src/main/java/com/yizhuan/xchat_android_core/manager/AvRoomDataManager.java b/core/src/main/java/com/yizhuan/xchat_android_core/manager/AvRoomDataManager.java index 9a0e42542..685420d5c 100644 --- a/core/src/main/java/com/yizhuan/xchat_android_core/manager/AvRoomDataManager.java +++ b/core/src/main/java/com/yizhuan/xchat_android_core/manager/AvRoomDataManager.java @@ -73,6 +73,12 @@ public final class AvRoomDataManager { * VIP麦位的位置 */ public static final int POSITION_VIP_MIC = 999; + + /** + * 游戏房最小坑位数 + */ + public static final int GAME_DEF_MIC_COUNT = 6; + /************************************************公屏数据****************************************************/ private final static int MAX_MESSAGE_SIZE = 2000;//公屏最多展示条数 @@ -660,8 +666,8 @@ public final class AvRoomDataManager { * 获取坑上没人且没上锁且最大6个坑位的位置 */ public int findGamePosition() { - if (mMicQueueMemberMap != null && mMicQueueMemberMap.size() >= 6) { - for (int i = 0; i < 6; i++) { + if (mMicQueueMemberMap != null && mMicQueueMemberMap.size() >= getMgMicNum()) { + for (int i = 0; i < getMgMicNum(); i++) { int key = mMicQueueMemberMap.keyAt(i); RoomQueueInfo roomQueueInfo = mMicQueueMemberMap.valueAt(i); if (roomQueueInfo.mChatRoomMember == null && @@ -678,8 +684,8 @@ public final class AvRoomDataManager { */ public boolean isGamePlaying() { if (!isOpenGame()) return false; - if (mMicQueueMemberMap != null && mMicQueueMemberMap.size() >= 6) { - for (int i = 0; i < 6; i++) { + if (mMicQueueMemberMap != null && mMicQueueMemberMap.size() >= getMgMicNum()) { + for (int i = 0; i < getMgMicNum(); i++) { RoomQueueInfo roomQueueInfo = mMicQueueMemberMap.valueAt(i); if (roomQueueInfo.mChatRoomMember != null && roomQueueInfo.mChatRoomMember.getGameStatus() == GameStatus.STATUS_PLAYING) { @@ -710,7 +716,7 @@ public final class AvRoomDataManager { */ public boolean isGamePlaying(int micPosition) { if (!isOpenGame()) return false; - if (mMicQueueMemberMap != null && mMicQueueMemberMap.size() >= 6) { + if (mMicQueueMemberMap != null && mMicQueueMemberMap.size() >= getMgMicNum()) { RoomQueueInfo roomQueueInfo = mMicQueueMemberMap.get(micPosition); return roomQueueInfo != null && roomQueueInfo.mChatRoomMember != null && @@ -719,6 +725,14 @@ public final class AvRoomDataManager { return false; } + /** + * @return 游戏坑位, 最少6个, 低于6个不支持 + */ + public int getMgMicNum() { + return AvRoomDataManager.get().mCurrentRoomInfo == null ? GAME_DEF_MIC_COUNT : + Math.max(AvRoomDataManager.get().mCurrentRoomInfo.getMgMicNum(), GAME_DEF_MIC_COUNT); + } + /** * 获取坑上没人的位置,排除房主的位置,也就是-1 */