Dayz Explorer  1.24.157551 (v105080)
Dayz Code Explorer by Zeroy
component.c
Go to the documentation of this file.
1 
6 const string COMP_NAME_NONE = "None";
7 const int COMP_TYPE_UNDEFINED = -1;
8 const int COMP_TYPE_ETITY_DEBUG = 0;
10 const int COMP_TYPE_BODY_STAGING = 2;
12 const int COMP_TYPE_COUNT = 4;
15 class Component
16 {
17 
18  //==========================================
19  // Variables Private Static
20  private static string m_CompNames[COMP_TYPE_COUNT];
21 
22  //==========================================
23  // Variables Private
24  protected EntityAI m_ThisEntityAI;
25 
26  //==========================================
27 
28  void Event_OnFrame(IEntity other, float timeSlice);
29  Shape DebugBBoxDraw();
30  void DebugBBoxSetColor(int color);
31  void DebugBBoxDelete();
32  Shape DebugDirectionDraw(float distance = 1);
33  void DebugDirectionSetColor(int color);
34  void DebugDirectionDelete();
35 
36  // Methods Public Static
37  static void Init()
38  {
39  m_CompNames[COMP_TYPE_ETITY_DEBUG] = "ComponentEntityDebug";
40  m_CompNames[COMP_TYPE_ENERGY_MANAGER] = "ComponentEnergyManager";
41  m_CompNames[COMP_TYPE_BODY_STAGING] = "ComponentBodyStaging";
42  m_CompNames[COMP_TYPE_ANIMAL_BLEEDING] = "ComponentAnimalBleeding";
43  }
44 
46  // GetNameByType
48  static string GetNameByType(int comp_type)
49  {
50  if ( IsTypeExist(comp_type) == false )
51  {
52  LogErrorBadCompType(comp_type, "Component->GetNameByType()");
53  return "None";
54  }
55 
56  return m_CompNames[comp_type];
57  }
58 
60  // IsTypeExist
62  static bool IsTypeExist(int comp_type)
63  {
64  if ( comp_type < 0 || comp_type >= COMP_TYPE_COUNT )
65  {
66  return false;
67  }
68 
69  return true;
70  }
71 
72 
74  // LogErrorBadCompType
76  static void LogErrorBadCompType(int comp_type, string fnc_name)
77  {
78  string msg = "Bad parameter comp_type='"+comp_type.ToString()+"'. Parameter must be 0-"+(COMP_TYPE_COUNT - 1).ToString()+". Returning component name 'None'.";
79  Debug.LogError(msg, "Component", "n/a", fnc_name);
80  }
81 
83  // LogWarningAlredyExist
85  static void LogWarningAlredyExist(int comp_type, string fnc_name)
86  {
87  string msg = "Component '"+Component.GetNameByType(comp_type)+"' already exists!";
88  Debug.LogError(msg, "Component", "n/a", fnc_name);
89  }
90 
91  //=======================================public
92  // SetParentEntityAI
93  //=============================================
94  void SetParentEntityAI(EntityAI e)
95  {
96  m_ThisEntityAI = e;
97  }
98 
99  //====================================protected
100  // Awake
101  //=============================================
102  void Event_OnAwake()
103  {
104 
105  }
106 
107  //====================================protected
108  // Init
109  //=============================================
110  void Event_OnInit()
111  {
112 
113  }
114 
115  //=======================================public
116  // Log
117  //=============================================
118  void LogThis(string msg, string fnc_name = "n/a")
119  {
120  //Debug.Log(msg, GetCompName(), "n/a", fnc_name, m_ThisEntityAI.ToString());
121  }
122 
123  //=======================================public
124  // LogWarning
125  //=============================================
126  void LogThisWarning(string msg, string fnc_name = "n/a")
127  {
128  Debug.LogWarning(msg, GetCompName(), "n/a", fnc_name, m_ThisEntityAI.ToString());
129  }
130 
131  //=======================================public
132  // LogError
133  //=============================================
134  void LogThisError(string msg, string fnc_name = "n/a")
135  {
136  Debug.LogError(msg, GetCompName(), "n/a", fnc_name, m_ThisEntityAI.ToString());
137  }
138 
139  //=======================================public
140  // GetType
141  //=============================================
142  string GetCompName()
143  {
144  return Component.GetNameByType(this.GetCompType());
145  }
146 
147  //=======================================public
148  // GetType
149  //=============================================
150  int GetCompType()
151  {
152  return COMP_TYPE_UNDEFINED;
153  }
154 
155  //=======================================public
156  // Event_OnItemAttached
157  //=============================================
158  void Event_OnItemAttached(EntityAI item, string slot_name)
159  {
160  LogThis("" + item + " -> " + slot_name,"Event_OnItemAttached");
161  //Debug.Log("Component=>Event_OnItemAttached: " + item + " -> " + slot_name, );
162  }
163 
164  //=======================================public
165  // Event_OnItemDetached
166  //=============================================
167  void Event_OnItemDetached(EntityAI item, string slot_name)
168  {
169  LogThis("" + item + " <- " + slot_name,"Event_OnItemDetached");
170  //Log("Component=>Event_OnItemDetached: " + item + " <- " + slot_name );
171  }
172 }
COMP_TYPE_ANIMAL_BLEEDING
const int COMP_TYPE_ANIMAL_BLEEDING
Definition: component.c:11
COMP_TYPE_ETITY_DEBUG
const int COMP_TYPE_ETITY_DEBUG
Definition: component.c:8
Component
Definition: componententitydebug.c:1
COMP_TYPE_COUNT
const int COMP_TYPE_COUNT
Definition: component.c:12
ToString
proto string ToString()
IEntity
Definition: enentity.c:164
COMP_TYPE_ENERGY_MANAGER
const int COMP_TYPE_ENERGY_MANAGER
Definition: component.c:9
Debug
Definition: debug.c:13
COMP_TYPE_UNDEFINED
const int COMP_TYPE_UNDEFINED
Definition: component.c:7
COMP_TYPE_BODY_STAGING
const int COMP_TYPE_BODY_STAGING
Definition: component.c:10
EntityAI
Definition: building.c:5
COMP_NAME_NONE
const string COMP_NAME_NONE
Definition: component.c:6
Shape
class DiagMenu Shape
don't call destructor directly. Use Destroy() instead