public void LoadState(string id, Action <IState> onStateLoad) { if (cachedStates.ContainsKey(id)) { onStateLoad?.Invoke(cachedStates[id]); } else { AddressableManager.Get(id, container.transform, obj => { IState state = obj.GetComponent <IState>(); cachedStates.Add(state.GetType().Name, state); state.Init(this); onStateLoad?.Invoke(state); }); } }
public override void StartLoad() { AddressableManager.Get().QueueLoader(this); }