using GadGame.Manager; using GadGame.SO; using GadGame.State; using GadGame.State.MainFlowState; using GadGame.Network; using UnityEngine; using System.Net.NetworkInformation; using GadGame.Event.Type; namespace GadGame { public class MainFlow : StateRunner { public SceneFlowConfig SceneFlowConfig; public VoidEvent ScanSuccess; public VoidEvent EngageReady; public BoolEvent PlayPassByAnim; public BoolEvent PlayVideo; public FloatEvent ReadyCountDown; public StringEvent GenerateImageSuccess; public StringEvent EncodeImage; protected override async void Awake() { base.Awake(); DontDestroyOnLoad(gameObject); } private async void Start() { string _macAddress = GetMacAddressString(); Debug.Log(_macAddress); await P4PGraphqlManager.Instance.LoginMachine(_macAddress); await LoadSceneManager.Instance.LoadSceneWithTransitionAsync(SceneFlowConfig.PassByScene.ScenePath); SetState(); } private string GetMacAddressString() { NetworkInterface[] networkInterfaces = NetworkInterface.GetAllNetworkInterfaces(); foreach (NetworkInterface networkInterface in networkInterfaces) { // Filter out loopback and virtual interfaces if (networkInterface.NetworkInterfaceType != NetworkInterfaceType.Ethernet && networkInterface.NetworkInterfaceType != NetworkInterfaceType.Wireless80211) continue; PhysicalAddress physicalAddress = networkInterface.GetPhysicalAddress(); byte[] bytes = physicalAddress.GetAddressBytes(); string macAddress = ""; for (int i = 0; i < bytes.Length; i++) { macAddress += bytes[i].ToString("X2"); } return macAddress; } return ""; } } }