//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Monday, November 27, 2017
|
//--------------------------------------------------------
|
|
using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
using TableConfig;
|
|
|
namespace Snxxz.UI
|
{
|
|
public class TreasureDungeonMissionHintWin : Window
|
{
|
[SerializeField] RectTransform m_ContainerDisplay;
|
[SerializeField] Text m_Title;
|
[SerializeField] Text m_Description;
|
|
[SerializeField] Transform m_ContainerTreasure;
|
[SerializeField] Image m_Icon;
|
[SerializeField] ScreenMoveTo m_ScreenMoveTo;
|
|
TreasureModel model { get { return ModelCenter.Instance.GetModel<TreasureModel>(); } }
|
DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
|
|
#region Built-in
|
protected override void BindController()
|
{
|
}
|
|
protected override void AddListeners()
|
{
|
}
|
|
protected override void OnPreOpen()
|
{
|
m_ScreenMoveTo.gameObject.SetActive(false);
|
BossNotify.OnNotifyStateEvent += OnNotifyStateEvent;
|
BossShowModel.Instance.bossShowCompletedEvent += BossShowCompletedEvent;
|
}
|
|
protected override void OnAfterOpen()
|
{
|
}
|
|
protected override void OnPreClose()
|
{
|
BossNotify.OnNotifyStateEvent -= OnNotifyStateEvent;
|
BossShowModel.Instance.bossShowCompletedEvent -= BossShowCompletedEvent;
|
m_ContainerDisplay.gameObject.SetActive(true);
|
}
|
|
protected override void OnAfterClose()
|
{
|
}
|
|
protected override void OnActived()
|
{
|
base.OnActived();
|
if (!BossShowModel.Instance.BossShowing)
|
{
|
StartCoroutine(Co_TreasureBehaviour());
|
}
|
}
|
|
#endregion
|
|
private void BossShowCompletedEvent()
|
{
|
StartCoroutine(Co_TreasureBehaviour());
|
}
|
|
IEnumerator Co_TreasureBehaviour()
|
{
|
var allConfigs = Config.Instance.GetAllValues<TreasureConfig>();
|
var treasureId = 0;
|
foreach (var value in allConfigs)
|
{
|
if (value.MapId == PlayerDatas.Instance.baseData.MapID && value.LineId == PlayerDatas.Instance.baseData.dungeonLineId)
|
{
|
treasureId = value.ID;
|
break;
|
}
|
}
|
|
var config = Config.Instance.Get<TreasureConfig>(treasureId);
|
|
var dungeonId = dungeonModel.GetDungeonId(config.MapId, config.LineId);
|
var dungeonConfig = Config.Instance.Get<DungeonConfig>(dungeonId);
|
m_Title.text = dungeonConfig.FBName;
|
m_Description.text = dungeonConfig.Description;
|
|
m_Icon.SetSprite(config.Icon);
|
m_ScreenMoveTo.transform.SetParentEx(this.transform, Vector3.zero, Vector3.zero, Vector3.one);
|
m_ScreenMoveTo.gameObject.SetActive(true);
|
m_ScreenMoveTo.enabled = false;
|
|
yield return new WaitForSeconds(1.5f);
|
m_ScreenMoveTo.enabled = true;
|
m_ScreenMoveTo.transform.SetParent(m_ContainerTreasure);
|
m_ScreenMoveTo.destination = Vector2.zero;
|
m_ScreenMoveTo.Begin(false);
|
}
|
|
private void OnNotifyStateEvent(int _skillId, bool _state)
|
{
|
var _config = Config.Instance.Get<bossSkillTipsConfig>(_skillId);
|
if (_config != null && _config.mode == 2)
|
{
|
m_ContainerDisplay.gameObject.SetActive(!_state);
|
}
|
}
|
}
|
|
}
|
|
|
|
|