123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 |
- class CTEvent extends ScriptedWidgetEventHandler
- {
- protected int m_Index;
- protected int m_ActorIndex;
- protected int m_EventType;
- protected float m_EventTime;
-
- protected CameraToolsMenu m_Menu;
-
- protected Widget m_Root;
- protected TextWidget m_IndexWidget;
- protected EditBoxWidget m_EventActorWidget;
- protected EditBoxWidget m_EventTimeWidget;
- protected EditBoxWidget m_EventTypeWidget;
- protected CheckBoxWidget m_EventWalkWidget;
-
- protected HumanCommandActionCallback m_Callback;
-
- void CTEvent( int index, int actor, Widget root, bool walk, CameraToolsMenu parent )
- {
- m_Menu = parent;
- m_Index = index;
- m_ActorIndex = actor;
-
- m_Root = GetGame().GetWorkspace().CreateWidgets( "gui/layouts/camera_tools/event_entry.layout", root );
- m_IndexWidget = TextWidget.Cast( m_Root.FindAnyWidget( "event_id" ) );
- m_EventActorWidget = EditBoxWidget.Cast( m_Root.FindAnyWidget( "event_actor_edit" ) );
- m_EventTimeWidget = EditBoxWidget.Cast( m_Root.FindAnyWidget( "event_time_edit" ) );
- m_EventTypeWidget = EditBoxWidget.Cast( m_Root.FindAnyWidget( "event_type_edit" ) );
- m_EventWalkWidget = CheckBoxWidget.Cast( m_Root.FindAnyWidget( "auto_walk" ) );
-
- m_EventWalkWidget.SetChecked( walk );
- m_IndexWidget.SetText( m_Index.ToString() );
- m_EventActorWidget.SetText( m_ActorIndex.ToString() );
- m_Root.SetHandler( this );
- }
-
- void ~CTEvent()
- {
- delete m_Root;
- }
-
- void Play()
- {
- PlayerBase player = m_Menu.GetActor( GetEventActor() );
- if( player )
- {
- if( m_EventWalkWidget.IsChecked() )
- {
- player.GetInputController().OverrideMovementAngle( true, 1 );
- player.GetInputController().OverrideMovementSpeed( true, 1 );
- }
- else
- {
- if( player.GetCommand_Action() )
- {
- //player.GetCommand_Action().Cancel();
- }
- m_Callback = player.StartCommand_Action( GetEventType(), EmoteCB, DayZPlayerConstants.STANCEMASK_ALL );
- m_Callback.EnableCancelCondition(true);
- }
- }
- }
-
- void Stop()
- {
- if( m_Callback )
- {
- m_Callback.Cancel();
- m_Callback = null;
- }
- PlayerBase player = m_Menu.GetActor( GetEventActor() );
- if( player )
- {
- player.GetInputController().OverrideMovementSpeed( true, 0 );
- }
- }
-
- bool IsTime( float start_time, float end_time )
- {
- if( m_EventTime >= start_time )
- {
- if( m_EventTime <= end_time )
- {
- return true;
- }
- }
- return false;
- }
-
- void SetEventTime( float time )
- {
- m_EventTime = time;
- m_EventTimeWidget.SetText( time.ToString() );
- }
-
- void SetEventType( int type )
- {
- m_EventTypeWidget.SetText( type.ToString() );
- }
-
- float GetEventTime()
- {
- m_EventTime = m_EventTimeWidget.GetText().ToFloat();
- return m_EventTime;
- }
-
- int GetEventType()
- {
- return m_EventTypeWidget.GetText().ToInt();
- }
-
- int GetEventActor()
- {
- return m_EventActorWidget.GetText().ToInt();
- }
-
- bool GetEventWalk()
- {
- return m_EventWalkWidget.IsChecked();
- }
-
- void Select()
- {
- m_Root.FindAnyWidget( "spacer" ).SetAlpha( 1 );
- m_IndexWidget.SetColor( ARGBF( 1, 1, 0, 0 ) );
- m_EventTypeWidget.SetColor( ARGBF( 1, 1, 0, 0 ) );
- m_EventTypeWidget.SetColor( ARGBF( 1, 1, 0, 0 ) );
- }
-
- void Unselect()
- {
- m_Root.FindAnyWidget( "spacer" ).SetAlpha( 0.625 );
- m_IndexWidget.SetColor( ARGBF( 1, 1, 1, 1 ) );
- m_EventTypeWidget.SetColor( ARGBF( 1, 1, 1, 1 ) );
- m_EventTypeWidget.SetColor( ARGBF( 1, 1, 1, 1 ) );
- }
- }
|