115 lines
3.2 KiB
Ucode
115 lines
3.2 KiB
Ucode
|
/**
|
||
|
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
||
|
*
|
||
|
* Abstract base class for a track of interpolated data. Contains the actual data.
|
||
|
* The Outer of an InterpTrack is the InterpGroup.
|
||
|
*/
|
||
|
|
||
|
class InterpTrack extends Object
|
||
|
native
|
||
|
noexport
|
||
|
collapsecategories
|
||
|
hidecategories(Object)
|
||
|
inherits(FInterpEdInputInterface)
|
||
|
abstract;
|
||
|
|
||
|
|
||
|
/** FCurveEdInterface virtual function table. */
|
||
|
var private native noexport pointer CurveEdVTable;
|
||
|
|
||
|
/** Helper struct for creating sub tracks supported by this track */
|
||
|
struct native SupportedSubTrackInfo
|
||
|
{
|
||
|
/** The sub track class which is supported by this track */
|
||
|
var class<InterpTrack> SupportedClass;
|
||
|
/** The name of the subtrack */
|
||
|
var String SubTrackName;
|
||
|
/** Index into the any subtrack group this subtrack belongs to (can be -1 for no group) */
|
||
|
var int GroupIndex;
|
||
|
};
|
||
|
|
||
|
/** A small structure holding data for grouping subtracks. (For UI drawing purposes) */
|
||
|
struct native SubTrackGroup
|
||
|
{
|
||
|
/** Name of the subtrack group */
|
||
|
var string GroupName;
|
||
|
/** Indices to tracks in the parent track subtrack array. */
|
||
|
var array<int> TrackIndices;
|
||
|
/** If this group is collapsed */
|
||
|
var bool bIsCollapsed;
|
||
|
/** If this group is selected */
|
||
|
var transient bool bIsSelected;
|
||
|
};
|
||
|
|
||
|
/** A list of subtracks that belong to this track */
|
||
|
var array<InterpTrack> SubTracks;
|
||
|
|
||
|
/** A list of subtrack groups (for editor UI organization only) */
|
||
|
var editoronly array<SubTrackGroup> SubTrackGroups;
|
||
|
|
||
|
/** A list of supported tracks that can be a subtrack of this track. */
|
||
|
var transient editoronly array< SupportedSubTrackInfo > SupportedSubTracks;
|
||
|
|
||
|
var class<InterpTrackInst> TrackInstClass;
|
||
|
|
||
|
/** Required condition for this track to be enabled */
|
||
|
enum ETrackActiveCondition
|
||
|
{
|
||
|
/** Track is always active */
|
||
|
ETAC_Always,
|
||
|
|
||
|
/** Track is active when extreme content (gore) is enabled */
|
||
|
ETAC_GoreEnabled,
|
||
|
|
||
|
/** Track is active when extreme content (gore) is disabled */
|
||
|
ETAC_GoreDisabled
|
||
|
};
|
||
|
|
||
|
|
||
|
/** Sets the condition that must be met for this track to be enabled */
|
||
|
var() ETrackActiveCondition ActiveCondition;
|
||
|
|
||
|
/** Title of track type. */
|
||
|
var string TrackTitle;
|
||
|
|
||
|
/** Whether there may only be one of this track in an InterpGroup. */
|
||
|
var bool bOnePerGroup;
|
||
|
|
||
|
/** If this track can only exist inside the Director group. */
|
||
|
var bool bDirGroupOnly;
|
||
|
|
||
|
/** Whether or not this track should actually update the target actor. */
|
||
|
var bool bDisableTrack;
|
||
|
|
||
|
/** If true, the Actor this track is working on will have BeginAnimControl/FinishAnimControl called on it. */
|
||
|
var bool bIsAnimControlTrack;
|
||
|
|
||
|
/** If this track can only exist as a sub track. */
|
||
|
var bool bSubTrackOnly;
|
||
|
|
||
|
/** Whether or not this track is visible in the editor. */
|
||
|
var transient bool bVisible;
|
||
|
|
||
|
/** Whether or not this track is selected in the editor. */
|
||
|
var transient bool bIsSelected;
|
||
|
|
||
|
/** Whether or not this track is recording in the editor. */
|
||
|
var transient bool bIsRecording;
|
||
|
|
||
|
/** If this track is collapsed. (Only applies to tracks with subtracks). */
|
||
|
var editoronly bool bIsCollapsed;
|
||
|
|
||
|
|
||
|
defaultproperties
|
||
|
{
|
||
|
TrackInstClass=class'Engine.InterpTrackInst'
|
||
|
|
||
|
ActiveCondition=ETAC_Always
|
||
|
TrackTitle="Track"
|
||
|
bVisible=true
|
||
|
bIsSelected=false
|
||
|
bIsRecording=false
|
||
|
bIsCollapsed=false
|
||
|
|
||
|
}
|