importonly struct inkScreenProjectionData
{
	import var entity : weak< Entity >;
	import var slotComponentName : CName;
	import var slotName : CName;
	import var slotFallbackName : CName;
	import var staticWorldPosition : Vector4;
	import var fixedWorldOffset : Vector4;
	import var userData : weak< IScriptable >;
	import var adjustWithDistance : Bool;
	import var extraOffsetAtMaxDistance : Vector3;
}

importonly class inkScreenProjection extends IScriptable
{
	import const var distanceToCamera : Float;
	import const var previousPosition : Vector2;
	import const var currentPosition : Vector2;
	import const var uvPosition : Vector2;

	public import function RegisterListener( object : IScriptable, functionName : CName );
	public import function UnregisterListener( object : IScriptable, functionName : CName );
	public import function IsInScreen() : Bool;
	public import function GetEntity() : Entity;
	public import function SetEntity( entity : Entity );
	public import function ResetEntity();
	public import function GetSlotComponentName() : CName;
	public import function SetSlotComponentName( slotComponentName : CName );
	public import function GetSlotName() : CName;
	public import function SetSlotName( slotName : CName );
	public import function GetSlotFallbackName() : CName;
	public import function SetSlotFallbackName( slotName : CName );
	public import function GetStaticWorldPosition() : Vector4;
	public import function SetStaticWorldPosition( position : Vector4 );
	public import function GetFixedWorldOffset() : Vector4;
	public import function SetFixedWorldOffset( offset : Vector4 );
	public import function ResetFixedWorldOffset();
	public import function GetUserData() : IScriptable;
	public import function SetUserData( userData : IScriptable );
	public import function SetEnabled( enabled : Bool );
	public import function VoIsPerceptible( entityId : EntityID ) : Bool;
}

