private System.Collections.IEnumerator CorProcess(BaseSearchableObject searchableObject) { yield return(new WaitForSeconds(2.5f)); if (searchableObject && searchableObject.isActive && !searchableObject.isCollected) { var searchManager = FindObjectOfType <SearchManager>(); searchManager?.CollectObject(searchableObject); } yield return(new WaitForSeconds(0.5f)); Destroy(gameObject); }
public void CollectObject(BaseSearchableObject searchableObject) { var activeData = activeObjects.FirstOrDefault(obj => obj.id == searchableObject.id); if (activeData != null) { activeObjects.Remove(activeData); foundedObjects.Add(activeData); RavenhillEvents.OnSearchProgressChanged(foundedSearchObjectCount, searchableObjectCount); searchableObject.Collect(); if (isWin) { Debug.Log("EXIT"); EndSearch(status: SearchStatus.success, showExitRoomView: true); } } }
public void SetTarget(BaseSearchableObject searchableObject) { StartCoroutine(CorProcess(searchableObject)); }
public static void OnSearchObjectActivated(SearchObjectData data, BaseSearchableObject searchableObject) { SearchObjectActivated?.Invoke(data, searchableObject); }