# FlexibleComponent

Class in Arbor / Inherits from: FlexibleSceneObjectBase
Implements interfaces: IValueGetter<UnityEngine.Component>

## Description

Class to handle a flexible Component type reference method there is more than one.

## Remarks

Available Attributes :

- ClassTypeConstraintAttribute
- SlotTypeAttribute

## Constructors

| Description
--- | ---
FlexibleComponent | FlexibleComponent default constructor

## Properties

Property Name | Description
--- | ---
overrideConstraintType | Overriding type constraints. Used for GetComponent when Type isFlexibleSceneObjectType.Hierarchy.
parameter | It return a Paramter. It is null if Type is other than Parameter.
value | It returns a value

## Methods

Method Name | Description
--- | ---
GetConstantObject | Returns an Object of FlexibleSceneObjectType.Constant.
GetValueObject | Return the value as object.

## Operators

Operator Name | Description
--- | ---
Component | Cast FlexibleColor to Component.
FlexibleComponent | Cast Component to FlexibleComponent.

## Inherited Members

### Fields

Field Name | Description
--- | ---
_HierarchyType | Reference type of Hierarchy specified when Type is FlexibleSceneObjectType.Hierarchy.
_Type | Specified type of value

### Properties

Property Name | Description
--- | ---
fieldInfo | Return the FieldInfo that owns this instance
hierarchyType | In the case of FlexibleSceneObjectType.Hierarchy, return FlexibleHierarchyType representing which object to reference
ownerObject | Return the object that owns this instance
targetGameObject | Returns the GameObject to be referenced in case of FlexibleSceneObjectType.Hierarchy.
targetGraph | Returns the NodeGraph to be referenced in case of FlexibleSceneObjectType.Hierarchy.
type | It returns a type

### Methods

Method Name | Description
--- | ---
SetHierarchyIfConstantNull | Change to FlexibleSceneObjectType.Hierarchy if FlexibleSceneObjectType.Constant and the referencing object is null.