feat(battle-engine): EffectType full enum + collection/card/vfx extension copies
Replaces partial EffectMgr.EffectType with all 226 decomp values; copies the IsNotNullOrEmpty/EquelsID/FindFromCardId/GetAllFuncVfxResults extension files + UI extensions; adds Renderer/MeshFilter shared-material/mesh/sortingOrder. Compile loop then closed the revealed deps (3242 files). 9.1k -> 18 errors.
This commit is contained in:
276
SVSim.BattleEngine/Engine/Wizard/GatheringInvite.cs
Normal file
276
SVSim.BattleEngine/Engine/Wizard/GatheringInvite.cs
Normal file
@@ -0,0 +1,276 @@
|
||||
using System.Collections.Generic;
|
||||
using Cute;
|
||||
using UnityEngine;
|
||||
using Wizard.RoomMatch;
|
||||
|
||||
namespace Wizard;
|
||||
|
||||
public class GatheringInvite : MonoBehaviour
|
||||
{
|
||||
[SerializeField]
|
||||
private UIButton _userIdSearchButton;
|
||||
|
||||
[SerializeField]
|
||||
private UIButton _friendInviteButton;
|
||||
|
||||
[SerializeField]
|
||||
private GameObject _idInputDialogPrefab;
|
||||
|
||||
[SerializeField]
|
||||
private GameObject _userDataDialogPrefab;
|
||||
|
||||
[SerializeField]
|
||||
private GameObject _friendListDialogPrefab;
|
||||
|
||||
[SerializeField]
|
||||
private UserListView _friendViewOriginal;
|
||||
|
||||
[SerializeField]
|
||||
private GameObject _inviteNoneRoot;
|
||||
|
||||
[SerializeField]
|
||||
private UIButton _twitterButton;
|
||||
|
||||
[SerializeField]
|
||||
private UILabel _twitterButtonText;
|
||||
|
||||
private GatheringInviteUserListTask _inviteUserListTask;
|
||||
|
||||
private GatheringJoining _parent;
|
||||
|
||||
private GatheringGetSelfInfoTask _selfInfoTask;
|
||||
|
||||
private const int ID_INPUT_PANEL_DEPTH = 19;
|
||||
|
||||
private const int FRIEND_SELECT_PANEL_DEPTH = 30;
|
||||
|
||||
private const int FRIEND_INVITE_CONFIRM_PANEL_DEPTH = 30;
|
||||
|
||||
private void Start()
|
||||
{
|
||||
_userIdSearchButton.onClick.Add(new EventDelegate(delegate
|
||||
{
|
||||
OnClickUserIdSearch();
|
||||
}));
|
||||
_friendInviteButton.onClick.Add(new EventDelegate(delegate
|
||||
{
|
||||
OnClickFriendInviteButton();
|
||||
}));
|
||||
_twitterButtonText.text = Data.SystemText.Get("RoomBattle_0185");
|
||||
_twitterButton.onClick.Add(new EventDelegate(delegate
|
||||
{
|
||||
CopyInviteText();
|
||||
}));
|
||||
}
|
||||
|
||||
public void Show(GatheringJoining parent)
|
||||
{
|
||||
_parent = parent;
|
||||
_selfInfoTask = new GatheringGetSelfInfoTask(isDependGatheringInfo: true);
|
||||
StartCoroutine(Toolbox.NetworkManager.Connect(_selfInfoTask, delegate
|
||||
{
|
||||
if (!parent.CheckChangeStatus(_selfInfoTask.Info))
|
||||
{
|
||||
GatheringInviteUserListTask inviteListTask = new GatheringInviteUserListTask();
|
||||
StartCoroutine(Toolbox.NetworkManager.Connect(inviteListTask, delegate
|
||||
{
|
||||
OnReceiveInviteList(inviteListTask);
|
||||
}));
|
||||
}
|
||||
}));
|
||||
}
|
||||
|
||||
private void OnReceiveInviteList(GatheringInviteUserListTask task)
|
||||
{
|
||||
_inviteUserListTask = task;
|
||||
_inviteNoneRoot.SetActive(task.InviteUserInfoList.Count == 0);
|
||||
string actionButtonLabel = Data.SystemText.Get("Guild_List_0014");
|
||||
List<UserInfoBase> list = new List<UserInfoBase>();
|
||||
foreach (GatheringInviteUserListTask.InviteUserInfo inviteUserInfo in task.InviteUserInfoList)
|
||||
{
|
||||
list.Add(inviteUserInfo.userInfo);
|
||||
}
|
||||
UserListView.CreateView(_friendViewOriginal.gameObject, base.gameObject, list, OnClickInviteCancel, actionButtonLabel);
|
||||
}
|
||||
|
||||
private void OnClickInviteCancel(UserInfoBase userInfo)
|
||||
{
|
||||
GameMgr.GetIns().GetSoundMgr().PlaySe(Se.TYPE.SYS_BTN_DECIDE);
|
||||
SystemText systemText = Data.SystemText;
|
||||
UserDataDialog userDataDialog = UserDataDialog.Create(_userDataDialogPrefab, userInfo, systemText.Get("Gathering_Invite_0002"));
|
||||
DialogBase dialog = userDataDialog.Dialog;
|
||||
userDataDialog.SetDiscriptionLabel(systemText.Get("Guild_List_0015"));
|
||||
dialog.SetButtonText(systemText.Get("Guild_List_0016"));
|
||||
dialog.SetPanelDepth(30);
|
||||
dialog.onPushButton1 = delegate
|
||||
{
|
||||
InviteCancel(userInfo as GatheringUserInfo);
|
||||
};
|
||||
}
|
||||
|
||||
private void InviteCancel(GatheringUserInfo userInfo)
|
||||
{
|
||||
GatheringInviteCancelTask gatheringInviteCancelTask = new GatheringInviteCancelTask();
|
||||
gatheringInviteCancelTask.SetParameter(_inviteUserListTask.GetInviteIdFromViewerId(userInfo.ViewerId));
|
||||
StartCoroutine(Toolbox.NetworkManager.Connect(gatheringInviteCancelTask, delegate
|
||||
{
|
||||
_parent.ReOpenCurrentCategory();
|
||||
}));
|
||||
}
|
||||
|
||||
private void OnClickFriendInviteButton()
|
||||
{
|
||||
GameMgr.GetIns().GetSoundMgr().PlaySe(Se.TYPE.SYS_BTN_DECIDE);
|
||||
GatheringFriendListTask task = new GatheringFriendListTask();
|
||||
StartCoroutine(Toolbox.NetworkManager.Connect(task, delegate
|
||||
{
|
||||
OnReceiveFriendList(task);
|
||||
}));
|
||||
}
|
||||
|
||||
private void OnReceiveFriendList(GatheringFriendListTask task)
|
||||
{
|
||||
if (task.InviteFriendList.Count <= 0)
|
||||
{
|
||||
ShowNoFriendDialog();
|
||||
return;
|
||||
}
|
||||
List<UserInfoBase> list = new List<UserInfoBase>();
|
||||
foreach (GatheringFriendListTask.InviteFriendData inviteFriend in task.InviteFriendList)
|
||||
{
|
||||
list.Add(inviteFriend);
|
||||
}
|
||||
string actionButtonLabel = Data.SystemText.Get("Guild_List_0007");
|
||||
UserListView friendList = UserListView.CreateDialog(_friendListDialogPrefab, list, OnSelectInviteFriend, actionButtonLabel);
|
||||
friendList.Dialog.SetPanelDepth(30);
|
||||
friendList.Dialog.SetTitleLabel(Data.SystemText.Get("Guild_List_0006"));
|
||||
friendList.PanelDepth = 31;
|
||||
friendList.PlateCustomize = FriendListePlateCustomize;
|
||||
friendList.OnSelect = delegate(UserInfoBase userInfo)
|
||||
{
|
||||
GameMgr.GetIns().GetSoundMgr().PlaySe(Se.TYPE.SYS_BTN_DECIDE);
|
||||
OnSelectInviteFriend(userInfo);
|
||||
friendList.Dialog.Close();
|
||||
};
|
||||
}
|
||||
|
||||
private void FriendListePlateCustomize(UserListViewPlate friendListPlate, UserInfoBase userInfoBase)
|
||||
{
|
||||
GatheringFriendListTask.InviteFriendData inviteData = userInfoBase as GatheringFriendListTask.InviteFriendData;
|
||||
friendListPlate.gameObject.GetComponent<GatheringFriendInviteListPlate>().Initialize(inviteData);
|
||||
}
|
||||
|
||||
private void OnSelectInviteFriend(UserInfoBase userInfo)
|
||||
{
|
||||
SystemText systemText = Data.SystemText;
|
||||
UserDataDialog userDataDialog = UserDataDialog.Create(_userDataDialogPrefab, userInfo, systemText.Get("Gathering_Invite_0002"));
|
||||
DialogBase dialog = userDataDialog.Dialog;
|
||||
userDataDialog.SetDiscriptionLabel(systemText.Get("Gathering_Invite_0003"));
|
||||
dialog.SetButtonText(Data.SystemText.Get("Guild_List_0011"));
|
||||
dialog.SetPanelDepth(30);
|
||||
dialog.onPushButton1 = delegate
|
||||
{
|
||||
Invite(userInfo as GatheringUserInfo);
|
||||
};
|
||||
}
|
||||
|
||||
private void ShowNoFriendDialog()
|
||||
{
|
||||
DialogBase dialogBase = UIManager.GetInstance().CreateDialogClose();
|
||||
dialogBase.SetText(Data.SystemText.Get("Gathering_Invite_0005"));
|
||||
dialogBase.SetButtonLayout(DialogBase.ButtonLayout.OkBtn);
|
||||
dialogBase.SetSize(DialogBase.Size.S);
|
||||
}
|
||||
|
||||
private void OnClickUserIdSearch()
|
||||
{
|
||||
GameMgr.GetIns().GetSoundMgr().PlaySe(Se.TYPE.SYS_BTN_DECIDE);
|
||||
GuildInputViewerIdDialog inputDialog = Object.Instantiate(_idInputDialogPrefab).GetComponent<GuildInputViewerIdDialog>();
|
||||
DialogBase dialogBase = UIManager.GetInstance().CreateDialogClose();
|
||||
dialogBase.SetTitleLabel(Data.SystemText.Get("Guild_List_0002"));
|
||||
dialogBase.SetSize(DialogBase.Size.S);
|
||||
dialogBase.SetObj(inputDialog.gameObject);
|
||||
dialogBase.SetPanelDepth(19);
|
||||
inputDialog.InitializeDialog(dialogBase);
|
||||
dialogBase.SetButtonLayout(DialogBase.ButtonLayout.BlueBtn_CancelBtn);
|
||||
dialogBase.SetButtonText(Data.SystemText.Get("Guild_List_0005"));
|
||||
dialogBase.onPushButton1 = delegate
|
||||
{
|
||||
FindViewerIdUser(inputDialog.InputValue);
|
||||
};
|
||||
}
|
||||
|
||||
private void FindViewerIdUser(int search_viewer_id)
|
||||
{
|
||||
FriendUserSearchTask friendUserSearchTask = new FriendUserSearchTask();
|
||||
friendUserSearchTask.SetParameter(search_viewer_id);
|
||||
StartCoroutine(Toolbox.NetworkManager.Connect(friendUserSearchTask, delegate
|
||||
{
|
||||
GatheringUserInfo userInfo = new GatheringUserInfo(Data.SearchUserInfo.data.user);
|
||||
SystemText systemText = Data.SystemText;
|
||||
UserDataDialog userDataDialog = UserDataDialog.Create(_userDataDialogPrefab, userInfo, systemText.Get("Gathering_Invite_0002"));
|
||||
DialogBase dialog = userDataDialog.Dialog;
|
||||
userDataDialog.SetDiscriptionLabel(systemText.Get("Gathering_Invite_0003"));
|
||||
dialog.SetButtonText(Data.SystemText.Get("Guild_List_0011"));
|
||||
dialog.onPushButton1 = delegate
|
||||
{
|
||||
Invite(userInfo);
|
||||
};
|
||||
}));
|
||||
}
|
||||
|
||||
private void Invite(GatheringUserInfo user)
|
||||
{
|
||||
GatheringInviteTask gatheringInviteTask = new GatheringInviteTask();
|
||||
gatheringInviteTask.SetParameter(user.ViewerId.ToString());
|
||||
StartCoroutine(Toolbox.NetworkManager.Connect(gatheringInviteTask, delegate
|
||||
{
|
||||
OnSuccessInvite();
|
||||
}));
|
||||
}
|
||||
|
||||
private void OnSuccessInvite()
|
||||
{
|
||||
UIManager.GetInstance().CreateConfirmationDialog(Data.SystemText.Get("Gathering_Invite_0004")).OnClose = delegate
|
||||
{
|
||||
_parent.ReOpenCurrentCategory();
|
||||
};
|
||||
}
|
||||
|
||||
private void CopyInviteText()
|
||||
{
|
||||
GameMgr.GetIns().GetSoundMgr().PlaySe(Se.TYPE.SYS_BTN_DECIDE);
|
||||
CreateDialog(Data.SystemText.Get("RoomBattle_0186"), Data.SystemText.Get("Gathering_0044"));
|
||||
NativePluginWrapper.SetStringToClipboard(GetTweetText());
|
||||
}
|
||||
|
||||
private string GetTweetText()
|
||||
{
|
||||
string hashTags = _selfInfoTask._hashTags;
|
||||
GatheringInfo info = _selfInfoTask.Info;
|
||||
string gatheringTypeString = GatheringUtility.GetGatheringTypeString(info);
|
||||
string text = GetFormatTexForHashTag(info.Rule.BattleParameterInstance.DeckFormat) + "/" + RoomRuleSetting.GetWinTypeString(info.Rule.BattleParameterInstance.Rule);
|
||||
return Data.SystemText.Get("Gathering_0043", hashTags, info.Id, gatheringTypeString, text, info.BattleStartTimeShort);
|
||||
}
|
||||
|
||||
private string GetFormatTexForHashTag(Format deckFormat)
|
||||
{
|
||||
return deckFormat switch
|
||||
{
|
||||
Format.Hof => Data.SystemText.Get("RoomBattle_0188"),
|
||||
Format.Windfall => Data.SystemText.Get("RoomBattle_0193"),
|
||||
Format.Crossover => Data.SystemText.Get("RoomBattle_0194"),
|
||||
Format.MyRotation => Data.SystemText.Get("RoomBattle_0205"),
|
||||
Format.Avatar => Data.SystemText.Get("RoomBattle_0208"),
|
||||
_ => FormatBehaviorManager.GetFormatName(deckFormat),
|
||||
};
|
||||
}
|
||||
|
||||
private void CreateDialog(string title, string msg)
|
||||
{
|
||||
DialogBase dialogBase = UIManager.GetInstance().CreateDialogClose();
|
||||
dialogBase.SetTitleLabel(title);
|
||||
dialogBase.SetText(msg);
|
||||
dialogBase.SetButtonLayout(DialogBase.ButtonLayout.OkBtn);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user