Dayz 1.25
Dayz Code Explorer by KGB
Загрузка...
Поиск...
Не найдено
Класс Switchable_Base

Закрытые члены

override bool CanPutInCargo (EntityAI parent)
 
override void SetActions ()
 
override ScriptedLightBase GetLight ()
 
override bool CanPutAsAttachment (EntityAI parent)
 
override void OnWorkStart ()
 
override void OnWork (float consumed_energy)
 
override void OnWorkStop ()
 
override void OnInventoryExit (Man player)
 
override void SetActions ()
 
override bool IsLightSource ()
 
void UniversalLight ()
 
override ScriptedLightBase GetLight ()
 
override bool CanPutAsAttachment (EntityAI parent)
 
override void OnWorkStart ()
 
override void OnWork (float consumed_energy)
 
override void OnWorkStop ()
 
override void OnInventoryExit (Man player)
 
override void SetActions ()
 
override bool IsLightSource ()
 
void InitAttachmentsSlotsToCheck (out array< int > AttSlots)
 Enter att slot types to check on attach.
 

Закрытые данные

PistollightLight m_Light
 
UniversallightLight m_Light
 
ref array< intm_AttachmentSlotsCheck
 

Закрытые статические данные

static int REFLECTOR_ID = 1
 
static int GLASS_ID = 0
 
static string LIGHT_OFF_GLASS = "dz\\gear\\tools\\data\\flashlight_glass.rvmat"
 
static string LIGHT_OFF_REFLECTOR = "dz\\weapons\\attachments\\data\\TLS3.rvmat"
 
static string LIGHT_ON_GLASS = "dz\\gear\\tools\\data\\flashlight_glass_on.rvmat"
 
static string LIGHT_ON_REFLECTOR = "dz\\weapons\\attachments\\data\\TLS3_on.rvmat"
 

Подробное описание

Методы

◆ CanPutAsAttachment() [1/2]

override bool CanPutAsAttachment ( EntityAI parent)
inlineprivate
19 {
20 if(!super.CanPutAsAttachment(parent)) {return false;}
21 if ( !parent.IsKindOf("PlateCarrierHolster") && !parent.IsKindOf("PlateCarrierComplete") && !parent.IsKindOf("CarrierHolsterSolo") && !parent.IsKindOf("ChestHolster") )
22 {
23 return true;
24 }
25
26 return false;
27 }
Definition EntityAI.c:95

◆ CanPutAsAttachment() [2/2]

override bool CanPutAsAttachment ( EntityAI parent)
inlineprivate
26 {
27 if ( !super.CanPutAsAttachment(parent) ) {return false;}
28
29 bool req_attachment = false;
30 bool rail_attachment_found = false;
31 int slot_id;
33 for ( int i = 0; i < parent.GetInventory().GetAttachmentSlotsCount(); i++ )
34 {
35 slot_id = parent.GetInventory().GetAttachmentSlotId(i);
36 if ( m_AttachmentSlotsCheck.Find(slot_id) != -1 )
37 {
38 req_attachment = true;
39 attachment = ItemBase.Cast(parent.GetInventory().FindAttachment(slot_id));
40 if ( attachment && attachment.ConfigIsExisting("hasRailFunctionality") && attachment.ConfigGetBool("hasRailFunctionality") )
42 }
43 }
45 }
Definition InventoryItem.c:731
ref array< int > m_AttachmentSlotsCheck
Definition UniversalLight.c:13

◆ CanPutInCargo()

override bool CanPutInCargo ( EntityAI parent)
inlineprivate
4 {
5 if( !super.CanPutInCargo(parent) ) {return false;}
6 if( !GetCompEM().IsSwitchedOn() )
7 {
8 return true;
9 }
10 return false;
11 }

◆ GetLight() [1/2]

override ScriptedLightBase GetLight ( )
inlineprivate
14 {
15 return m_Light;
16 }
PistollightLight m_Light
Definition TLRLight.c:3

Перекрестные ссылки m_Light.

Используется в ItemBase::EEItemLocationChanged().

◆ GetLight() [2/2]

override ScriptedLightBase GetLight ( )
inlineprivate
21 {
22 return m_Light;
23 }

Перекрестные ссылки m_Light.

◆ InitAttachmentsSlotsToCheck()

void InitAttachmentsSlotsToCheck ( out array< int > AttSlots)
inlineprivate

Enter att slot types to check on attach.

