Files
SVSimServer/SVSim.BattleEngine/Engine/AchievementWindowBase.cs
gamer147 957af3d1ec feat(battle-engine): full Unity/VFX/god-object shims + expanded copy closure (2570 files)
Authored Unity primitive/object-model shim, VFX layer (control-flow-preserving, InstantVfx never invokes its action -- headless suppression), god-object stubs (GameMgr/EffectMgr/UIManager with faithfully-extracted nested enums), View/UI/Touch tree, LitJson+BetterList+Tuple copied, third-party stubs. Discovered Roslyn header-error masking: fixing class-header type errors unmasks body references, so the true copy closure is ~2570 files (was 782 under masking). Errors: masked-25720 -> 268; our shim files compile clean. Remaining: ~50 residual shim/external types, 24 NGUI UI-base overrides, static-type fixes, plus likely 1-2 more unmask waves.
2026-06-05 17:22:20 -04:00

778 lines
30 KiB
C#

using System;
using System.Collections.Generic;
using Cute;
using UnityEngine;
using Wizard;
using Wizard.Bingo;
using Wizard.Lottery;
using Wizard.Scripts.Network.Data.TableData;
public class AchievementWindowBase : MonoBehaviour
{
public enum AchievementType
{
None,
Reward,
Nonattainment,
AlreadyReceived,
PointRunning,
PointClear,
PointReceived
}
public GameObject goButtonReward;
public UITexture achievementIconTexture;
public UILabel labelAchievementTitle;
public UILabel labelAchievementData;
public UILabel labelAchievementCount;
public UILabel _missionWaitLabel;
public UILabel _labelMissionPeriod;
public UILabel _labelMissionNotice;
public UISprite _titleLine;
public UILabel alreadyReceived;
[NonSerialized]
public int type;
[NonSerialized]
public int iType = -1;
[NonSerialized]
public int level;
[NonSerialized]
public string strAchievementData = "3種類のスリーブを使う。";
[SerializeField]
private UILabel LabelDetailBtn;
[SerializeField]
private UITable StarTable;
[SerializeField]
private UISprite StarOriginal;
[SerializeField]
private GameObject MailReceive;
[SerializeField]
private UIGauge GaugeUI;
[SerializeField]
private UILabel GaugeLabel;
[SerializeField]
private UISprite _Separator;
[SerializeField]
private UIWidget _StarsWidget;
[SerializeField]
private UILabel _labelTopRight;
[SerializeField]
private UILabel _missionStartTime;
[SerializeField]
private UILabel _missionTimeOver;
[SerializeField]
private UILabel _applyFinish;
private const int ACHIEVEMENT_STARS_MAX = 5;
private ResourceHandler _resourceHandler;
private const string SPRITE_PREFIX_BUTTON_BLUE = "btn_common_02_s_";
private int _viewMailId;
private QuestRewardInfo _questRewardInfo;
private Action _onReceivceAchievementSuccess;
private CrossoverRewardInfo _crossoverRewardInfo;
private const int BINGO_MISSION_SPRITE_WIDTH = 752;
private void Awake()
{
LabelDetailBtn.text = Data.SystemText.Get("Common_0022");
}
public void SetType(AchievementType typeBase)
{
labelAchievementCount.gameObject.SetActive(typeBase != AchievementType.AlreadyReceived);
alreadyReceived.gameObject.SetActive(typeBase == AchievementType.AlreadyReceived || typeBase == AchievementType.PointReceived);
goButtonReward.SetActive(typeBase != AchievementType.AlreadyReceived && typeBase != AchievementType.PointReceived);
UIManager.SetObjectToGrey(goButtonReward, typeBase == AchievementType.Nonattainment || typeBase == AchievementType.PointRunning);
}
public void SetActiveGaugeUI(bool isActive)
{
GaugeUI.gameObject.SetActive(isActive);
}
public void OnRewardClick()
{
AchievementReceiveRewardTask achievementReceiveRewardTask = new AchievementReceiveRewardTask();
achievementReceiveRewardTask.SetParameter(type, level);
StartCoroutine(Toolbox.NetworkManager.Connect(achievementReceiveRewardTask, OnRequestRewardAchievement, BaseTask.OnRequestFailed, BaseTask.OnFailedErrorCode));
}
public void OnDetail()
{
DialogBase dialogBase = UIManager.GetInstance().CreateDialogClose();
dialogBase.SetTitleLabel(Data.SystemText.Get("Mission_0007"));
dialogBase.SetText(strAchievementData);
dialogBase.SetButtonLayout(DialogBase.ButtonLayout.CloseBtn);
}
private void OnRequestRewardAchievement(NetworkTask.ResultCode error)
{
OnRequestReward(error, Data.MissionInfo.data.total_reward_list);
_onReceivceAchievementSuccess.Call();
}
private void OnRequestReward(NetworkTask.ResultCode error, List<ReceivedReward> rewards)
{
base.transform.parent.gameObject.AddMissingComponent<ReceiveReward>().ShowReadDialog(rewards, MailReceive, base.gameObject, _resourceHandler);
MyPageMenu.Instance.UpdateMissionCount();
}
private void SetAchievementCommon(UserAchievement achi)
{
bool num = achi.reward_type == 4;
strAchievementData = achi.achievement_name;
SystemText systemText = Data.SystemText;
labelAchievementTitle.text = systemText.Get("Mission_0023") + strAchievementData;
labelAchievementTitle.rightAnchor.target = _StarsWidget.transform;
labelAchievementTitle.rightAnchor.relative = 0f;
if (num)
{
ReceiveReward.SetTicket(achi.RewardUserGoodsId, achi.reward_number, achievementIconTexture, labelAchievementData, _resourceHandler);
}
else
{
ReceiveReward.SetTexture((UserGoods.Type)achi.reward_type, achievementIconTexture, _resourceHandler);
labelAchievementData.text = ReceiveReward.getTitle((UserGoods.Type)achi.reward_type, achi.RewardUserGoodsId, achi.reward_number);
}
GaugeUI.gameObject.SetActive(value: true);
int num2 = ((achi.total_count > achi.require_number) ? achi.require_number : achi.total_count);
int require_number = achi.require_number;
labelAchievementCount.gameObject.SetActive(value: false);
GaugeLabel.text = num2 + "/" + require_number;
if (num2 != 0 && require_number != 0)
{
float value = (float)num2 / (float)require_number;
GaugeUI.Value = value;
}
else
{
GaugeUI.Value = 0f;
}
goButtonReward.GetComponent<UIButton>().GetComponentInChildren<UILabel>().text = systemText.Get("Mail_0023");
}
private void SetRunning(UserAchievement achi)
{
SetType(AchievementType.Nonattainment);
SetAchievementCommon(achi);
SetAchievementStars(achi, cleared: false);
}
private void SetAchievementStars(UserAchievement achi, bool cleared)
{
int num = achi._maxLevel;
int num2 = achi.level;
if (achi._maxLevel > 5)
{
num = 5;
num2 = ((achi.level == achi._maxLevel) ? 5 : ((achi.level <= 0 || achi.level % 5 != 0) ? (achi.level % 5) : 5));
}
for (int i = 0; i < num; i++)
{
UISprite uISprite = UnityEngine.Object.Instantiate(StarOriginal, StarOriginal.transform.localPosition, StarOriginal.transform.localRotation);
uISprite.transform.parent = StarTable.transform;
uISprite.transform.localPosition = Vector3.zero;
uISprite.transform.localScale = Vector3.one;
if ((num2 == i + 1 && cleared) || num2 > i + 1)
{
uISprite.spriteName = "achievement_star_02";
}
else
{
uISprite.spriteName = "achievement_star_01";
}
uISprite.gameObject.SetActive(value: true);
}
StarTable.repositionNow = true;
}
private void SetCanReceive(UserAchievement achi)
{
SetType(AchievementType.Reward);
SetAchievementCommon(achi);
SetAchievementStars(achi, cleared: false);
UIButton component = goButtonReward.GetComponent<UIButton>();
component.onClick.Clear();
component.onClick.Add(new EventDelegate(delegate
{
GameMgr.GetIns().GetSoundMgr().PlaySe(Se.TYPE.SYS_COMMON_BUTTON);
OnRewardClick();
}));
}
private void SetAlreadyReceived(UserAchievement achi)
{
SetType(AchievementType.AlreadyReceived);
SetAchievementCommon(achi);
SetAchievementStars(achi, cleared: true);
}
public void SetAchievement(UserAchievement achi, ResourceHandler resourceHandler, Action onReceivceAchievementSuccess)
{
_resourceHandler = resourceHandler;
_onReceivceAchievementSuccess = onReceivceAchievementSuccess;
switch (achi.achievement_status)
{
case 0:
SetRunning(achi);
break;
case 1:
SetCanReceive(achi);
break;
case 2:
SetAlreadyReceived(achi);
break;
default:
UnityEngine.Debug.LogError("unkown achievement status");
break;
}
}
public void SetCrossoverReward(CrossoverRewardInfo reward, AchievementType type, ResourceHandler resourceHandler, Action onReceiveReward)
{
_crossoverRewardInfo = reward;
_resourceHandler = resourceHandler;
SetType(type);
string texName = UserGoods.GetUserGoodsImageName((UserGoods.Type)reward.RewardType, reward.RewardDetailId);
string assetTypePath = Toolbox.ResourcesManager.GetAssetTypePath(texName, ResourcesManager.AssetLoadPathType.Item);
_resourceHandler.Add(assetTypePath, delegate
{
if (reward.RewardDetailId == _crossoverRewardInfo.RewardDetailId)
{
string assetTypePath2 = Toolbox.ResourcesManager.GetAssetTypePath(texName, ResourcesManager.AssetLoadPathType.Item, isfetch: true);
achievementIconTexture.mainTexture = Toolbox.ResourcesManager.LoadObject<Texture>(assetTypePath2);
}
});
RankInfo rankInfo = Data.Load.data.GetRankInfo(Format.Crossover, reward.Rank);
labelAchievementTitle.text = Data.SystemText.Get("Profile_0042", Data.SystemText.Get(rankInfo.rank_name));
labelAchievementData.text = ReceiveReward.getTitle((UserGoods.Type)reward.RewardType, reward.RewardDetailId, reward.RewardCount);
GaugeUI.gameObject.SetActive(value: false);
UIButton component = goButtonReward.GetComponent<UIButton>();
component.GetComponentInChildren<UILabel>().text = Data.SystemText.Get("Mail_0023");
goButtonReward.gameObject.SetActive(type != AchievementType.PointReceived);
UIManager.SetObjectToGrey(goButtonReward, type != AchievementType.PointClear);
component.onClick.Clear();
component.onClick.Add(new EventDelegate(delegate
{
GameMgr.GetIns().GetSoundMgr().PlaySe(Se.TYPE.SYS_COMMON_BUTTON);
ReceiveCrossoverReward(reward.RewardId, onReceiveReward);
}));
CopyAnchor(_labelTopRight.rightAnchor, labelAchievementTitle.rightAnchor);
}
private void ReceiveCrossoverReward(int rewardId, Action onReceiveReward)
{
CrossoverReceiveRankRewardTask task = new CrossoverReceiveRankRewardTask();
task.SetParameter(rewardId);
StartCoroutine(Toolbox.NetworkManager.Connect(task, delegate
{
onReceiveReward.Call();
DialogCreator.CreateRewardReceiveDialog(task.ReceivedRewardList);
}));
}
public void SetQuestPoint(QuestRewardInfo reward, AchievementType type, ResourceHandler resourceHandler, Action onRequestRewardPointCallBack)
{
_questRewardInfo = reward;
strAchievementData = reward.Point.ToString();
labelAchievementTitle.text = Data.SystemText.Get("Quest_0019", strAchievementData);
_resourceHandler = resourceHandler;
SetType(type);
string texName = UserGoods.GetUserGoodsImageName((UserGoods.Type)reward.RewardType, reward.RewardDetailId);
string assetTypePath = Toolbox.ResourcesManager.GetAssetTypePath(texName, ResourcesManager.AssetLoadPathType.Item);
_resourceHandler.Add(assetTypePath, delegate
{
if (reward.RewardDetailId == _questRewardInfo.RewardDetailId)
{
string assetTypePath2 = Toolbox.ResourcesManager.GetAssetTypePath(texName, ResourcesManager.AssetLoadPathType.Item, isfetch: true);
achievementIconTexture.mainTexture = Toolbox.ResourcesManager.LoadObject<Texture>(assetTypePath2);
}
});
labelAchievementData.text = ReceiveReward.getTitle((UserGoods.Type)reward.RewardType, reward.RewardDetailId, reward.RewardCount);
GaugeUI.gameObject.SetActive(value: false);
UIButton component = goButtonReward.GetComponent<UIButton>();
component.GetComponentInChildren<UILabel>().text = Data.SystemText.Get("Mail_0023");
goButtonReward.gameObject.SetActive(type != AchievementType.PointReceived);
UIManager.SetObjectToGrey(goButtonReward, type != AchievementType.PointClear);
component.onClick.Clear();
component.onClick.Add(new EventDelegate(delegate
{
GameMgr.GetIns().GetSoundMgr().PlaySe(Se.TYPE.SYS_COMMON_BUTTON);
OnQuestPointReceive(reward.Id, onRequestRewardPointCallBack);
}));
GetComponent<UISprite>().spriteName = string.Empty;
CopyAnchor(_labelTopRight.rightAnchor, labelAchievementTitle.rightAnchor);
}
public void SetMission(UserMission mission, ResourceHandler resourceHandler, bool canChangeMissions, bool enableSeparator, bool displayChange, Action onChangeMissionSuccess = null)
{
_resourceHandler = resourceHandler;
_Separator.gameObject.SetActive(enableSeparator);
if (mission.mission_status == 0 && SetMissionWait(mission))
{
return;
}
SystemText systemText = Data.SystemText;
if (mission.reward_type == 4)
{
ReceiveReward.SetTicket(mission.RewardUserGoodsId, mission.reward_number, achievementIconTexture, labelAchievementData, _resourceHandler);
}
else
{
ReceiveReward.SetTexture((UserGoods.Type)mission.reward_type, mission.RewardUserGoodsId, achievementIconTexture, _resourceHandler);
labelAchievementData.text = ReceiveReward.getTitle((UserGoods.Type)mission.reward_type, mission.RewardUserGoodsId, mission.reward_number);
}
labelAchievementTitle.text = mission.mission_name;
int require_number = mission.require_number;
bool flag = require_number > 0;
GaugeUI.gameObject.SetActive(flag);
if (flag)
{
int num = ((mission.total_count > mission.require_number) ? mission.require_number : mission.total_count);
GaugeLabel.text = num + "/" + require_number;
if (num != 0)
{
float value = (float)num / (float)require_number;
GaugeUI.Value = value;
}
else
{
GaugeUI.Value = 0f;
}
}
UIButton component = goButtonReward.GetComponent<UIButton>();
component.normalSprite = "btn_common_02_s_off";
component.pressedSprite = "btn_common_02_s_on";
component.GetComponentInChildren<UILabel>().text = systemText.Get("Mission_0029");
component.onClick.Add(new EventDelegate(delegate
{
GameMgr.GetIns().GetSoundMgr().PlaySe(Se.TYPE.SYS_COMMON_BUTTON);
ChangeMission(mission.id, mission.mission_name, onChangeMissionSuccess);
}));
goButtonReward.SetActive(displayChange && !mission.default_flag);
UIManager.SetObjectToGrey(goButtonReward, !canChangeMissions);
labelAchievementCount.gameObject.SetActive(value: false);
SetMissionPeriodLabel(mission);
CopyAnchor(_labelTopRight.rightAnchor, labelAchievementTitle.rightAnchor);
}
public void SetBttlePassMonthlyMission(BattlePassMonthlyMission.MissionDetail mission, ResourceHandler resourceHandler)
{
_Separator.gameObject.SetActive(value: false);
_labelMissionPeriod.gameObject.SetActive(value: false);
labelAchievementCount.gameObject.SetActive(value: false);
goButtonReward.gameObject.SetActive(value: false);
_resourceHandler = resourceHandler;
labelAchievementTitle.text = mission.Name;
alreadyReceived.gameObject.SetActive(mission.IsCleared);
BattlePassMonthlyMission.MissionDetail.RewardInfo reward = mission.Reward;
if (reward == null)
{
_resourceHandler.Add(Toolbox.ResourcesManager.GetAssetTypePath("thumbnail_battle_pass_point", ResourcesManager.AssetLoadPathType.BattlePass), delegate
{
string assetTypePath = Toolbox.ResourcesManager.GetAssetTypePath("thumbnail_battle_pass_point", ResourcesManager.AssetLoadPathType.BattlePass, isfetch: true);
achievementIconTexture.mainTexture = Toolbox.ResourcesManager.LoadObject<Texture>(assetTypePath);
});
labelAchievementData.text = string.Empty;
}
else if (reward.UserGoods.GoodsType == UserGoods.Type.Item)
{
ReceiveReward.SetTicket(reward.UserGoods.Id, reward.Number, achievementIconTexture, labelAchievementData, _resourceHandler);
}
else
{
ReceiveReward.SetTexture(reward.UserGoods.GoodsType, achievementIconTexture, _resourceHandler);
labelAchievementData.text = ReceiveReward.getTitle(reward.UserGoods.GoodsType, reward.UserGoods.Id, reward.Number);
}
SetViewBattlePassPointText(mission.BattlePassPoint);
int requireNumber = mission.RequireNumber;
bool flag = requireNumber > 0;
GaugeUI.gameObject.SetActive(flag);
if (flag)
{
int num = ((mission.DoneNumber > mission.RequireNumber) ? mission.RequireNumber : mission.DoneNumber);
GaugeLabel.text = num + "/" + requireNumber;
if (num != 0)
{
float value = (float)num / (float)requireNumber;
GaugeUI.Value = value;
}
else
{
GaugeUI.Value = 0f;
}
}
}
private void SetViewBattlePassPointText(int point)
{
string text = " ";
if (labelAchievementData.text == string.Empty)
{
labelAchievementData.text = Data.SystemText.Get("BattlePass_0010", point.ToString());
}
else
{
UILabel uILabel = labelAchievementData;
uILabel.text = uILabel.text + text + Data.SystemText.Get("BattlePass_0010", point.ToString());
}
}
private bool SetMissionWait(UserMission mission)
{
MissionInfoTask missionInfoTask = GameMgr.GetIns().GetMissionInfoTask();
long num = (long)Time.realtimeSinceStartup - missionInfoTask.RequestTime;
long num2 = missionInfoTask.ServerTime + num;
TimeSpan timeSpan = TimeSpan.FromSeconds(mission.start_time - num2).Add(new TimeSpan(0, 1, 0));
int num3 = timeSpan.Hours;
int num4 = timeSpan.Minutes;
if (timeSpan.TotalHours >= 24.0)
{
num3 = 24;
num4 = 0;
}
else if (num3 <= 0 && num4 <= 0)
{
return false;
}
if (mission.IsGemMission())
{
_missionWaitLabel.text = Data.SystemText.Get("Mission_0073", num3.ToString("00"), num4.ToString("00"));
_labelMissionNotice.gameObject.SetActive(value: true);
_labelMissionNotice.text = Data.SystemText.Get("Mission_0074");
}
else
{
_missionWaitLabel.text = Data.SystemText.Get("Mission_0041", num3.ToString("00"), num4.ToString("00"));
}
labelAchievementTitle.gameObject.SetActive(value: false);
labelAchievementCount.gameObject.SetActive(value: false);
labelAchievementData.gameObject.SetActive(value: false);
labelAchievementData.gameObject.SetActive(value: false);
goButtonReward.gameObject.SetActive(value: false);
GaugeUI.gameObject.SetActive(value: false);
_titleLine.gameObject.SetActive(value: false);
_missionWaitLabel.gameObject.SetActive(value: true);
return true;
}
private void SetMissionPeriodLabel(UserMission mission)
{
if (mission.end_time <= 0 || mission.IsGemMission())
{
_labelMissionPeriod.gameObject.SetActive(value: false);
return;
}
long nowUnixTime = GameMgr.GetIns().GetMissionInfoTask().NowUnixTime();
string remainingTime = ConvertTime.GetRemainingTime(TimeSpan.FromSeconds(mission.GetMissionPeriodSec(nowUnixTime)));
goButtonReward.gameObject.SetActive(value: false);
_labelMissionPeriod.gameObject.SetActive(value: true);
_labelMissionPeriod.text = remainingTime;
}
private void ChangeMission(int id, string content, Action onChangeMissionSuccess)
{
SystemText systemText = Data.SystemText;
DialogBase dialogBase = UIManager.GetInstance().CreateDialogClose();
dialogBase.SetTitleLabel(systemText.Get("Mission_0033"));
dialogBase.SetText(systemText.Get("Mission_0030", content));
dialogBase.SetButtonLayout(DialogBase.ButtonLayout.DecisionBtn);
dialogBase.onPushButton1 = delegate
{
MissionRetireTask missionRetireTask = new MissionRetireTask();
missionRetireTask.SetParameter(id);
StartCoroutine(Toolbox.NetworkManager.Connect(missionRetireTask, delegate
{
onChangeMissionSuccess.Call();
}, BaseTask.OnRequestFailed, BaseTask.OnFailedErrorCode));
};
}
private void OnQuestPointReceive(int rewardId, Action onRequestRewardPointCallBack)
{
QuestRewardReceiveTask task = new QuestRewardReceiveTask();
task.SetParameter(rewardId);
StartCoroutine(Toolbox.NetworkManager.Connect(task, delegate
{
onRequestRewardPointCallBack.Call();
DialogCreator.CreateRewardReceiveDialog(task.ReceiveRewardList);
}, BaseTask.OnRequestFailed, BaseTask.OnFailedErrorCode));
}
public void SetHistoryItem(ItemAcquireHistory item, bool enableSeparator, ResourceHandler resourceHandler)
{
_resourceHandler = resourceHandler;
SystemText systemText = Data.SystemText;
if (item.RewardType == 4)
{
ReceiveReward.SetTicket(item.RewardUserGoodsId, item.RewardCount, achievementIconTexture, labelAchievementTitle, _resourceHandler);
}
else
{
ReceiveReward.SetTexture((UserGoods.Type)item.RewardType, achievementIconTexture, _resourceHandler);
labelAchievementTitle.text = ReceiveReward.getTitle((UserGoods.Type)item.RewardType, item.RewardUserGoodsId, item.RewardCount);
}
labelAchievementData.text = item.Message;
labelAchievementCount.text = systemText.Get("Mail_0043", ConvertTime.ToLocal(item.AcquireTime));
GaugeUI.gameObject.SetActive(value: false);
goButtonReward.SetActive(value: false);
_Separator.gameObject.SetActive(enableSeparator);
}
public void SetMail(MailData mail, Action<int, int> OnReadMail, ResourceHandler handler)
{
_resourceHandler = handler;
_viewMailId = mail.mail_id;
SetCommonMail(mail);
TimeLeftUpdate timeLeftUpdate = base.gameObject.AddMissingComponent<TimeLeftUpdate>();
timeLeftUpdate.mailData = mail;
_labelTopRight.gameObject.SetActive(value: true);
timeLeftUpdate.timeLeft = _labelTopRight;
timeLeftUpdate.UpdateTime();
SystemText systemText = Data.SystemText;
labelAchievementCount.text = systemText.Get("Mail_0043", mail.create_time);
goButtonReward.SetActive(value: true);
goButtonReward.transform.Find("RewardLabel").GetComponent<UILabel>().text = systemText.Get("Mail_0023");
UIButton component = goButtonReward.GetComponent<UIButton>();
component.normalSprite = "btn_common_02_s_off";
component.hoverSprite = "btn_common_02_s_off";
component.pressedSprite = "btn_common_02_s_on";
UIEventListener.Get(goButtonReward).onClick = delegate
{
OnReadMail(mail.mail_id, mail.mail_id);
};
}
public void SetHistoryMail(MailData mail, ResourceHandler handler)
{
_resourceHandler = handler;
_viewMailId = mail.mail_id;
SetCommonMail(mail);
TimeLeftUpdate component = base.gameObject.GetComponent<TimeLeftUpdate>();
if ((bool)component)
{
component.mailData = null;
}
_labelTopRight.gameObject.SetActive(value: false);
labelAchievementCount.text = Data.SystemText.Get("Mail_0044", mail.create_time);
goButtonReward.SetActive(value: false);
}
private void SetCommonMail(MailData mailData)
{
GaugeUI.gameObject.SetActive(value: false);
labelAchievementData.text = mailData.message;
labelAchievementTitle.text = ReceiveReward.getTitle(mailData);
string textureName = ReceiveReward.GetThumbnailName((UserGoods.Type)mailData.reward_type, mailData.RewardUserGoodsId);
string assetTypePath = Toolbox.ResourcesManager.GetAssetTypePath(textureName, ResourcesManager.AssetLoadPathType.Item);
_resourceHandler.Add(assetTypePath, delegate
{
if (mailData.mail_id == _viewMailId)
{
string assetTypePath2 = Toolbox.ResourcesManager.GetAssetTypePath(textureName, ResourcesManager.AssetLoadPathType.Item, isfetch: true);
achievementIconTexture.mainTexture = Toolbox.ResourcesManager.LoadObject<Texture>(assetTypePath2);
}
});
}
private void CopyAnchor(UIRect.AnchorPoint original, UIRect.AnchorPoint destination)
{
destination.target = original.target;
destination.relative = original.relative;
destination.absolute = original.absolute;
}
public void SetGetButtonToGreyOut()
{
UIManager.SetObjectToGrey(goButtonReward, b: true);
}
public void SetLottery(LotteryMissionData lotteryData, bool needCeparator)
{
string userGoodsImageName = UserGoods.GetUserGoodsImageName(lotteryData.UserGoodsType, lotteryData.ItemId);
string assetTypePath = Toolbox.ResourcesManager.GetAssetTypePath(userGoodsImageName, ResourcesManager.AssetLoadPathType.Item, isfetch: true);
base.gameObject.GetComponent<UISprite>().width = 800;
achievementIconTexture.mainTexture = Toolbox.ResourcesManager.LoadObject<Texture>(assetTypePath);
_Separator.gameObject.SetActive(needCeparator);
labelAchievementTitle.text = lotteryData.MissionTitle;
if (lotteryData.UserGoodsType == UserGoods.Type.Item)
{
labelAchievementData.text = ReceiveReward.SetTicketTitle(lotteryData.ItemId, lotteryData.ItemCount);
}
else
{
labelAchievementData.text = ReceiveReward.getTitle(lotteryData.UserGoodsType, lotteryData.ItemId, lotteryData.ItemCount);
}
goButtonReward.SetActive(value: false);
if (lotteryData.StartTime.Second > 0)
{
_missionStartTime.text = Data.SystemText.Get("Mission_0077", lotteryData.StartTime.LocalTime);
_missionStartTime.gameObject.SetActive(value: true);
}
else
{
_labelMissionPeriod.text = lotteryData.EndTime.GetShowText("Mission_0062", "Mission_0060", "Mission_0061");
_labelMissionPeriod.gameObject.SetActive(value: true);
}
CopyAnchor(_labelTopRight.rightAnchor, labelAchievementTitle.rightAnchor);
_applyFinish.gameObject.SetActive(lotteryData.IsCleared);
_labelMissionPeriod.gameObject.SetActive(!lotteryData.IsCleared && !lotteryData.IsTimeOver);
_missionTimeOver.gameObject.SetActive(lotteryData.IsTimeOver);
GaugeLabel.text = lotteryData.MissionCurrent + "/" + lotteryData.MissionMax;
GaugeUI.Value = lotteryData.MissionRatio;
bool active = true;
if (lotteryData.IsCleared || lotteryData.MissionMax == 0)
{
active = false;
}
GaugeUI.gameObject.SetActive(active);
}
public void SetBingoMission(BingoInfoTask.BingoMissionData missionData, bool needCeparator, ResourceHandler handler)
{
_resourceHandler = handler;
base.gameObject.GetComponent<UISprite>().width = 752;
base.gameObject.GetComponent<UISprite>().enabled = false;
alreadyReceived.gameObject.SetActive(missionData.IsCleared);
labelAchievementData.text = ReceiveReward.getTitle((UserGoods.Type)missionData.Reward.reward_type, missionData.Reward.rewardUserGoodsId, missionData.Reward.reward_count);
string textureName = UserGoods.GetUserGoodsImageName((UserGoods.Type)missionData.Reward.reward_type, missionData.Reward.rewardUserGoodsId);
string assetTypePath = Toolbox.ResourcesManager.GetAssetTypePath(textureName, ResourcesManager.AssetLoadPathType.Item);
_resourceHandler.Add(assetTypePath, delegate
{
string assetTypePath2 = Toolbox.ResourcesManager.GetAssetTypePath(textureName, ResourcesManager.AssetLoadPathType.Item, isfetch: true);
achievementIconTexture.mainTexture = Toolbox.ResourcesManager.LoadObject<Texture>(assetTypePath2);
});
CopyAnchor(_labelTopRight.rightAnchor, labelAchievementTitle.rightAnchor);
_titleLine.SetAnchor((GameObject)null);
_titleLine.spriteName = "quest_line_05";
_titleLine.SetDimensions(610, 2);
_Separator.spriteName = "quest_line_02";
_Separator.gameObject.SetActive(needCeparator);
goButtonReward.SetActive(value: false);
GaugeLabel.text = missionData.MissionCurrent + "/" + missionData.MissionMax;
GaugeUI.Value = missionData.MissionRatio;
labelAchievementTitle.text = missionData.MissionTitle;
}
public void SetBingoRewardDetails(ReceivedReward reward, bool needCeparator, ResourceHandler handler)
{
_resourceHandler = handler;
base.gameObject.GetComponent<UISprite>().width = 752;
base.gameObject.GetComponent<UISprite>().enabled = false;
goButtonReward.SetActive(value: false);
_titleLine.SetAnchor((GameObject)null);
_titleLine.spriteName = "quest_line_05";
_titleLine.SetDimensions(610, 2);
_Separator.spriteName = "quest_line_02";
_Separator.gameObject.SetActive(needCeparator);
labelAchievementTitle.text = string.Format(Data.SystemText.Get("Bingo_0004", reward.lineNum.ToString()));
labelAchievementData.text = ReceiveReward.getTitle((UserGoods.Type)reward.reward_type, reward.rewardUserGoodsId, reward.reward_count);
GaugeUI.gameObject.SetActive(value: false);
string textureName = UserGoods.GetUserGoodsImageName((UserGoods.Type)reward.reward_type, reward.rewardUserGoodsId);
string assetTypePath = Toolbox.ResourcesManager.GetAssetTypePath(textureName, ResourcesManager.AssetLoadPathType.Item);
_resourceHandler.Add(assetTypePath, delegate
{
string assetTypePath2 = Toolbox.ResourcesManager.GetAssetTypePath(textureName, ResourcesManager.AssetLoadPathType.Item, isfetch: true);
achievementIconTexture.mainTexture = Toolbox.ResourcesManager.LoadObject<Texture>(assetTypePath2);
});
}
public void SetBingoSideBarRewards(string lineNum, ReceivedReward reward, bool isCleared, bool needCeparator, ResourceHandler handler)
{
_resourceHandler = handler;
_Separator.gameObject.SetActive(needCeparator);
goButtonReward.SetActive(value: false);
labelAchievementTitle.text = string.Format(Data.SystemText.Get("Bingo_0004", lineNum));
labelAchievementData.text = ReceiveReward.getTitle((UserGoods.Type)reward.reward_type, reward.rewardUserGoodsId, reward.reward_count);
alreadyReceived.gameObject.SetActive(isCleared);
string textureName = UserGoods.GetUserGoodsImageName((UserGoods.Type)reward.reward_type, reward.rewardUserGoodsId);
string assetTypePath = Toolbox.ResourcesManager.GetAssetTypePath(textureName, ResourcesManager.AssetLoadPathType.Item);
_resourceHandler.Add(assetTypePath, delegate
{
string assetTypePath2 = Toolbox.ResourcesManager.GetAssetTypePath(textureName, ResourcesManager.AssetLoadPathType.Item, isfetch: true);
achievementIconTexture.mainTexture = Toolbox.ResourcesManager.LoadObject<Texture>(assetTypePath2);
});
}
public void SetPracticePuzzleMission(PracticePuzzleMissionData mission, ResourceHandler resourceHandler, bool canChangeMissions, bool enableSeparator, bool displayChange, Action onChangeMissionSuccess = null)
{
_resourceHandler = resourceHandler;
_Separator.gameObject.SetActive(enableSeparator);
goButtonReward.SetActive(value: false);
_ = Data.SystemText;
if (mission.UserGoodsType == UserGoods.Type.Item)
{
ReceiveReward.SetTicket(mission.ItemId, mission.ItemCount, achievementIconTexture, labelAchievementData, _resourceHandler);
}
else
{
ReceiveReward.SetTexture(mission.UserGoodsType, mission.ItemId, achievementIconTexture, _resourceHandler);
labelAchievementData.text = ReceiveReward.getTitle(mission.UserGoodsType, mission.ItemId, mission.ItemCount);
}
labelAchievementTitle.text = mission.Name;
int totalMissionCount = mission.TotalMissionCount;
bool flag = totalMissionCount > 0;
GaugeUI.gameObject.SetActive(flag);
if (flag)
{
int num = ((mission.TotalMissionCount > mission.CurrentClearCount) ? mission.CurrentClearCount : mission.TotalMissionCount);
GaugeLabel.text = num + "/" + totalMissionCount;
if (num != 0)
{
float value = (float)num / (float)totalMissionCount;
GaugeUI.Value = value;
}
else
{
GaugeUI.Value = 0f;
}
}
alreadyReceived.gameObject.SetActive(mission.IsCleared);
labelAchievementCount.gameObject.SetActive(value: false);
CopyAnchor(_labelTopRight.rightAnchor, labelAchievementTitle.rightAnchor);
}
public void SetRedEtherMission(RedEtherCampaignRewardData rewardData, ResourceHandler resourceHandler)
{
_resourceHandler = resourceHandler;
goButtonReward.SetActive(value: false);
ReceiveReward.SetTexture(rewardData.UserGoodsType, 0L, achievementIconTexture, _resourceHandler);
labelAchievementData.text = ReceiveReward.getTitle(rewardData.UserGoodsType, 0L, rewardData.ItemCount);
labelAchievementTitle.text = rewardData.MissionText;
alreadyReceived.gameObject.SetActive(rewardData.IsCleared);
GaugeUI.gameObject.SetActive(value: false);
}
}