73 lines
1.8 KiB
Ucode
73 lines
1.8 KiB
Ucode
/**
|
|
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
|
*/
|
|
class SeqVar_Object extends SequenceVariable
|
|
native(Sequence);
|
|
|
|
cpptext
|
|
{
|
|
virtual UObject** GetObjectRef( INT Idx )
|
|
{
|
|
if( Idx != 0 )
|
|
{
|
|
return NULL;
|
|
}
|
|
return &ObjValue;
|
|
}
|
|
|
|
virtual FVector* GetRef();
|
|
|
|
// Moved to CPP
|
|
virtual FString GetValueStr();
|
|
|
|
virtual void OnExport()
|
|
{
|
|
ObjValue = NULL;
|
|
}
|
|
|
|
virtual UBOOL SupportsProperty(UProperty *Property)
|
|
{
|
|
return (Property->IsA(UObjectProperty::StaticClass()) ||
|
|
(Property->IsA(UArrayProperty::StaticClass()) && ((UArrayProperty*)Property)->Inner->IsA(UObjectProperty::StaticClass())));
|
|
}
|
|
|
|
virtual void PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent);
|
|
|
|
virtual void PublishValue(USequenceOp *Op, UProperty *Property, FSeqVarLink &VarLink);
|
|
virtual void PopulateValue(USequenceOp *Op, UProperty *Property, FSeqVarLink &VarLink);
|
|
|
|
#if WITH_EDITOR
|
|
// USequenceVariable interface
|
|
virtual void DrawExtraInfo(FCanvas* Canvas, const FVector& CircleCenter);
|
|
#endif
|
|
}
|
|
|
|
var() protected Object ObjValue;
|
|
|
|
/** Local copy of the actor location, used as a dummy when treating an Actor as a vector, to prevent accidental writes to the Actor location */
|
|
var transient vector ActorLocation;
|
|
|
|
var const array<class<Object> > SupportedClasses;
|
|
|
|
/** returns the object this variable is currently pointing to
|
|
* if this variable represents a list of objects, only returns the first one
|
|
*/
|
|
function Object GetObjectValue()
|
|
{
|
|
return ObjValue;
|
|
}
|
|
|
|
/** sets the object this variable points to */
|
|
function SetObjectValue(Object NewValue)
|
|
{
|
|
ObjValue = NewValue;
|
|
}
|
|
|
|
defaultproperties
|
|
{
|
|
ObjName="Object"
|
|
ObjCategory="Object"
|
|
ObjColor=(R=255,G=0,B=255,A=255) // purple
|
|
SupportedClasses=(class'Object')
|
|
}
|