private void OnTriggerEnter(Collider other) { if (other.tag == "Player") { myAnimation.Pause(); myMeshRenderer.enabled = false; OnGetItem?.Invoke(gameObject.transform.position); } }
protected Coroutine StartLoadCoroutine <T>(OnGetItem <T> evtKey, IEnumerator iter) where T : UnityEngine.Object { if (evtKey == null || iter == null) { return(null); } Delegate key = evtKey as Delegate; if (key == null) { return(null); } return(StartLoadCoroutine(key, iter)); }
protected IEnumerator LoadAsync <T>(int start, int end, OnGetItem <T> onGetItem, Func <T, string, bool> onLoad, float delayTime = 0) where T : UnityEngine.Object { if (start < 0 || end < 0 || end < start || onGetItem == null || onLoad == null) { yield break; } bool isDelayMode = delayTime > float.Epsilon; WaitForSeconds seconds = null; if (isDelayMode) { seconds = new WaitForSeconds(delayTime); } Delegate key = onGetItem as Delegate; for (int i = start; i <= end; ++i) { T target; string fileName; if (!onGetItem(i, out target, out fileName)) { StopLoadCoroutine(key); yield break; } if (target != null && !string.IsNullOrEmpty(fileName)) { onLoad(target, fileName); } if (seconds != null) { yield return(seconds); } else { yield return(m_EndOfFrame); } } StopLoadCoroutine(key); }
protected IEnumerator LoadAsync <T>(int start, int end, OnGetItem <T> onGetItem, Func <T, string, bool> onLoad) where T : UnityEngine.Object { if (start < 0 || end < 0 || end > start || onGetItem == null || onLoad == null) { yield break; } for (int i = start; i < end; ++i) { T target; string fileName; if (!onGetItem(i, out target, out fileName)) { yield break; } if (target != null && !string.IsNullOrEmpty(fileName)) { onLoad(target, fileName); } yield return(target); } }
public void LoadAniControllerAsync(int start, int end, OnGetItem <Animator> onGetItem, float delayTime = 0) { StartLoadCoroutine(onGetItem, LoadAsync <Animator>(start, end, onGetItem, LoadAniController, delayTime)); }
public void LoadFontAsync(int start, int end, OnGetItem <TextMesh> onGetItem, float delayTime = 0) { StartLoadCoroutine(onGetItem, LoadAsync <TextMesh>(start, end, onGetItem, LoadFont, delayTime)); }
public void LoadMainTextureAsync(int start, int end, OnGetItem <MeshRenderer> onGetItem, float delayTime = 0) { StartLoadCoroutine(onGetItem, LoadAsync <MeshRenderer>(start, end, onGetItem, LoadMainTexture, delayTime)); }
public void LoadMaterialAsync(int start, int end, OnGetItem <SpriteRenderer> onGetItem, float delayTime = 0) { StartLoadCoroutine(onGetItem, LoadAsync <SpriteRenderer>(start, end, onGetItem, LoadMaterial, delayTime)); }
public void LoadMainTextureAsync(int start, int end, OnGetItem <UI2DSprite> onGetItem) { StartCoroutine(LoadAsync <UI2DSprite>(start, end, onGetItem, LoadMainTexture)); }
public void LoadMainTextureAsync(int start, int end, OnGetItem <UI2DSprite> onGetItem, float delayTime = 0) { StartLoadCoroutine(onGetItem, LoadAsync <UI2DSprite>(start, end, onGetItem, LoadMainTexture, delayTime)); }
public void LoadFontAsync(int start, int end, OnGetItem <TextMesh> onGetItem) { StartCoroutine(LoadAsync <TextMesh>(start, end, onGetItem, LoadFont)); }
public void LoadMainTextureAsync(int start, int end, OnGetItem <MeshRenderer> onGetItem) { StartCoroutine(LoadAsync <MeshRenderer>(start, end, onGetItem, LoadMainTexture)); }
public void LoadMaterialAsync(int start, int end, OnGetItem <SpriteRenderer> onGetItem) { StartCoroutine(LoadAsync <SpriteRenderer>(start, end, onGetItem, LoadMaterial)); }
public void LoadAltasAsync(int start, int end, OnGetItem <UISprite> onGetItem) { StartCoroutine(LoadAsync <UISprite>(start, end, onGetItem, LoadAltas)); }
public void LoadMaterialAsync(int start, int end, OnGetItem <UI2DSprite> onGetItem) { StartCoroutine(LoadAsync <UI2DSprite>(start, end, onGetItem, LoadMaterial)); }
public void LoadAniControllerAsync(int start, int end, OnGetItem <Animator> onGetItem) { StartCoroutine(LoadAsync <Animator>(start, end, onGetItem, LoadAniController)); }
public void LoadMaterialAsync(int start, int end, OnGetItem <UITexture> onGetItem, float delayTime = 0) { StartLoadCoroutine(onGetItem, LoadAsync <UITexture>(start, end, onGetItem, LoadMaterial, delayTime)); }
public void GetItem(ActivateableItems newItem) { OnGetItem?.Invoke(newItem); }
public void LoadAltasAsync(int start, int end, OnGetItem <UISprite> onGetItem, float delayTime = 0) { StartLoadCoroutine(onGetItem, LoadAsync <UISprite>(start, end, onGetItem, LoadAltas, delayTime)); }
public void LoadShaderAsync(int start, int end, OnGetItem <UITexture> onGetItem) { StartCoroutine(LoadAsync <UITexture>(start, end, onGetItem, LoadShader)); }