168 lines
3.6 KiB
C#
168 lines
3.6 KiB
C#
![]() |
// ***********************************************************************
|
|||
|
// Assembly : Game
|
|||
|
// Author : Kimch
|
|||
|
// Created : 2021-01-03
|
|||
|
// Description :
|
|||
|
// Last Modified By :
|
|||
|
// Last Modified On :
|
|||
|
// ***********************************************************************
|
|||
|
// <copyright file= "MissionWindow.View" company="Kunpo"></copyright>
|
|||
|
// <summary></summary>
|
|||
|
// ***********************************************************************
|
|||
|
namespace G.UI
|
|||
|
{
|
|||
|
using UnityEngine;
|
|||
|
using UnityEngine.UI;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
///
|
|||
|
/// </summary>
|
|||
|
partial class MissionWindow
|
|||
|
{
|
|||
|
public const string DAILY_PANEL = "daily";
|
|||
|
public const string ACHIEVEMENT_PANEL = "achievement";
|
|||
|
|
|||
|
#region Field
|
|||
|
|
|||
|
#pragma warning disable CS0649 // 从未对字段赋值,字段将一直保持其默认值 null
|
|||
|
[KUIFlag]
|
|||
|
Button _btnClose;
|
|||
|
[KUIFlag]
|
|||
|
KUIList __listMissions;
|
|||
|
[KUIFlag]
|
|||
|
Button _btnOnekey;
|
|||
|
[KUIFlag]
|
|||
|
GameObject _goPages;
|
|||
|
[KUIFlag]
|
|||
|
GameObject _goTips;
|
|||
|
[KUIFlag]
|
|||
|
GameObject _goTitle1;
|
|||
|
[KUIFlag]
|
|||
|
GameObject _goTitle2;
|
|||
|
#pragma warning restore CS0649 // 从未对字段赋值,字段将一直保持其默认值 null
|
|||
|
|
|||
|
private Toggle[] _pageToggles;
|
|||
|
private int _pageIndex = -1;
|
|||
|
|
|||
|
#endregion
|
|||
|
|
|||
|
#region Method
|
|||
|
|
|||
|
/// <summary>
|
|||
|
///
|
|||
|
/// </summary>
|
|||
|
public void InitView()
|
|||
|
{
|
|||
|
this.SetViewData();
|
|||
|
_btnClose.onClick.AddListener(this.OnCloseBtnClick);
|
|||
|
__listMissions.AddTemplate<MissionWidget>();
|
|||
|
_btnOnekey.onClick.AddListener(this.OnOnekeyBtnClick);
|
|||
|
|
|||
|
_pageToggles = _goPages.GetComponentsInChildren<Toggle>();
|
|||
|
for (int i = 0; i < _pageToggles.Length; i++)
|
|||
|
{
|
|||
|
_pageToggles[i].onValueChanged.AddListener(this.OnPageToggleValueChanged);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
///
|
|||
|
/// </summary>
|
|||
|
public void RefreshView()
|
|||
|
{
|
|||
|
if (DAILY_PANEL.Equals(this.data))
|
|||
|
{
|
|||
|
SetToggleOn(0);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
SetToggleOn(1);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private void SetToggleOn(int index)
|
|||
|
{
|
|||
|
if (!_pageToggles[index].isOn)
|
|||
|
_pageToggles[index].isOn = true;
|
|||
|
else
|
|||
|
{
|
|||
|
ShowPage(index, true);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
///
|
|||
|
/// </summary>
|
|||
|
public void UpdateView()
|
|||
|
{
|
|||
|
}
|
|||
|
|
|||
|
private void ShowPage(int index, bool force = false)
|
|||
|
{
|
|||
|
if (force || _pageIndex != index)
|
|||
|
{
|
|||
|
_pageIndex = index;
|
|||
|
__listMissions.Clear();
|
|||
|
|
|||
|
if (index == 0)
|
|||
|
{
|
|||
|
var dailies = MissionProxy.Instance.dailyMissions;
|
|||
|
foreach (var item in dailies)
|
|||
|
{
|
|||
|
__listMissions.GetItem().SetData(item);
|
|||
|
}
|
|||
|
//_goTitle2.SetActive(false);
|
|||
|
//_goTitle1.SetActive(true);
|
|||
|
_goTips.SetActive(true);
|
|||
|
}
|
|||
|
else if (index == 1)
|
|||
|
{
|
|||
|
var achievements = MissionProxy.Instance.achievements;
|
|||
|
foreach (var item in achievements)
|
|||
|
{
|
|||
|
if (!item.isRewarded && (item.prevMission == null || item.prevMission.isRewarded))
|
|||
|
__listMissions.GetItem().SetData(item);
|
|||
|
}
|
|||
|
//_goTitle1.SetActive(false);
|
|||
|
//_goTitle2.SetActive(true);
|
|||
|
_goTips.SetActive(false);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private void OnCloseBtnClick()
|
|||
|
{
|
|||
|
CloseWindow(this);
|
|||
|
SoundProxy.PlayFxAsync(GlobalDefine.BUTTON_CLICK_SOUND);
|
|||
|
}
|
|||
|
|
|||
|
private void OnOnekeyBtnClick()
|
|||
|
{
|
|||
|
if (_pageIndex == 0)
|
|||
|
MissionProxy.Instance.OneKeyGainRewards(1, null);
|
|||
|
else if (_pageIndex == 1)
|
|||
|
MissionProxy.Instance.OneKeyGainRewards(2, null);
|
|||
|
|
|||
|
SoundProxy.PlayFxAsync(GlobalDefine.BUTTON_CLICK_SOUND);
|
|||
|
}
|
|||
|
|
|||
|
private void OnPageToggleValueChanged(bool value)
|
|||
|
{
|
|||
|
if (value)
|
|||
|
{
|
|||
|
for (int i = 0; i < _pageToggles.Length; i++)
|
|||
|
{
|
|||
|
if (_pageToggles[i].isOn)
|
|||
|
{
|
|||
|
ShowPage(i);
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
SoundProxy.PlayFxAsync(GlobalDefine.BUTTON_CLICK_SOUND);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
#endregion
|
|||
|
}
|
|||
|
}
|