VisualTreeAsset SetUpSpawnFactory() { VisualTreeAsset aAsset = AssetDatabase.LoadAssetAtPath <VisualTreeAsset>("Assets/Editor/UXML Files/SpawnFactoryEditor.uxml"); mCurrentObjectElement = aAsset.CloneTree(); mSpawnEnemy = mCurrentObjectElement.Q <ObjectField>("spawn_enemy"); mSpawnEnemy.objectType = typeof(Enemy); mSpawnEnemy.RegisterCallback <ChangeEvent <Object> >((aEv) => GenHelpers.OnSpawnEnemySelection((Enemy)aEv.newValue, mSpawnEnemy)); mSpawnSound = mCurrentObjectElement.Q <ObjectField>("spawn_sound"); mSpawnSound.objectType = typeof(AudioClip); mSpawnSound.RegisterCallback <ChangeEvent <Object> >((aEv) => GenHelpers.OnCollectSoundSelection((AudioClip)aEv.newValue, mSpawnSound)); mFactorySprite = mCurrentObjectElement.Q <ObjectField>("factory_sprite"); mFactorySprite.objectType = typeof(Sprite); mFactorySprite.RegisterCallback <ChangeEvent <Object> >((aEv) => GenHelpers.OnSpriteSelection((Sprite)aEv.newValue, mFactorySprite)); return(aAsset); }
VisualTreeAsset SetUpPickable() { VisualTreeAsset aAsset = AssetDatabase.LoadAssetAtPath <VisualTreeAsset>("Assets/Editor/UXML Files/PickableEditor.uxml"); mCurrentObjectElement = aAsset.CloneTree(); mItemType = mCurrentObjectElement.Q <EnumField>("item_type"); mItemType.Init(Item.Type.HealthBoost); mItemType.RegisterCallback <ChangeEvent <System.Enum> >((aEv) => OnItemTypeChanged((Item.Type)aEv.newValue)); mItemSound = mCurrentObjectElement.Q <ObjectField>("item_collect_sound"); mItemSound.objectType = typeof(AudioClip); mItemSound.RegisterCallback <ChangeEvent <Object> >((aEv) => GenHelpers.OnCollectSoundSelection((AudioClip)aEv.newValue, mItemSound)); mItemSprite = mCurrentObjectElement.Q <ObjectField>("item_idle_sprite"); mItemSprite.objectType = typeof(Sprite); mItemSprite.RegisterCallback <ChangeEvent <Object> >((aEv) => GenHelpers.OnSpriteSelection((Sprite)aEv.newValue, mItemSprite)); return(aAsset); }