summaryrefslogtreecommitdiff
path: root/Assets/ThirdParty/AdvancedInspector/Examples/CSharp/AIExample27_CreateDerived.cs
blob: aab3742eb9345c3ed88ed50a60762ca233662363 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
using System;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
using System.Collections;

using AdvancedInspector;

[AdvancedInspector]
public class AIExample27_CreateDerived : MonoBehaviour 
{
    // Usually in Unity, polymorphism is a rather annoying issue.
    // If you don't know what polymorphism is; http://en.wikipedia.org/wiki/Polymorphism_%28computer_science%29
    // Read up about it, it's VERY important!
    // To fix the issue Unity has with polymorphism, you can use the CreateDerived attribute with a base type that derive from ComponentMonoBehaviour;
    // This allows you to create instances directly from that field.
    [Inspect, CreateDerived]
    public AIExample_BaseClass[] myField;
}