初始化

This commit is contained in:
2026-06-05 22:12:05 +08:00
commit d7146f87ac
1999 changed files with 221608 additions and 0 deletions

View File

@@ -0,0 +1,85 @@
using System;
using System.Threading.Tasks;
using Stary.Evo;
using Stary.Evo.UIFarme;
using UnityEngine;
using UnityEngine.UI;
using YooAsset;
namespace Main
{
public class DomainPanel : BasePanel, IBasePanel
{
public override string UIPath => "/DomainPanel";
public override UITweenType TweenType => UITweenType.Fade;
private string[] domains;
private GameObject[] _domainGrids;
public override async Task InitializeAsync(GameObject panelGo)
{
await base.InitializeAsync(panelGo);
domains = await ArtLoadAssetServer.GetServerDomainAllName();
_domainGrids = new GameObject[domains.Length];
if (domains != null)
{
var package = YooAssets.TryGetPackage("Main");
var handle = package.LoadAssetAsync<GameObject>(R.Res.Main.prefabs.viewbg_prefab);
await handle.Task;
// float count = domains.Length / 2f;
// float x = (-70 * count) + 35;
var grid = this.activePanel.transform.Find("Grid");
for (int i = 0; i < domains.Length; i++)
{
// x += (70 * i);
var viewBg =
handle.InstantiateSync();
viewBg.transform.SetParent(grid);
viewBg.transform.localPosition = Vector3.zero;
viewBg.transform.localRotation = Quaternion.identity;
viewBg.transform.localScale = Vector3.one;
viewBg.transform.Find("Text").GetComponent<Text>().text = domains[i];
viewBg.name = domains[i];
_domainGrids[i] = viewBg;
}
}
}
public override void OnEnter(Action complete = null)
{
StringEventSystem.Global.Send("X_ButtonHierarchyType",DeviceXEventHandler.HierarchyType.Domain);
for (int i = 0; i < _domainGrids.Length; i++)
{
//_domainGrids[i].gameObject.ObjectAddTouchEvent(OnTouchComplete);
}
base.OnEnter(complete);
}
private async void OnTouchComplete(GameObject go)
{
for (int i = 0; i < _domainGrids.Length; i++)
{
// _domainGrids[i].gameObject.ObjectPauseTouchEvent();
}
HybridClREntrance.Global.domain = go.name;
await HybridClREntrance.Global.OpenDomain();
await this.GetSystem<IPanelSystem>()
.PushStack<ScenePanel>(packageName: "Main");
this.GetSystem<IPanelSystem>().SendEvent("SetSceneData", go.name);
}
public override void OnExit(float delay = 0f)
{
for (int i = 0; i < _domainGrids.Length; i++)
{
//_domainGrids[i].gameObject.ObjectRemoveTouchEvent();
}
base.OnExit(delay);
}
}
}