137 lines
4.3 KiB
C#
137 lines
4.3 KiB
C#
// ***********************************************************************
|
|
// Assembly : Game
|
|
// Author : Kimch
|
|
// Created : 2021-04-12
|
|
// Description :
|
|
// Last Modified By :
|
|
// Last Modified On :
|
|
// ***********************************************************************
|
|
// <copyright file= "MainWindow" company="Kunpo"></copyright>
|
|
// <summary></summary>
|
|
// ***********************************************************************
|
|
|
|
using System.Collections.Generic;
|
|
using TMPro;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
namespace G.UI
|
|
{
|
|
partial class MainWindow
|
|
{
|
|
/// <summary>
|
|
/// 主线任务
|
|
/// </summary>
|
|
class MainMissionWidget : KUIWidget
|
|
{
|
|
#region AutoGenerate
|
|
|
|
#pragma warning disable CS0649 // 从未对字段赋值,字段将一直保持其默认值 null
|
|
[KUIFlag]
|
|
TextMeshProUGUI _tmpDescription;
|
|
[KUIFlag]
|
|
TextMeshProUGUI _tmpAward;
|
|
//[KUIFlag]
|
|
//Image _imgIcon;
|
|
[KUIFlag]
|
|
Button _btnQuickMission;
|
|
[KUIFlag]
|
|
Button _btnQuickBattle;
|
|
[KUIFlag]
|
|
GameObject _goEffect;
|
|
[KUIFlag]
|
|
GameObject __goProp;
|
|
#pragma warning restore CS0649 // 从未对字段赋值,字段将一直保持其默认值 null
|
|
|
|
#endregion
|
|
|
|
#region Field
|
|
|
|
PropWidget _propWidget;
|
|
|
|
#endregion
|
|
|
|
#region Method
|
|
|
|
public override void Refresh()
|
|
{
|
|
if (this.data is Mission mission)
|
|
{
|
|
_btnQuickBattle.gameObject.SetActive(true);
|
|
_btnQuickMission.gameObject.SetActive(true);
|
|
|
|
if (mission.isCompleted)
|
|
_tmpDescription.text = mission.missionText2;
|
|
else
|
|
_tmpDescription.text = mission.missionText;
|
|
_tmpAward.text = mission.rewardText;
|
|
if (mission.rewards != null && mission.rewards.Length > 0)
|
|
{
|
|
var award = mission.rewards[0];
|
|
_propWidget.SetItem(award.id);
|
|
//IconProxy.Instance.SetSprite(_imgIcon, award.propItem.icon);
|
|
}
|
|
_goEffect.SetActive(mission.isRewarding);
|
|
}
|
|
else
|
|
{
|
|
_btnQuickMission.gameObject.SetActive(false);
|
|
_btnQuickBattle.gameObject.SetActive(true);
|
|
}
|
|
}
|
|
|
|
private void OnQuickMissionBtnClick()
|
|
{
|
|
SoundProxy.PlayFxAsync(GlobalDefine.BUTTON_CLICK_SOUND);
|
|
if (this.data is Mission mission)
|
|
{
|
|
if (!mission.isCompleted)
|
|
{
|
|
MissionProxy.Instance.JumpMission(mission);
|
|
}
|
|
else if (!mission.isRewarded)
|
|
{
|
|
MissionProxy.Instance.GainReward(mission.id, (error, message) =>
|
|
{
|
|
if (error == 0)
|
|
Refresh();
|
|
});
|
|
}
|
|
}
|
|
}
|
|
|
|
private void OnQuickBattleBtnClick()
|
|
{
|
|
var level = ItemProxy.Instance.GetStaticItem<ItemLevel>(LevelProxy.Instance.currentUnlockedLevel);
|
|
if (level != null)
|
|
OpenWindow<LevelDetailBox>(level);
|
|
|
|
//if (LevelProxy.Instance.StartLevel() == 1)
|
|
//{
|
|
// PostNotification(GlobalDefine.EVENT_MAIN_WINDOW_PAGE, 3, "");
|
|
//}
|
|
SoundProxy.PlayFxAsync(GlobalDefine.BUTTON_CLICK_SOUND);
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Unity
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
private void Awake()
|
|
{
|
|
SetViewData();
|
|
|
|
_propWidget = __goProp.AddComponent<PropWidget>();
|
|
|
|
_btnQuickMission.onClick.AddListener(this.OnQuickMissionBtnClick);
|
|
_btnQuickBattle.onClick.AddListener(this.OnQuickBattleBtnClick);
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
}
|
|
}
|