//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Saturday, September 09, 2017
|
//--------------------------------------------------------
|
|
using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
using TableConfig;
|
using UnityEngine;
|
using UnityEngine.UI;
|
namespace Snxxz.UI {
|
|
public class SkillDetailsWin : Window
|
{
|
private RectTransform winRt;
|
private Button btnPopSkillClose;
|
private Image imgSkill;
|
private Text textSkillSource;
|
private Text textSkillName;
|
private Text destText;
|
private ScrollerController m_Control;
|
|
[SerializeField] RectTransform m_ContaienrFightPower;
|
[SerializeField] Text m_FightPower;
|
|
public void ShowSkillDetails()
|
{
|
textSkillName.gameObject.SetActive(true);
|
imgSkill.SetSprite(SkillDetails.skillModel.IconName);
|
switch (SkillDetails.sourceType) {
|
case SkillDetails.SkillSourceType.MagicianSkill: {
|
textSkillName.text = SkillDetails.skillModel.SkillName;
|
textSkillSource.text = SkillDetails.skillSource;
|
}
|
break;
|
case SkillDetails.SkillSourceType.PetSkill: {
|
if (SkillDetails.skillModel.CoolDownTime > 0)
|
{
|
textSkillName.text = StringUtility.Contact("CD:", (float)SkillDetails.skillModel.CoolDownTime / 1000, Language.Get("RealmWin_Bewrite_35"));
|
}
|
else
|
{
|
textSkillName.gameObject.SetActive(false);
|
}
|
textSkillSource.text = SkillDetails.skillModel.SkillName;
|
}
|
break;
|
case SkillDetails.SkillSourceType.ViewHorsePet:
|
{
|
if (SkillDetails.skillModel.CoolDownTime > 0)
|
{
|
textSkillName.text = StringUtility.Contact("CD:", (float)SkillDetails.skillModel.CoolDownTime / 1000, Language.Get("RealmWin_Bewrite_35"));
|
}
|
else
|
{
|
textSkillName.gameObject.SetActive(false);
|
}
|
textSkillSource.text = SkillDetails.skillModel.SkillName;
|
}
|
break;
|
case SkillDetails.SkillSourceType.BlastFurnace:
|
{
|
textSkillName.text = SkillDetails.skillModel.SkillName;
|
textSkillSource.text = SkillDetails.skillSource;
|
}
|
break;
|
case SkillDetails.SkillSourceType.DogzSkill:
|
{
|
textSkillSource.text = SkillDetails.skillModel.SkillName;
|
textSkillName.text = Language.Get("PlayerDetail_Level", SkillDetails.skillModel.SkillLV);
|
}
|
break;
|
|
}
|
|
m_Control.Refresh();
|
for (int i = 0; i < SkillDetails.infoList.Count; i++) {
|
m_Control.AddCell(ScrollerDataType.Header, i);
|
}
|
m_Control.Restart();
|
|
float size = 185;
|
m_ContaienrFightPower.gameObject.SetActive(SkillDetails.fightPower > 0);
|
if (SkillDetails.fightPower > 0)
|
{
|
m_FightPower.text = StringUtility.Contact("+", SkillDetails.fightPower);
|
size += 100;
|
}
|
|
for (int i = 0; i < SkillDetails.infoList.Count; i++) {
|
size += m_Control.GetCellViewSize(m_Control.m_Scorller, i);
|
}
|
if (size < 440) {
|
m_Control.maxCellCnt = m_Control.GetNumberOfCells(m_Control.m_Scorller);
|
}
|
winRt.sizeDelta = new Vector2(winRt.sizeDelta.x, Mathf.Min(540, size));
|
|
|
}
|
#region Built-in
|
protected override void BindController()
|
{
|
winRt = transform.Find("BG") as RectTransform;
|
|
btnPopSkillClose = transform.Find("BG/Close").GetComponent<Button>();
|
imgSkill = transform.Find("BG/SkillBG/Skill").GetComponent<Image>();
|
textSkillSource = transform.Find("BG/Source").GetComponent<Text>();
|
textSkillName = transform.Find("BG/SkillName").GetComponent<Text>();
|
|
destText = this.GetComponent<Text>("BG/InfoCell");
|
|
m_Control = this.GetComponent<ScrollerController>("BG/Controll");
|
m_Control.OnRefreshCell += OnRefreshInfoCell;
|
m_Control.OnGetDynamicSize += OnGetDynamicSize;
|
}
|
|
protected override void AddListeners()
|
{
|
btnPopSkillClose.onClick.AddListener(CloseClick);
|
}
|
|
protected override void OnPreOpen()
|
{
|
ShowSkillDetails();
|
}
|
|
protected override void OnAfterOpen()
|
{
|
|
}
|
|
protected override void OnPreClose()
|
{
|
|
}
|
|
protected override void OnAfterClose()
|
{
|
|
}
|
#endregion
|
|
private void OnRefreshInfoCell(ScrollerDataType type, CellView cell)
|
{
|
if (cell.index < SkillDetails.infoList.Count) {
|
Text text = cell.GetComponent<Text>();
|
text.text = SkillDetails.infoList[cell.index];
|
}
|
}
|
|
private bool OnGetDynamicSize(ScrollerDataType type, int index, out float height)
|
{
|
var _content=SkillDetails.infoList[index];
|
destText.text = _content;
|
height = destText.preferredHeight + 3;
|
return true;
|
}
|
}
|
|
}
|
|
|
|
|