DayZ Scripts
v1.21.156300 ยท Jun 20, 2023
 
Loading...
Searching...
No Matches
CTActor.c
Go to the documentation of this file.
1class CTActor extends CTObjectFollower
2{
3 protected int m_Index;
4
5 protected Widget m_Root;
7
8 protected string m_HandsItem;
9 protected ref array<string> m_Items;
10
12
13 void CTActor( int index, vector pos, vector orient, string type, array<string> items, string hands_item, CameraToolsMenu parent )
14 {
15 m_FollowerRoot = GetGame().GetWorkspace().CreateWidgets( "gui/layouts/camera_tools/event_tracker.layout", null );
16 m_FollowerButton = m_FollowerRoot.FindAnyWidget( "IconPanel" );
17 m_IndexWidget = TextWidget.Cast( m_FollowerRoot.FindAnyWidget( "Text" ) );
18 m_Index = index;
19 m_Position = pos;
20 m_Orientation = orient;
21 m_Menu = parent;
22
23 m_IndexWidget.SetText( m_Index.ToString() );
24 m_FollowerRoot.SetHandler( this );
25 CreateFollowedObject( type );
26 SetHandsItem( hands_item );
27 SetItems( items );
28 }
29
30 void ~CTActor()
31 {
32 delete m_FollowerRoot;
33 }
34
35 string GetActorType()
36 {
37 if( m_FollowedObject )
38 return m_FollowedObject.GetType();
39 return "";
40 }
41
42 void AddItem( string item )
43 {
44 PlayerBase p = PlayerBase.Cast( m_FollowedObject );
45 if( p.GetInventory().CreateAttachment( item ) )
46 m_Items.Insert( item );
47 }
48
49 void SetItems( array<string> items )
50 {
51 m_Items = items;
52 PlayerBase p = PlayerBase.Cast( m_FollowedObject );
53 if( p )
54 {
55 foreach( string item : items )
56 {
57 p.GetInventory().CreateAttachment( item );
58 }
59 }
60 }
61
63 {
64 return m_Items;
65 }
66
67 void SetHandsItem( string item )
68 {
69 m_HandsItem = item;
70 if ( m_HandsItemObj && m_FollowedObject)
71 {
72 HumanInventory.Cast( m_FollowedObject.GetInventory() ).LocalDestroyEntity( m_HandsItemObj );
73 GetGame().ObjectDelete( m_HandsItemObj );
74 }
75 if (item)
76 {
77 HumanInventory.Cast( m_FollowedObject.GetInventory() ).CreateInHands( item );
78 }
79 }
80
81 string GetHandsItem()
82 {
83 return m_HandsItem;
84 }
85
86 void Reset()
87 {
88 string type = m_FollowedObject.GetType();
89 DestroyFollowedObject();
90 CreateFollowedObject( type );
91
92 SetHandsItem( m_HandsItem );
93 SetItems( GetItems() );
94 }
95}
vector m_Orientation
protected vector m_Position
Cached world position.
Definition Effect.c:41
protected ServerBrowserMenuNew m_Menu
proto native void ObjectDelete(Object obj)
proto native WorkspaceWidget GetWorkspace()
protected TextWidget m_IndexWidget
Definition CTActor.c:6
protected string m_HandsItem
Definition CTActor.c:8
protected ref array< string > m_Items
Definition CTActor.c:9
void AddItem(string item)
Definition CTActor.c:42
void CTActor(int index, vector pos, vector orient, string type, array< string > items, string hands_item, CameraToolsMenu parent)
Definition CTActor.c:13
string GetActorType()
Definition CTActor.c:35
array< string > GetItems()
Definition CTActor.c:62
void SetItems(array< string > items)
Definition CTActor.c:49
protected int m_Index
Definition CTActor.c:3
string GetHandsItem()
Definition CTActor.c:81
void SetHandsItem(string item)
Definition CTActor.c:67
protected Widget m_Root
Definition CTActor.c:5
void ~CTActor()
Definition CTActor.c:30
protected EntityAI m_HandsItemObj
Definition CTActor.c:11
inventory for plain man/human
proto native EntityAI CreateInHands(string typeName)
creates new entity in hands
override bool LocalDestroyEntity(notnull EntityAI item)
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
proto native CGame GetGame()
proto native external Widget CreateWidgets(string layout, Widget parentWidget=NULL, bool immedUpdate=true)
Create widgets from *.layout file.