Overview Package Class Source Class tree Glossary
previous class      next class frames      no frames

U2Dialog.Dialog


00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079
00080
00081
00082
00083
00084
00085
00086
00087
00088
00089
00090
00091
00092
00093
00094
00095
00096
00097
00098
00099
00100
00101
00102
00103
00104
00105
00106
00107
00108
00109
00110
00111
00112
00113
00114
00115
00116
00117
00118
00119
00120
00121
00122
00123
00124
00125
00126
00127
00128
00129
00130
00131
00132
00133
00134
00135
00136
00137
00138
00139
00140
00141
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151
00152
00153
00154
00155
00156
00157
00158
00159
00160
00161
00162
00163
//=============================================================================
// Dialog.uc
// Created By: Mike Baldwin
// Created On: 3/29/2001
// $Author: Mbaldwin $
// $Date: 12/17/02 1:02p $
// $Revision: 21 $
//=============================================================================
class Dialog extends Actor
	native
	abstract;

//------------------------------------------------------------------------------
// AI events
const DialogBeginEvent				= 'dialogbegin';
const DialogEndEvent				= 'dialogend';
const DialogAbortEvent				= 'dialogabort';
const DialogAbortEndEvent			= 'dialogabortend';
// UI events
const DialogSubtitlesOnEvent		= "dlgsubtitleson";
const DialogSubtitlesOffEvent		= "dlgsubtitlesoff";

//------------------------------------------------------------------------------
// Attitude towards player
//
enum EDialogAttitude
{
	DIALOGATTITUDE_Dislike,
	DIALOGATTITUDE_Impartial,
	DIALOGATTITUDE_Like,
};
const NumAttitudes = 3;		// can't do arithmetic ops on enums in script 

//------------------------------------------------------------------------------
// Events triggered when a dialog sessions ends
//
enum EDialogEnding
{
	DIALOGENDING_Normal,
	// aborts
	DIALOGENDING_SpeakerHitEscape,
	DIALOGENDING_SpeakerWalkedAway,
	DIALOGENDING_ScriptedAbort,
	// interrupts
	DIALOGENDING_InterruptRequest,
	DIALOGENDING_InterruptResponse,
	DIALOGENDING_InterruptWalkAway,
	// catch all for aborts
	DIALOGENDING_AllAborts,
};

//------------------------------------------------------------------------------
// Reasons for terminating dialog
//
enum EDialogStatus
{
	DIALOGSTATUS_Normal,
	DIALOGSTATUS_Aborting,
	DIALOGSTATUS_Resuming,
	DIALOGSTATUS_InterruptRequest,
	DIALOGSTATUS_InterruptResponse,
	DIALOGSTATUS_InterruptWalkAway,
	DIALOGSTATUS_SpeakerDamaged
};

//------------------------------------------------------------------------------
// Different types of statements
//
enum EDialogTone
{
	DIALOGTONE_None,
	DIALOGTONE_Casual,
	DIALOGTONE_Formal,
	DIALOGTONE_Command,
	DIALOGTONE_Transition			// used only for nodes/trees that bridge
};

//------------------------------------------------------------------------------
// dialog bookmark use (caches the last dialog node completed)
//
enum EDialogBoolean
{
	DIALOGBOOLEAN_None,
	DIALOGBOOLEAN_True,
	DIALOGBOOLEAN_False
};

//------------------------------------------------------------------------------
// Events triggered when a dialog sessions ends
//
struct native ExitEventInfo
{
	var name EventName;						// name of event to trigger
	var name Target;						// optional target to dispatch event explicitly (speaker string converted to a name)
};

//------------------------------------------------------------------------------
// Nodes to En/Disable
//
struct native NodeEnableInfo
{
	var name Node;							// node tag to work en/disable
	var byte bEnable;						// 0 = disable, 1 = enable
	var byte bOnExit;						// enable nodes when dialog is over?
};

//-----------------------------------------------------------------------------
// Nodes to handle termination of dialog
//
struct AbortMapT								// specifies the dialog to use for aborting
{
	var string Speaker;							// with which this actor aborted dialog
	var EDialogEnding Ending;					// aborting behavior
	var name AbortNodeName;						// the dialog node to use for dealing with abortions .. ahem
};

//-----------------------------------------------------------------------------
// Nodes to resume dialog based on how the previous conversation ended
//
struct ResumeMapT								// specifies the dialog to use for resuming
{
	var string Speaker;							// with which this actor will resume dialog
	var EDialogEnding Ending;					// how the last conversation ended with this speaker
	var name ResumeNodeName;					// the dialog node to use for resuming the conversation
};

//-----------------------------------------------------------------------------
// stores how conversation ended with spcific speakers (used in dialog controller
//
struct StatusMapT								// store how the last conversation with said speaker ended
{
	var string Speaker;							// speaker we were speaking to
	var EDialogEnding Ending;					// how the conversation ended
};

//-----------------------------------------------------------------------------

const PlayerSpeakerString = "PLAYER";			// speaker string of the player

//------------------------------------------------------------------------------

var() globalconfig protected bool bDialogDebug;	// controls logging of debug information

//-----------------------------------------------------------------------------

static native function string GetOggFilename( string Filename );

//-----------------------------------------------------------------------------

function DMDLG ( coerce string Msg )	{ if( class'Dialog'.default.bDialogDebug ) DMTN( Msg ); }

//------------------------------------------------------------------------------

defaultproperties
{
	bHidden=true
     UseReticleOnEvents(0)="UseReticleText"
     UseReticleOnEvents(1)="UseReticleCorners"
     UseReticleOnEvents(2)="UseReticleTopBars"
     ProximityReticleOnEvents(0)="ProximityReticleCorners"
     ProximityReticleOnEvents(1)="ProximityReticleTopBars"
}

Overview Package Class Source Class tree Glossary
previous class      next class frames      no frames
Class file time: sk 3-1-2016 10:38:42.000 - Creation time: sk 3-1-2016 10:48:38.131 - Created with UnCodeX