void SelectStaticObject(StaticObject pObject) { GenHelpers.ResetSpriteSelection(mSObjSprite); mLayerType.value = pObject.mRenderLayer; mColliderType.value = pObject.mColliderType; mEditoryBlock.Bind(new SerializedObject(pObject)); }
VisualTreeAsset SetUpEnemy() { VisualTreeAsset aAsset = AssetDatabase.LoadAssetAtPath <VisualTreeAsset>("Assets/Editor/UXML Files/EnemyEditor.uxml"); mCurrentObjectElement = aAsset.CloneTree(); mEnAttackSound = mCurrentObjectElement.Q <ObjectField>("enemy_attack_sound"); mEnAttackSound.objectType = typeof(AudioClip); mEnAttackSound.RegisterCallback <ChangeEvent <Object> >((aEv) => GenHelpers.OnAttackSoundSelection((AudioClip)aEv.newValue, mEnAttackSound)); mEnDeathSound = mCurrentObjectElement.Q <ObjectField>("enemy_death_sound"); mEnDeathSound.objectType = typeof(AudioClip); mEnDeathSound.RegisterCallback <ChangeEvent <Object> >((aEv) => GenHelpers.OnDeathSoundSelection((AudioClip)aEv.newValue, mEnDeathSound)); mEnemyType = mCurrentObjectElement.Q <EnumField>("enemy_type"); mEnemyType.Init(Enemy.Type.Collider); mEnemyType.RegisterCallback <ChangeEvent <System.Enum> >((aEv) => OnEnemyTypeChanged((Enemy.Type)aEv.newValue)); mEnProjectile = mCurrentObjectElement.Q <ObjectField>("enemy_projectile"); mEnProjectile.objectType = typeof(Projectile); mEnProjectile.RegisterCallback <ChangeEvent <Object> >((aEv) => GenHelpers.OnEnemyProjectileSelection((Projectile)aEv.newValue, mEnProjectile)); mEnemyAnimList = new ReorderableList(new List <AnimationData>(), typeof(AnimationData)); mEnemyAnimList.drawHeaderCallback = (Rect aRect) => { EditorGUI.LabelField(aRect, "Move Animation Sprites"); }; mEnemyAnimList.drawElementCallback = UpdateEnemyAnimationList; mEnemyAnimList.onAddCallback = AddNewAnimation; mCurrentObjectElement.Q <IMGUIContainer>("enemy_animation_sprites").onGUIHandler = EnemyOnGUI; return(aAsset); }
void SelectSpawnFactory(SpawnFactory pSpawnFactory) { mLayerType.value = pSpawnFactory.mRenderLayer; GenHelpers.ResetSpawnEnemySelection(mSpawnEnemy); GenHelpers.ResetSpriteSelection(mFactorySprite); GenHelpers.ResetCollectSelection(mSpawnSound); mEditoryBlock.Bind(new SerializedObject(pSpawnFactory)); }
void SelectPickable(Item pItem) { GenHelpers.ResetSpriteSelection(mItemSprite); GenHelpers.ResetCollectSelection(mItemSound); mLayerType.value = pItem.mRenderLayer; mItemType.value = pItem.mItemType; mEditoryBlock.Bind(new SerializedObject(pItem)); }
VisualTreeAsset SetUpStaticObject() { VisualTreeAsset aAsset = AssetDatabase.LoadAssetAtPath <VisualTreeAsset>("Assets/Editor/UXML Files/StaticObjectEditor.uxml"); mCurrentObjectElement = aAsset.CloneTree(); mSObjSprite = mCurrentObjectElement.Q <ObjectField>("static_object_sprite"); mSObjSprite.objectType = typeof(Sprite); mSObjSprite.RegisterCallback <ChangeEvent <Object> >((aEv) => GenHelpers.OnSpriteSelection((Sprite)aEv.newValue, mSObjSprite)); mColliderType = mCurrentObjectElement.Q <EnumField>("static_object_collider"); mColliderType.Init(GameScriptable.ColliderType.None); mColliderType.RegisterCallback <ChangeEvent <System.Enum> >((aEv) => OnColliderTypeChanged((GameScriptable.ColliderType)aEv.newValue)); return(aAsset); }
void SelectEnemy(Enemy pEnemy) { mLayerType.value = pEnemy.mRenderLayer; mEnemyType.value = pEnemy.mEnemyType; GenHelpers.ResetDeathSoundSelection(mEnDeathSound); GenHelpers.ResetAttackSoundSelection(mEnAttackSound); GenHelpers.ResetProjectileSelection(mEnProjectile); if (pEnemy.mEnemyAnimations == null) { pEnemy.mEnemyAnimations = new List <AnimationData>(); } mEnemyAnimList.list = pEnemy.mEnemyAnimations; mEditoryBlock.Bind(new SerializedObject(pEnemy)); }
void SetDataFromUXML() { VisualTreeAsset aLevelDataAsset = AssetDatabase.LoadAssetAtPath <VisualTreeAsset>("Assets/Editor/UXML Files/PerLevelEditor.uxml"); mLevelData = aLevelDataAsset.CloneTree(); mGameMusic = mLevelData.Q <ObjectField>("gameplay_music"); mGameMusic.objectType = typeof(AudioClip); mGameMusic.RegisterCallback <ChangeEvent <Object> >((aEv) => GenHelpers.OnGamePlayMusicSelection((AudioClip)aEv.newValue, mGameMusic)); mLevelData.Q <Button>("level_data").RegisterCallback <MouseUpEvent>((aEv) => SaveAsScriptableAsset()); mMapContainer = mLevelData.Q <IMGUIContainer>("level_map"); mActiveBrushId = -1; GetAllScriptableObjects(); mMapContainer.onGUIHandler = LevelMapOnGUI; mMapContainer.RegisterCallback <MouseUpEvent>(ClickGrid); }
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); }
void OnTeleportSoundSelection(AudioClip pTeleportSound) { if (pTeleportSound == null) { return; } string[] aAssetFolder = { "Assets/ScriptableObjects/Asset Meta Data" }; if (!AssetDatabase.IsValidFolder(aAssetFolder[0])) { GenHelpers.ShowSelectionWarning(); ResetTeleportSelection(); return; } string[] aAssetGUIDs = AssetDatabase.FindAssets(pTeleportSound.name, aAssetFolder); if (aAssetGUIDs.Length > 0) { string aPath = AssetDatabase.GUIDToAssetPath(aAssetGUIDs[0]); if (AssetDatabase.GetMainAssetTypeAtPath(aPath) == typeof(AssetMetaData)) { AssetMetaData aCurrentAssetData = (AssetMetaData)AssetDatabase.LoadAssetAtPath(aPath, typeof(AssetMetaData)); if (aCurrentAssetData.mType == AssetMetaData.AssetType.AudioAsset) { mActivePlayer.mGUIDTeleportSound = aCurrentAssetData.mGUID; mActivePlayer.mTeleportSound = pTeleportSound; } else { GenHelpers.ShowSelectionWarning(); ResetTeleportSelection(); return; } } else { GenHelpers.ShowSelectionWarning(); ResetTeleportSelection(); return; } } else { GenHelpers.ShowSelectionWarning(); ResetTeleportSelection(); return; } }
void OnProjectileSelection(Projectile pProjectile) { if (pProjectile == null) { return; } string[] aAssetFolder = { "Assets/ScriptableObjects/Asset Meta Data" }; if (!AssetDatabase.IsValidFolder(aAssetFolder[0])) { GenHelpers.ShowSelectionWarning(); ResetProjectileSelection(); return; } string[] aAssetGUIDs = AssetDatabase.FindAssets(pProjectile.name, aAssetFolder); if (aAssetGUIDs.Length > 0) { string aPath = AssetDatabase.GUIDToAssetPath(aAssetGUIDs[0]); if (AssetDatabase.GetMainAssetTypeAtPath(aPath) == typeof(AssetMetaData)) { AssetMetaData aCurrentAssetData = (AssetMetaData)AssetDatabase.LoadAssetAtPath(aPath, typeof(AssetMetaData)); if (aCurrentAssetData.mType == AssetMetaData.AssetType.PrefabAsset) { mActivePlayer.mGUIDProjectile = aCurrentAssetData.mGUID; mActivePlayer.mProjectile = pProjectile; } else { GenHelpers.ShowSelectionWarning(); ResetProjectileSelection(); return; } } else { GenHelpers.ShowSelectionWarning(); ResetProjectileSelection(); return; } } else { GenHelpers.ShowSelectionWarning(); ResetProjectileSelection(); return; } }