244 lines
6.8 KiB
C#
244 lines
6.8 KiB
C#
|
using System.Collections;
|
|||
|
using System.Collections.Generic;
|
|||
|
using UnityEngine;
|
|||
|
using GCGame.Table;
|
|||
|
using Module.Log;
|
|||
|
using UnityEngine.UI;
|
|||
|
using Games.Events;
|
|||
|
using System;
|
|||
|
|
|||
|
public class ExerciseRoomPanel : MonoBehaviour {
|
|||
|
|
|||
|
public static ExerciseRoomPanel Instance;
|
|||
|
void Awake()
|
|||
|
{
|
|||
|
Instance = this;
|
|||
|
}
|
|||
|
|
|||
|
private void OnDestroy()
|
|||
|
{
|
|||
|
Instance = null;
|
|||
|
}
|
|||
|
|
|||
|
public Text _SceneName;
|
|||
|
public Text _RecommendMonsterName;
|
|||
|
public Text _RemainAwardTime;
|
|||
|
|
|||
|
private void OnEnable()
|
|||
|
{
|
|||
|
OnBtnShow();
|
|||
|
ReqCurSceneInfo();
|
|||
|
InitCurSceneNameInfo();
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
void ReqCurSceneInfo()
|
|||
|
{
|
|||
|
ReqExerciseRoomInfo req = new ReqExerciseRoomInfo();
|
|||
|
req.flag = 1;
|
|||
|
req.SendMsg();
|
|||
|
}
|
|||
|
|
|||
|
//当前场景名称(RetEnterExerciseRoom 成功的时候获取当前场景ID )
|
|||
|
void InitCurSceneNameInfo()
|
|||
|
{
|
|||
|
var sceneClass = TableManager.GetSceneClassByID(GameManager.gameManager.RunningScene, 0);
|
|||
|
if(sceneClass == null)
|
|||
|
{
|
|||
|
LogModule.ErrorLog("ScenClass is null, id : " + GameManager.gameManager.RunningScene);
|
|||
|
return;
|
|||
|
}
|
|||
|
RefreshRecommendInfo();
|
|||
|
}
|
|||
|
|
|||
|
//当前推荐(等级变化的时候这边需要刷新)
|
|||
|
string _MonsterPos = null;
|
|||
|
int _RecommondMonsterId = -1;
|
|||
|
public void RefreshRecommendInfo()
|
|||
|
{
|
|||
|
var fubenId = -1;
|
|||
|
foreach (var fuben in TableManager.GetFuben())
|
|||
|
{
|
|||
|
if (fuben.Value.GetSceneIdbyIndex(0) == GameManager.gameManager.RunningScene)
|
|||
|
{
|
|||
|
fubenId = fuben.Value.Id;
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
var exerciseRoomTab = TableManager.GetExerciseRoomByID(fubenId, 0);
|
|||
|
if(exerciseRoomTab == null)
|
|||
|
{
|
|||
|
LogModule.ErrorLog("exerciseRoomTab is null , id : " + GameManager.gameManager.RunningScene);
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
_SceneName.text = TableManager.GetSceneClassByID(GameManager.gameManager.RunningScene, 0).Name;
|
|||
|
|
|||
|
var mainPlayerLevel = GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.Level;
|
|||
|
|
|||
|
var hasRecommend = false;
|
|||
|
for(int index = 0; index < exerciseRoomTab.getLevelCount(); index++)
|
|||
|
{
|
|||
|
if (exerciseRoomTab.GetLevelbyIndex(index) == -1)
|
|||
|
break;
|
|||
|
|
|||
|
if (mainPlayerLevel < exerciseRoomTab.GetLevelbyIndex(index))
|
|||
|
{
|
|||
|
hasRecommend = true;
|
|||
|
var recommondIndex = Mathf.Clamp(index - 1, 0, exerciseRoomTab.getLevelCount() - 1);
|
|||
|
_MonsterPos = exerciseRoomTab.GetPosbyIndex(recommondIndex);
|
|||
|
_RecommondMonsterId = exerciseRoomTab.GetMonsterIdbyIndex(recommondIndex);
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
if (!hasRecommend)
|
|||
|
{
|
|||
|
_MonsterPos = exerciseRoomTab.GetPosbyIndex(exerciseRoomTab.getLevelCount() - 1);
|
|||
|
_RecommondMonsterId = exerciseRoomTab.GetMonsterIdbyIndex(exerciseRoomTab.getLevelCount() - 1);
|
|||
|
}
|
|||
|
|
|||
|
if(_RecommondMonsterId == -1)
|
|||
|
{
|
|||
|
LogModule.ErrorLog("recommondMonsterId is -1");
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
var roleBaseAttr = TableManager.GetRoleBaseAttrByID(_RecommondMonsterId, 0);
|
|||
|
if(roleBaseAttr == null)
|
|||
|
{
|
|||
|
LogModule.ErrorLog("roleBaseAttr is null, id : " + _RecommondMonsterId);
|
|||
|
return;
|
|||
|
}
|
|||
|
_RecommendMonsterName.text = roleBaseAttr.Name;
|
|||
|
}
|
|||
|
|
|||
|
public void OnMonsterName()
|
|||
|
{
|
|||
|
GameEvent gameEvent = new GameEvent();
|
|||
|
gameEvent.Reset();
|
|||
|
gameEvent.EventID = Games.GlobeDefine.GameDefine_Globe.EVENT_DEFINE.EVENT_KILLMONSTER;
|
|||
|
|
|||
|
AutoSearchPoint point = new AutoSearchPoint(GameManager.gameManager.RunningScene, float.Parse(_MonsterPos.Split('|')[0]), float.Parse(_MonsterPos.Split('|')[1]));
|
|||
|
if (GameManager.gameManager && GameManager.gameManager.AutoSearch)
|
|||
|
{
|
|||
|
Tab_RoleBaseAttr role = TableManager.GetRoleBaseAttrByID(_RecommondMonsterId, 0);
|
|||
|
GameManager.gameManager.AutoSearch.BuildPath(point);
|
|||
|
if (role != null)
|
|||
|
{
|
|||
|
GameManager.gameManager.AutoSearch.Path.AutoSearchTargetName = role.Name;
|
|||
|
GameManager.gameManager.AutoSearch.Path.FinishCallBackEvent = gameEvent;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//刷新当前剩余奖励次数
|
|||
|
public void RefreshRemainAwardTime(int remainTime = 0)
|
|||
|
{
|
|||
|
_RemainAwardTime.text = remainTime + "";
|
|||
|
}
|
|||
|
|
|||
|
public void OnExitBtn()
|
|||
|
{
|
|||
|
MessageBoxLogic.OpenOKCancelBox(StrDictionary.GetClientDictionaryString("#{2345}"), "", delegate() {
|
|||
|
ReqExitExerciseRoom req = new ReqExitExerciseRoom();
|
|||
|
req.flag = 1;
|
|||
|
req.SendMsg();
|
|||
|
});
|
|||
|
}
|
|||
|
|
|||
|
#region tween operation
|
|||
|
public ObjectTween _MoveTo;
|
|||
|
public RectTransform _TitleBGRec;
|
|||
|
public GameObject _ShowBtn;
|
|||
|
public GameObject _HideBtn;
|
|||
|
public GameObject _InfoPanel;
|
|||
|
|
|||
|
private bool isShow = false;
|
|||
|
public void OnBtnShow()
|
|||
|
{
|
|||
|
ShowPanel();
|
|||
|
_ShowBtn.SetActive(false);
|
|||
|
_HideBtn.SetActive(true);
|
|||
|
isShow = true;
|
|||
|
L_ShowExpBtn();
|
|||
|
}
|
|||
|
|
|||
|
public void OnBtnHide()
|
|||
|
{
|
|||
|
HidePanel();
|
|||
|
_ShowBtn.SetActive(true);
|
|||
|
_HideBtn.SetActive(false);
|
|||
|
isShow = false;
|
|||
|
}
|
|||
|
|
|||
|
public void OnTitleBtn()
|
|||
|
{
|
|||
|
if (isShow)
|
|||
|
{
|
|||
|
OnBtnHide();
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
OnBtnShow();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public void ShowPanel()
|
|||
|
{
|
|||
|
_MoveTo.Reset();
|
|||
|
_MoveTo.destantPos = new Vector3(0, 0, 0);
|
|||
|
|
|||
|
GCGame.Utils.HideMainTopRightUI();
|
|||
|
_TitleBGRec.sizeDelta = new Vector2(300, _TitleBGRec.sizeDelta.y);
|
|||
|
_InfoPanel.gameObject.SetActive(true);
|
|||
|
}
|
|||
|
|
|||
|
public void HidePanel()
|
|||
|
{
|
|||
|
_MoveTo.Reset();
|
|||
|
_MoveTo.destantPos = new Vector3(0, -192, 0);
|
|||
|
|
|||
|
GCGame.Utils.ShowMainTopRightUI();
|
|||
|
_TitleBGRec.sizeDelta = new Vector2(240, _TitleBGRec.sizeDelta.y);
|
|||
|
_InfoPanel.gameObject.SetActive(false);
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
|
|||
|
#region 试炼谷(副本id=6200到6210)增加一个界面按钮
|
|||
|
public GameObject L_OutLine;
|
|||
|
public void L_ShowExpBtn()
|
|||
|
{
|
|||
|
var L_fubenId = -1;
|
|||
|
foreach (var fuben in TableManager.GetFuben())
|
|||
|
{
|
|||
|
if (fuben.Value.GetSceneIdbyIndex(0) == GameManager.gameManager.RunningScene)
|
|||
|
{
|
|||
|
L_fubenId = fuben.Value.Id;
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
for (int SceneId = 6200; SceneId <= 6210; SceneId++)
|
|||
|
{
|
|||
|
|
|||
|
if (L_fubenId == SceneId)
|
|||
|
{
|
|||
|
L_OutLine.SetActive(true);
|
|||
|
return;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
L_OutLine.SetActive(false);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
//按钮点击事件
|
|||
|
public void L_OnShowUseItemPanelBtnClick()
|
|||
|
{
|
|||
|
DailyCopyInfoItemsPanelCtr.L_Show(70);
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
}
|