76 lines
1.7 KiB
C#
76 lines
1.7 KiB
C#
using System;
|
|
using UnityEngine;
|
|
|
|
|
|
namespace NeoFPS
|
|
{
|
|
public class NeoObjectInHierarchyFieldAttribute : PropertyAttribute
|
|
{
|
|
public bool allowRoot
|
|
{
|
|
get;
|
|
private set;
|
|
}
|
|
|
|
public bool required
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
|
|
public GameObjectFilter filter
|
|
{
|
|
get;
|
|
private set;
|
|
}
|
|
|
|
public string rootProperty
|
|
{
|
|
get;
|
|
private set;
|
|
}
|
|
|
|
public RootPropertyType rootPropertyType
|
|
{
|
|
get;
|
|
private set;
|
|
}
|
|
|
|
public NeoObjectInHierarchyFieldAttribute(bool allowRoot)
|
|
{
|
|
filter = null;
|
|
rootProperty = null;
|
|
this.allowRoot = allowRoot;
|
|
}
|
|
|
|
public NeoObjectInHierarchyFieldAttribute(string rootProperty, RootPropertyType rootPropertyType, bool allowRoot)
|
|
{
|
|
filter = null;
|
|
this.rootProperty = rootProperty;
|
|
this.rootPropertyType = rootPropertyType;
|
|
this.allowRoot = allowRoot;
|
|
}
|
|
|
|
public NeoObjectInHierarchyFieldAttribute(bool allowRoot, GameObjectFilter filter)
|
|
{
|
|
rootProperty = null;
|
|
this.allowRoot = allowRoot;
|
|
this.filter = filter;
|
|
}
|
|
|
|
public NeoObjectInHierarchyFieldAttribute(string rootProperty, RootPropertyType rootPropertyType, bool allowRoot, GameObjectFilter filter)
|
|
{
|
|
this.rootProperty = rootProperty;
|
|
this.rootPropertyType = rootPropertyType;
|
|
this.allowRoot = allowRoot;
|
|
this.filter = filter;
|
|
}
|
|
}
|
|
|
|
public enum RootPropertyType
|
|
{
|
|
Transform,
|
|
GameObject,
|
|
Component
|
|
}
|
|
} |