dbrizov / NaughtyAttributes

Attribute Extensions for Unity
MIT License
4.47k stars 463 forks source link

Added Typed Dropdown boiler plate #368

Open apilola opened 1 year ago

apilola commented 1 year ago

I've written this attribute using the SerializedReference API. It should work with pretty much any Non UnityEngine.Object derived type. Here is an example of it in action. I would submit a pull request for it, but it requires the project to be upgraded to 2021.2.

I could use a preprocessor directive to hide it, after I make my pull request. What are your thoughts?

TypeDropdown

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class AnimalTest : MonoBehaviour
{
    [SerializeReference, TypeDropdown(typeof(Animal))] Animal MyPet;
}

[System.Serializable]
public class Animal
{
    public string nickname = "Silly Billy";
}

public class Dog : Animal
{
    public string Breed = "Golden Retriever";
}

public class Cat : Animal
{
    public int lives = 9;
}