private void Start() { _coroutineRunner = gameObject.AddComponent <CoroutineRunner>(); if (_playOnStart) { Initialize(_tree); Play(); } if (Application.isEditor) { OnInstancedOrDestroyed?.Invoke(); } }
private void OnDestroy() { Clear(); if (Application.isEditor) { var playersOnThisGameObject = TreePlayer.PlayersCache.Where(p => p.GameObject == gameObject).ToArray(); foreach (var player in playersOnThisGameObject) { player.Destroyed(); } OnInstancedOrDestroyed?.Invoke(); } }