124 {
125 if (!AttSlots)
126 {
127 AttSlots = new array<int>;
128 AttSlots.Insert(InventorySlots.GetSlotIdFromString("weaponHandguardM4"));
129 AttSlots.Insert(InventorySlots.GetSlotIdFromString("weaponHandguardAK"));
130 AttSlots.Insert(InventorySlots.GetSlotIdFromString("weaponHandguardMP5"));
131 }
132 }
provides access to slot configuration
Definition InventorySlots.c:6
static proto native int GetSlotIdFromString(string slot_name)
converts string to slot_id

Перекрестные ссылки InventorySlots::GetSlotIdFromString().

Используется в UniversalLight().

◆ IsLightSource() [1/2]

override bool IsLightSource ( )
inlineprivate
100 {
101 return true;
102 }

◆ IsLightSource() [2/2]

override bool IsLightSource ( )
inlineprivate
118 {
119 return true;
120 }

◆ OnInventoryExit() [1/2]

override void OnInventoryExit ( Man player)
inlineprivate
78 {
79 super.OnInventoryExit(player);
80
81 if ( GetCompEM().IsWorking() )
82 {
83 if (player)
84 {
85 vector ori_rotate = player.GetOrientation();
86 ori_rotate = ori_rotate + Vector(270,0,0);
87 SetOrientation(ori_rotate);
88 }
89 }
90 }
Definition EnConvert.c:106
proto native vector Vector(float x, float y, float z)
Vector constructor from components.

Перекрестные ссылки Vector().

◆ OnInventoryExit() [2/2]

override void OnInventoryExit ( Man player)
inlineprivate
96 {
97 super.OnInventoryExit(player);
98
99 if ( GetCompEM().IsWorking() )
100 {
101 if (player)
102 {
103 vector ori_rotate = player.GetOrientation();
104 ori_rotate = ori_rotate + Vector(270,0,0);
105 SetOrientation(ori_rotate);
106 }
107 }
108 }

Перекрестные ссылки Vector().

◆ OnWork() [1/2]

override void OnWork ( float consumed_energy)
inlineprivate
41 {
42 if ( !GetGame().IsServer() || !GetGame().IsMultiplayer() ) // Client side
43 {
44 Battery9V battery = Battery9V.Cast( GetCompEM().GetEnergySource() );
45
46 if (battery && m_Light)
47 {
48 float efficiency = battery.GetEfficiency0To1();
49
50 if ( efficiency < 1 )
51 {
52 m_Light.SetIntensity( efficiency, GetCompEM().GetUpdateInterval() );
53 }
54 else
55 {
56 m_Light.SetIntensity( 1, 0 );
57 }
58 }
59 }
60 }
Definition Battery9V.c:2
proto native CGame GetGame()

Перекрестные ссылки GetGame(), m_Light и PointLightBase::SetIntensity().

◆ OnWork() [2/2]

override void OnWork ( float consumed_energy)
inlineprivate
59 {
60 if ( !GetGame().IsServer() || !GetGame().IsMultiplayer() ) // Client side
61 {
62 Battery9V battery = Battery9V.Cast( GetCompEM().GetEnergySource() );
63
64 if (battery && m_Light)
65 {
66 float efficiency = battery.GetEfficiency0To1();
67
68 if ( efficiency < 1 )
69 {
70 m_Light.SetIntensity( efficiency, GetCompEM().GetUpdateInterval() );
71 }
72 else
73 {
74 m_Light.SetIntensity( 1, 0 );
75 }
76 }
77 }
78 }

Перекрестные ссылки GetGame(), m_Light и PointLightBase::SetIntensity().

◆ OnWorkStart() [1/2]

override void OnWorkStart ( )
inlineprivate
30 {
31 if ( !GetGame().IsServer() || !GetGame().IsMultiplayer() ) // Client side
32 {
33 m_Light = PistollightLight.Cast( ScriptedLightBase.CreateLight(PistollightLight, "0 0 0", 0.08) ); // Position is zero because light is attached on parent immediately.
34 m_Light.AttachOnMemoryPoint(this, "beamStart", "beamEnd");
35 SetObjectMaterial(GLASS_ID, LIGHT_ON_GLASS);
36 SetObjectMaterial(REFLECTOR_ID, LIGHT_ON_REFLECTOR);
37 }
38 }
Definition PointLightBase.c:2
static int REFLECTOR_ID
Definition TLRLight.c:5
static int GLASS_ID
Definition TLRLight.c:6
static string LIGHT_ON_GLASS
Definition TLRLight.c:10
static string LIGHT_ON_REFLECTOR
Definition TLRLight.c:11

