public bool RefreshIcon(bool forceNewRequest = false) { if (!forceNewRequest) { if (iconRequest != null) { //Debug.LogWarning($"Item icon is already being regenerated, please wait or call with forceNewRequest set to true."); return(false); } } // Cancel prevoious request, if it exists. if (iconRequest != null) { iconRequest.IsDone = true; iconRequest.InputTexture = null; iconRequest = null; } // Create request. iconRequest = new IconGen.Request() { Item = this, InputTexture = IconTexture, OnComplete = newIcon => { if (newIcon != IconTexture) { Destroy(IconTexture); } IconTexture = newIcon; iconRequest = null; } }; // Submit request. IconGen.RequestIcon(iconRequest); return(true); }
private void Awake() { _instance = this; }