Merge branch 'feature/game' into test/2.0.0

This commit is contained in:
Max
2023-12-27 15:07:07 +08:00
9 changed files with 166 additions and 125 deletions

Binary file not shown.

Binary file not shown.

View File

@@ -53,6 +53,9 @@ import com.nnbc123.core.room.anotherroompk.ShowUserInfoDialogEvent
import com.nnbc123.core.room.bean.RoomContributeDataInfo
import com.nnbc123.core.room.bean.RoomContributeUserInfo
import com.nnbc123.core.room.bean.RoomInfo
import com.nnbc123.core.room.bean.RoomModeType
import com.nnbc123.core.room.game.GameInfo
import com.nnbc123.core.room.game.GameModel
import com.nnbc123.core.room.model.RoomContributeListModel
import com.nnbc123.core.room.queuing_mic.event.HasAnimationEffect
import com.nnbc123.core.share.ShareModel
@@ -66,6 +69,7 @@ import com.nnbc123.core.utils.net.RxHelper
import com.nnbc123.library.rxbus.RxBus
import com.nnbc123.library.utils.FormatUtils
import com.nnbc123.library.utils.JavaUtil
import com.nnbc123.library.utils.ResUtil
import com.nnbc123.library.utils.SingleToastUtil
import com.trello.rxlifecycle3.android.FragmentEvent
import io.reactivex.SingleObserver
@@ -240,16 +244,16 @@ class HomePartyFragment : BaseFragment(), View.OnClickListener, OnShareDialogIte
}
//这里的2和4是服务端定义的错误状态 关闭排麦模式和关闭PK模式!
private val isShowChangeGame: Boolean
get() = false
/* RoomInfo currentRoomInfo = AvRoomDataManager.get().mCurrentRoomInfo;
private val isShowChangeGame: Boolean get() {
val currentRoomInfo = AvRoomDataManager.get().mCurrentRoomInfo;
return currentRoomInfo != null &&
AvRoomDataManager.get().isRoomOwner() &&
currentRoomInfo.getIsPermitRoom() != 1 &&
currentRoomInfo.getType() != RoomInfo.ROOM_TYPE_SINGLE &&
(currentRoomInfo.getRoomModeType() == RoomModeType.NORMAL_MODE ||
currentRoomInfo.getRoomModeType() == 2 ||
currentRoomInfo.getRoomModeType() == 4);*/
currentRoomInfo.getRoomModeType() == 4)
}
fun setRoomBg(roomInfo: RoomInfo?) {
if (_binding == null) return
@@ -421,6 +425,34 @@ class HomePartyFragment : BaseFragment(), View.OnClickListener, OnShareDialogIte
setupFollowRoom()
FOLLOW_ROOM_TYPE = if (AvRoomDataManager.get().isRoomFans) "2" else "1"
setIdOnlineData()
if (isShowChangeGame) {
initRvGame()
binding.llChangeGame.visibility = View.VISIBLE
if (AvRoomDataManager.get().isOpenGame) {
binding.tvCurrGame.text = it.mgName
} else {
binding.tvCurrGame.text = "扩列交友"
}
GameModel.getGameList()
.compose(bindToLifecycle())
.subscribe { gameInfos ->
if (AvRoomDataManager.get().isOpenGame) {
for (i in gameInfos.indices) {
val gameInfo: GameInfo = gameInfos[i]
if (gameInfo.mgId.toLongOrNull() == it.mgId) {
gameInfos.removeAt(i)
break
}
}
val gameInfo = GameInfo()
gameInfo.name = "扩列交友"
gameInfos.add(gameInfo)
}
gameAdapter?.setNewData(gameInfos)
}
} else {
binding.llChangeGame.setVisibility(View.GONE)
}
}
}
@@ -520,8 +552,8 @@ class HomePartyFragment : BaseFragment(), View.OnClickListener, OnShareDialogIte
var imageView: ImageView
val avatarList = listOf(
binding.ivRank0,
binding.ivRank1,
binding.ivRank2
// binding.ivRank1,
// binding.ivRank2
)
for (i in avatarList.indices) {
imageView = avatarList[i]
@@ -538,13 +570,13 @@ class HomePartyFragment : BaseFragment(), View.OnClickListener, OnShareDialogIte
private fun updateRoomRanks(data: List<RoomContributeUserInfo>) {
val avatarList = arrayListOf(
binding.ivRank0,
binding.ivRank1,
binding.ivRank2
// binding.ivRank1,
// binding.ivRank2
)
val stvList = arrayListOf(
binding.stvRank0,
binding.stvRank1,
binding.stvRank2
// binding.stvRank1,
// binding.stvRank2
)
for (i in 0 until avatarList.size) {
avatarList[i].loadAvatar(data.getOrNull(i)?.avatar)

View File

@@ -8,8 +8,8 @@ import com.nnbc123.app.BuildConfig;
public class AppConfig {
protected static final String APP_ID = "1467745235064848385";
protected static final String APP_KEY = "BvjLDpWol7OihaYeFebuepx1bZu6cxU5";
protected static final String APP_ID = "1735573973195948033";
protected static final String APP_KEY = "r23OylNqnjOBPM0SDgVBfq6RCKMWAc0X";
protected static boolean isTestEnv = BuildConfig.DEBUG;
}

View File

@@ -34,7 +34,7 @@ class GameDelegate(val activity: Activity, val container: FrameLayout, var mgId:
private val TAG = "GameDelegate"
private var APP_CODE = ""
private val mRoomID = AvRoomDataManager.get().roomUid.toString()
private val mRoomID :String get() = AvRoomDataManager.get().roomUid.toString()
private val mLanguage = "zh-CN" //语言
//调用游戏SDK的接口,成功加载游戏后可用:
@@ -84,7 +84,10 @@ class GameDelegate(val activity: Activity, val container: FrameLayout, var mgId:
}
fun updateGame(mgId: Long?) {
if (mgId == null || mgId == 0L || mgId == mMGID || iSudFSTAPP == null) return
if (mgId == null || mgId == 0L) return
if (mgId == mMGID && iSudFSTAPP != null) {
return
}
mMGID = mgId
updateMyMicQueue(GameStatus.STATUS_NOT_JOIN)
loadMG(activity, mUid, mRoomID, APP_CODE, mMGID, mLanguage)
@@ -165,7 +168,9 @@ class GameDelegate(val activity: Activity, val container: FrameLayout, var mgId:
) {
iSudFSTAPP?.destroyMG()
iSudFSTAPP = SudMGP.loadMG(activity, userID, roomID, code, mgID, language, mISudFSMMG)
addGameView(iSudFSTAPP!!.gameView)
iSudFSTAPP?.apply {
addGameView(gameView)
}
}
/**
@@ -226,6 +231,9 @@ class GameDelegate(val activity: Activity, val container: FrameLayout, var mgId:
LogUtils.d(p0)
}
override fun onGameLoadingProgress(p0: Int, p1: Int, p2: Int) {
}
override fun onGameStarted() {
}

View File

@@ -169,12 +169,62 @@
android:id="@+id/icon_room_vip"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_gravity="center_vertical"
android:layout_marginTop="2.5dp"
android:layout_marginEnd="3dp"
android:scaleType="fitXY"
android:src="@drawable/ic_vip_room_bottom"
android:visibility="gone" />
<LinearLayout
android:id="@+id/ll_change_game"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_marginEnd="6dp"
android:background="@drawable/bg_room_select_game"
android:orientation="vertical"
android:paddingStart="8dp"
android:paddingTop="2dp"
android:paddingEnd="8dp"
android:paddingBottom="2dp"
android:visibility="gone"
tools:visibility="visible">
<LinearLayout
android:id="@+id/ll_select_game"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_curr_game"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:includeFontPadding="true"
android:textColor="@color/white"
android:textSize="15sp"
tools:text="飞到敌人" />
<ImageView
android:id="@+id/iv_change_game_arrow"
android:layout_width="20dp"
android:layout_height="10dp"
android:scaleType="center"
android:src="@drawable/ic_room_arrow_type_below" />
</LinearLayout>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_game"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="4dp"
android:visibility="gone" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll_rank"
android:layout_width="wrap_content"
@@ -215,130 +265,81 @@
</FrameLayout>
<FrameLayout
android:layout_width="29dp"
android:layout_height="35dp">
<!-- <FrameLayout-->
<!-- android:layout_width="29dp"-->
<!-- android:layout_height="35dp">-->
<ImageView
android:id="@+id/iv_rank_1"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_gravity="bottom|end"
android:layout_marginBottom="2dp"
android:src="@drawable/default_avatar" />
<!-- <ImageView-->
<!-- android:id="@+id/iv_rank_1"-->
<!-- android:layout_width="24dp"-->
<!-- android:layout_height="24dp"-->
<!-- android:layout_gravity="bottom|end"-->
<!-- android:layout_marginBottom="2dp"-->
<!-- android:src="@drawable/default_avatar" />-->
<View
android:layout_width="29dp"
android:layout_height="33dp"
android:background="@drawable/ic_room_rank1" />
<!-- <View-->
<!-- android:layout_width="29dp"-->
<!-- android:layout_height="33dp"-->
<!-- android:background="@drawable/ic_room_rank1" />-->
<com.coorchice.library.SuperTextView
android:id="@+id/stv_rank1"
android:layout_width="22dp"
android:layout_height="8dp"
android:layout_gravity="bottom|end"
android:gravity="center"
android:includeFontPadding="false"
android:text="0"
android:textColor="#2E527A"
android:textSize="7dp"
app:corner="10dp"
app:solid="#91C8FA" />
<!-- <com.coorchice.library.SuperTextView-->
<!-- android:id="@+id/stv_rank1"-->
<!-- android:layout_width="22dp"-->
<!-- android:layout_height="8dp"-->
<!-- android:layout_gravity="bottom|end"-->
<!-- android:gravity="center"-->
<!-- android:includeFontPadding="false"-->
<!-- android:text="0"-->
<!-- android:textColor="#2E527A"-->
<!-- android:textSize="7dp"-->
<!-- app:corner="10dp"-->
<!-- app:solid="#91C8FA" />-->
</FrameLayout>
<!-- </FrameLayout>-->
<FrameLayout
android:layout_width="29dp"
android:layout_height="35dp"
android:layout_marginEnd="5dp">
<!-- <FrameLayout-->
<!-- android:layout_width="29dp"-->
<!-- android:layout_height="35dp"-->
<!-- android:layout_marginEnd="5dp">-->
<ImageView
android:id="@+id/iv_rank_2"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_gravity="bottom|end"
android:layout_marginBottom="2dp"
android:src="@drawable/default_avatar" />
<!-- <ImageView-->
<!-- android:id="@+id/iv_rank_2"-->
<!-- android:layout_width="24dp"-->
<!-- android:layout_height="24dp"-->
<!-- android:layout_gravity="bottom|end"-->
<!-- android:layout_marginBottom="2dp"-->
<!-- android:src="@drawable/default_avatar" />-->
<View
android:layout_width="29dp"
android:layout_height="33dp"
android:background="@drawable/ic_room_rank2" />
<!-- <View-->
<!-- android:layout_width="29dp"-->
<!-- android:layout_height="33dp"-->
<!-- android:background="@drawable/ic_room_rank2" />-->
<com.coorchice.library.SuperTextView
android:id="@+id/stv_rank2"
android:layout_width="22dp"
android:layout_height="8dp"
android:layout_gravity="bottom|end"
android:gravity="center"
android:includeFontPadding="false"
android:text="0"
android:textColor="#824B2C"
android:textSize="7dp"
app:corner="10dp"
app:solid="#F0A47B" />
<!-- <com.coorchice.library.SuperTextView-->
<!-- android:id="@+id/stv_rank2"-->
<!-- android:layout_width="22dp"-->
<!-- android:layout_height="8dp"-->
<!-- android:layout_gravity="bottom|end"-->
<!-- android:gravity="center"-->
<!-- android:includeFontPadding="false"-->
<!-- android:text="0"-->
<!-- android:textColor="#824B2C"-->
<!-- android:textSize="7dp"-->
<!-- app:corner="10dp"-->
<!-- app:solid="#F0A47B" />-->
</FrameLayout>
<!-- </FrameLayout>-->
</LinearLayout>
<LinearLayout
android:id="@+id/ll_change_game"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_marginEnd="6dp"
android:background="@drawable/bg_room_select_game"
android:orientation="vertical"
android:paddingStart="8dp"
android:paddingTop="2dp"
android:paddingEnd="8dp"
android:paddingBottom="2dp"
android:visibility="gone"
tools:visibility="gone">
<LinearLayout
android:id="@+id/ll_select_game"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_curr_game"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:includeFontPadding="true"
android:textColor="@color/white"
android:textSize="15sp"
tools:text="飞到敌人" />
<ImageView
android:id="@+id/iv_change_game_arrow"
android:layout_width="20dp"
android:layout_height="10dp"
android:scaleType="center"
android:src="@drawable/ic_room_arrow_type_below" />
</LinearLayout>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_game"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="4dp"
android:visibility="gone" />
</LinearLayout>
<ImageView
android:id="@+id/room_more"
android:layout_width="25dp"
android:layout_height="25dp"
android:layout_gravity="bottom"
android:layout_marginStart="8dp"
android:layout_marginTop="5dp"
android:layout_marginEnd="13dp"
android:scaleType="center"
android:src="@drawable/icon_room_more" />

View File

@@ -34,7 +34,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_marginTop="75dp"
android:layout_marginTop="85dp"
android:orientation="vertical">
<TextView

View File

@@ -18,7 +18,7 @@ object GameModel : BaseModel() {
.compose(RxHelper.handleSchAndExce())
}
fun getGameList(): Single<List<GameInfo>> {
fun getGameList(): Single<ArrayList<GameInfo>> {
return api.getGameList()
.compose(RxHelper.handleBeanData())
.compose(RxHelper.handleSchAndExce())
@@ -34,7 +34,7 @@ object GameModel : BaseModel() {
*/
@POST("/miniGame/record/miniGameList")
fun getGameList(
): Single<ServiceResult<List<GameInfo>>>
): Single<ServiceResult<ArrayList<GameInfo>>>
/**
*

View File

@@ -568,7 +568,7 @@ public class RoomBaseModel extends BaseModel implements IRoomBaseModel {
*/
@Override
public Single<String> updateMyMicQueue(int micPosition, String roomId, UserInfo userInfo) {
return updateMyMicQueue(micPosition, roomId, userInfo);
return updateMyMicQueue(micPosition, roomId, userInfo, false);
}
@Override