public static AsyncOperationHandle <Sprite> LoadSpriteAsync(AssetReferenceSprite pAsset, Action <float> pProgress = null, Action <Sprite> pOnCompleted = null) { var operation = pAsset.LoadAssetAsync(); WaitLoadTask(operation, pProgress, pOnCompleted); return(operation); }
private static void LoadFlagSprites(AssetReferenceSprite playerFlagReference, Component buttonParent, IReadOnlyList <GameObject> characters, IReadOnlyList <Sprite> characterIcons, Transform spawnLocation, Image characterPreviewImage, TextMeshProUGUI characterReadyText, int playerIndex) { void OnSpriteLoaded(AsyncOperationHandle <Sprite> asyncOperationHandle) { SetFlagBehavior(buttonParent, characters, characterIcons, spawnLocation, characterPreviewImage, characterReadyText, asyncOperationHandle.Result, playerIndex); } playerFlagReference.LoadAssetAsync().Completed += OnSpriteLoaded; }
public void AssetReferenceEditorAssetForSubObject_Sprite() { var guid = AssetDatabase.AssetPathToGUID(m_TexturePath); AssetReferenceSprite atlasReference = new AssetReferenceSprite(guid); atlasReference.SubObjectName = "testTexture"; //Test Assert.IsNotNull(atlasReference.editorAsset); }
public SerializedProperty SetupForSetSubAssetsList(SpriteAtlas spriteAtlas, int numReferences, int selectedElement, int numElements = 1, bool setReferences = true, int numToSet = -1) { // Setup AssetReference selected m_AssetReferenceDrawer = new AssetReferenceDrawer(); var assetPath = AssetDatabase.GetAssetOrScenePath(spriteAtlas); var atlasGuid = AssetDatabase.AssetPathToGUID(assetPath); AssetReferenceSprite sar = new AssetReferenceSprite(atlasGuid); // Default to preset all references if (setReferences && numToSet == -1) { numToSet = numReferences - 1; } // Select one element per reference array as a targetObject var targetObjects = new Object[numElements]; for (int refIdx = 0; refIdx < numReferences; refIdx++) { var testScriptable = TestSubObjectsSpriteAtlasList.CreateInstance <TestSubObjectsSpriteAtlasList>(); testScriptable.testSpriteReference = new AssetReferenceSprite[numElements]; // Preset reference array elements for certain tests if (setReferences && refIdx <= numToSet) { for (int i = 0; i < numElements; i++) { AssetReferenceSprite ar = new AssetReferenceSprite(atlasGuid); testScriptable.testSpriteReference[i] = ar; testScriptable.testSpriteReference[i].SubObjectName = "test"; } } var serialObj = new SerializedObject(testScriptable); var serProp = serialObj.FindProperty("testSpriteReference.Array.data[" + selectedElement + "]"); targetObjects[refIdx] = serProp.serializedObject.targetObject; } // Get main property to pass to AssetReferenceDrawer var property = SetupPropertyDrawerSetListTests(targetObjects, sar, selectedElement); return(property); }
/// <summary> /// Load Sprites Async by Unity Addressable System /// </summary> /// <param name="spriteReference"> target sprite reference </param> /// <param name="onComplete"> on completed callback </param> /// <param name="onFailed"> on error callback </param> public void LoadSprite(AssetReferenceSprite spriteReference, Action <Sprite> onComplete, Action <string> onFailed = null) { spriteReference.LoadAssetAsync() .Completed += response => { if (response.Status == AsyncOperationStatus.Failed) { onFailed?.Invoke(response.PercentComplete.ToString()); } else if (response.Status == AsyncOperationStatus.Succeeded) { onComplete?.Invoke(response.Result); } else { Debug.LogError("None Result > " + response.Result); } }; }
public static void Add(AssetReferenceSprite assetRef) { if (assetRef.RuntimeKeyIsValid()) { if (assetRef.Asset == null && !AssetRefs.Contains(assetRef)) { AssetRefs.Enqueue(assetRef); if (AssetRefs.Count == 1) { LoadNext(); } } else { DispatchCompletedAllIfEmpty(); } } else { DispatchCompletedAllIfEmpty(); } }
public SerializedProperty SetupForSetSubAssets(SpriteAtlas spriteAtlas, int numReferences, bool setReferences = true, int numToSet = -1) { // Setup AssetReference selected m_AssetReferenceDrawer = new AssetReferenceDrawer(); var assetPath = AssetDatabase.GetAssetOrScenePath(spriteAtlas); var atlasGuid = AssetDatabase.AssetPathToGUID(assetPath); AssetReferenceSprite ar = new AssetReferenceSprite(atlasGuid); // Setup property if (numToSet == -1) { numToSet = numReferences - 1; } var targetObjects = new Object[numReferences]; for (int i = 0; i < numReferences; i++) { var testScriptable = TestSubObjectsSpriteAtlas.CreateInstance <TestSubObjectsSpriteAtlas>(); // Preset references for certain tests if (setReferences && i <= numToSet) { testScriptable.testSpriteReference = ar; } targetObjects[i] = testScriptable; } var so = new SerializedObject(targetObjects); var property = so.FindProperty("testSpriteReference"); m_AssetReferenceDrawer.GatherFilters(property); Directory.CreateDirectory("Assets/AddressableAssetsData"); AddressableAssetSettingsDefaultObject.Settings = Settings; m_AssetReferenceDrawer.m_AssetRefObject = ar; m_AssetReferenceDrawer.m_label = new GUIContent("testSpriteReference"); return(property); }
public void SetSpriteReference(AssetReferenceSprite sprite) { Traverse.Create(guiPresentation).Field("spriteReference").SetValue(sprite); }
public GuiPresentationBuilder SetSpriteReference(AssetReferenceSprite sprite) { guiPresentation.SetSpriteReference(sprite); return(this); }
public EffectProxyDefinitionBuilder SetPortrait(AssetReferenceSprite portraitSpriteReference) { Definition.SetHasPortrait(true); Definition.SetPortraitSpriteReference(portraitSpriteReference); return(this); }
public static T SetActiveSpriteReference <T>(this T entity, AssetReferenceSprite value) where T : LightSourceItemDescription { entity.SetField("activeSpriteReference", value); return(entity); }
public CharacterClassDefinitionBuilder SetPictogram(AssetReferenceSprite sprite) { Definition.SetClassPictogramReference(sprite); return(this); }
public async Task SetOptions(string action, Func <DropdownOption, Task> callback, AssetReferenceSprite iconRef) { this.callback = callback; actionText.text = action; if (icon != null) { try { if (iconRef != null && iconRef.RuntimeKeyIsValid()) { var sprite = await iconRef.LoadOrGetAsync <Sprite>(); icon.sprite = sprite; } else { icon.gameObject.SetActive(false); } } catch (Exception e) { Debug.LogError($"cannot load icon: {iconRef?.SubObjectName}"); Debug.LogException(e); } } }
public static T SetSmallSpriteReference <T>(this T entity, AssetReferenceSprite value) where T : FactionDefinition { entity.SetField("smallSpriteReference", value); return(entity); }
public void SetPictogram(AssetReferenceSprite sprite) { Traverse.Create(myClass).Field("classPictogramReference").SetValue(sprite); }
public static T SetSpriteReference <T>(this T entity, AssetReferenceSprite value) where T : ContentFragmentDescription { entity.SetField("spriteReference", value); return(entity); }
public static T SetClassPictogramReference <T>(this T entity, AssetReferenceSprite value) where T : CharacterClassDefinition { entity.SetField("classPictogramReference", value); return(entity); }
public static T SetPortraitSpriteReference <T>(this T entity, AssetReferenceSprite value) where T : EffectProxyDefinition { entity.SetField("portraitSpriteReference", value); return(entity); }
public static T SetBestiarySpriteReference <T>(this T entity, AssetReferenceSprite value) where T : MonsterDefinition { entity.SetField("bestiarySpriteReference", value); return(entity); }