using BNG; using System; using System.Collections; using System.Collections.Generic; using UnityEngine; public class StartGameSlot : MonoBehaviour { private SnapZone _snapZone; private LeanTimer _leanTimer; private void Awake() { _snapZone = GetComponent(); _leanTimer = GetComponent(); } private void OnEnable() { _snapZone.OnSnapEvent.AddListener(OnSnaped); _snapZone.OnDetachEvent.AddListener(OnDetach); } private void OnDisable() { _snapZone.OnSnapEvent.RemoveListener(OnSnaped); _snapZone.OnDetachEvent.RemoveListener(OnDetach); } private void OnSnaped(Grabbable grab) { var info = grab.GetComponent().Info; string level = info.SceneName; bool isAllMapsMode = info.AllMaps; void LoadSelectedLevel() { SceneLoader.Instance.LoadScene(level, isAllMapsMode); } grab.GetComponent().SnapObject(); _leanTimer.StartTimer(1, 0, 3, LoadSelectedLevel); } private void OnDetach(Grabbable grab) { grab.GetComponent().ReleaseObject(); _leanTimer.StopTimer(1); } }