Перекрестные ссылки GetGame() и m_Light.

◆ OnWorkStart() [2/2]

override void OnWorkStart ( )
inlineprivate
48 {
49 if ( !GetGame().IsServer() || !GetGame().IsMultiplayer() ) // Client side
50 {
51 m_Light = UniversallightLight.Cast( ScriptedLightBase.CreateLight(UniversallightLight, "0 0 0", 0.08) ); // Position is zero because light is attached on parent immediately.
52 m_Light.AttachOnMemoryPoint(this, "beamStart", "beamEnd");
53 SetObjectMaterial(GLASS_ID, LIGHT_ON_GLASS);
54 SetObjectMaterial(REFLECTOR_ID, LIGHT_ON_REFLECTOR);
55 }
56 }

Перекрестные ссылки GetGame() и m_Light.

◆ OnWorkStop() [1/2]

override void OnWorkStop ( )
inlineprivate
63 {
64 if ( !GetGame().IsServer() || !GetGame().IsMultiplayer() ) // Client side
65 {
66 if (m_Light)
67 m_Light.FadeOut();
68
69 m_Light = NULL;
70
71 SetObjectMaterial(GLASS_ID, LIGHT_OFF_GLASS);
72 SetObjectMaterial(REFLECTOR_ID, LIGHT_OFF_REFLECTOR);
73 }
74 }
static string LIGHT_OFF_REFLECTOR
Definition TLRLight.c:9
static string LIGHT_OFF_GLASS
Definition TLRLight.c:8

Перекрестные ссылки GetGame() и m_Light.

◆ OnWorkStop() [2/2]

override void OnWorkStop ( )
inlineprivate
81 {
82 if ( !GetGame().IsServer() || !GetGame().IsMultiplayer() ) // Client side
83 {
84 if (m_Light)
85 m_Light.FadeOut();
86
87 m_Light = NULL;
88
89 SetObjectMaterial(GLASS_ID, LIGHT_OFF_GLASS);
90 SetObjectMaterial(REFLECTOR_ID, LIGHT_OFF_REFLECTOR);
91 }
92 }

Перекрестные ссылки GetGame() и m_Light.

◆ SetActions() [1/3]

override void SetActions ( )
inlineprivate
14 {
15 super.SetActions();
18 }
void AddAction(typename actionName)
Definition AdvancedCommunication.c:220
Definition ActionDestroyPart.c:10
Definition ActionSawPlanks.c:36

Перекрестные ссылки AddAction().

◆ SetActions() [2/3]

override void SetActions ( )
inlineprivate
93 {
94 super.SetActions();
97 }
Definition ActionTurnOffWhileInHands.c:2
Definition ActionTurnOnWhileInHands.c:2

Перекрестные ссылки AddAction().

◆ SetActions() [3/3]

override void SetActions ( )
inlineprivate
111 {
112 super.SetActions();
115 }

Перекрестные ссылки AddAction().

◆ UniversalLight()

void UniversalLight ( )
inlineprivate
16 {
18 }
void InitAttachmentsSlotsToCheck(out array< int > AttSlots)
Enter att slot types to check on attach.
Definition UniversalLight.c:123

Перекрестные ссылки InitAttachmentsSlotsToCheck().

Поля

◆ GLASS_ID

static int GLASS_ID = 0
staticprivate

◆ LIGHT_OFF_GLASS

static string LIGHT_OFF_GLASS = "dz\\gear\\tools\\data\\flashlight_glass.rvmat"
staticprivate

◆ LIGHT_OFF_REFLECTOR

static string LIGHT_OFF_REFLECTOR = "dz\\weapons\\attachments\\data\\TLS3.rvmat"
staticprivate

◆ LIGHT_ON_GLASS

static string LIGHT_ON_GLASS = "dz\\gear\\tools\\data\\flashlight_glass_on.rvmat"
staticprivate

◆ LIGHT_ON_REFLECTOR

static string LIGHT_ON_REFLECTOR = "dz\\weapons\\attachments\\data\\TLS3_on.rvmat"
staticprivate

◆ m_AttachmentSlotsCheck

ref array<int> m_AttachmentSlotsCheck
private

◆ m_Light [1/2]

PistollightLight m_Light
private

Используется в GetLight().

◆ m_Light [2/2]

UniversallightLight m_Light
private

◆ REFLECTOR_ID

static int REFLECTOR_ID = 1
staticprivate

Объявления и описания членов классов находятся в файлах: