DayZ 1.26
DayZ Explorer by KGB
Загрузка...
Поиск...
Не найдено
Класс FireplaceBase

Защищенные члены

void BarrelHoles_ColorBase ()
 
void InitializeTemperatureSources ()
 
override bool CanCookOnStick ()
 
override bool IsBaseFireplace ()
 
override void CreateAreaDamage ()
 
override int GetDamageSystemVersionChange ()
 
override string GetInvulnerabilityTypeString ()
 
override void OnWasAttached (EntityAI parent, int slot_id)
 
override void OnWasDetached (EntityAI parent, int slot_id)
 
override bool CanDetachAttachment (EntityAI parent)
 
override void OnStoreSave (ParamsWriteContext ctx)
 
override bool OnStoreLoad (ParamsReadContext ctx, int version)
 
override bool IsBarrelWithHoles ()
 
override void OnVariablesSynchronized ()
 
override bool CanReceiveAttachment (EntityAI attachment, int slotId)
 
override bool CanLoadAttachment (EntityAI attachment)
 
override void EEItemAttached (EntityAI item, string slot_name)
 
override bool IsPrepareToDelete ()
 
override void EEItemDetached (EntityAI item, string slot_name)
 
override bool CanPutInCargo (EntityAI parent)
 
override bool CanRemoveFromCargo (EntityAI parent)
 
override bool CanReceiveItemIntoCargo (EntityAI item)
 
override bool CanLoadItemIntoCargo (EntityAI item)
 
override bool CanReleaseCargo (EntityAI cargo)
 
override bool CanPutIntoHands (EntityAI parent)
 
override bool CanDisplayCargo ()
 
override bool CanDisplayAttachmentCategory (string category_name)
 
override void Open ()
 
void OpenLoad ()
 
override void Close ()
 
void CloseLoad ()
 
override bool IsOpen ()
 
void UpdateVisualState ()
 
override bool CanExtinguishFire ()
 
override bool CanShowSmoke ()
 
override bool HasFlammableMaterial ()
 
override bool CanBeIgnitedBy (EntityAI igniter=NULL)
 
override bool CanIgniteItem (EntityAI ignite_target=NULL)
 
override bool IsIgnited ()
 
override void OnIgnitedTarget (EntityAI ignited_item)
 
override void OnIgnitedThis (EntityAI fire_source)
 
void SoundBarrelOpenPlay ()
 
void SoundBarrelClosePlay ()
 
void DestroyClutterCutter (Object clutter_cutter)
 
override bool IsThisIgnitionSuccessful (EntityAI item_source=NULL)
 
override string GetPlaceSoundset ()
 
override void SetActions ()
 
override void OnDebugSpawn ()
 
void InitializeTemperatureSources ()
 
override bool IsBaseFireplace ()
 
override void EOnTouch (IEntity other, int extra)
 
override void EOnContact (IEntity other, Contact extra)
 
void ContactEvent (IEntity other, vector position)
 
override bool CanReceiveAttachment (EntityAI attachment, int slotId)
 
override bool CanDisplayAttachmentSlot (int slot_id)
 
override bool CanLoadAttachment (EntityAI attachment)
 
override bool CanReleaseAttachment (EntityAI attachment)
 
override void EEItemAttached (EntityAI item, string slot_name)
 
override void EEItemDetached (EntityAI item, string slot_name)
 
override void SetCookingEquipment (ItemBase equipment)
 
override void OnBeforeTryDelete ()
 
override bool IsPrepareToDelete ()
 
override bool CanPutInCargo (EntityAI parent)
 
override bool CanRemoveFromCargo (EntityAI parent)
 
override bool CanReceiveItemIntoCargo (EntityAI item)
 
override bool CanLoadItemIntoCargo (EntityAI item)
 
override bool CanPutIntoHands (EntityAI parent)
 
override bool CanDisplayAttachmentCategory (string category_name)
 
override bool CanAssignAttachmentsToQuickbar ()
 
override float HeightStartCheckOverride ()
 
override bool CanShowSmoke ()
 
void DestroyClutterCutter (Object clutter_cutter)
 
override void RefreshPhysics ()
 
override void RefreshFireplacePhysics ()
 
override void OnStoreSave (ParamsWriteContext ctx)
 
override bool OnStoreLoad (ParamsReadContext ctx, int version)
 
override void AfterStoreLoad ()
 
override bool HasFlammableMaterial ()
 
override bool CanBeIgnitedBy (EntityAI igniter=NULL)
 
override bool CanIgniteItem (EntityAI ignite_target=NULL)
 
override bool IsIgnited ()
 
override void OnIgnitedTarget (EntityAI ignited_item)
 
override void OnIgnitedThis (EntityAI fire_source)
 
override bool IsThisIgnitionSuccessful (EntityAI item_source=NULL)
 
override string GetPlaceSoundset ()
 
override void SetActions ()
 
void FireplaceIndoor ()
 
override void OnStoreSave (ParamsWriteContext ctx)
 
override bool OnStoreLoad (ParamsReadContext ctx, int version)
 
void SetFirePointIndex (int fire_point_index)
 
void SetSmokePointPosition (vector smoke_point_pos)
 
vector GetSmokeEffectPosition ()
 
override void ParticleSmallSmokeStart ()
 
override void ParticleNormalSmokeStart ()
 
override bool IsFireplaceIndoor ()
 
override void EEItemAttached (EntityAI item, string slot_name)
 
override void EEItemDetached (EntityAI item, string slot_name)
 
override bool CanPutInCargo (EntityAI parent)
 
override bool CanRemoveFromCargo (EntityAI parent)
 
override bool CanReceiveItemIntoCargo (EntityAI item)
 
override bool CanPutIntoHands (EntityAI parent)
 
override bool CanRemoveFromHands (EntityAI player)
 
override bool HasFlammableMaterial ()
 
override bool CanBeIgnitedBy (EntityAI igniter=NULL)
 
override bool CanIgniteItem (EntityAI ignite_target=NULL)
 
override bool IsIgnited ()
 
override void OnIgnitedTarget (EntityAI ignited_item)
 
override void OnIgnitedThis (EntityAI fire_source)
 
override bool IsThisIgnitionSuccessful (EntityAI item_source=NULL)
 
void OvenIndoor ()
 
override void OnStoreSave (ParamsWriteContext ctx)
 
override bool OnStoreLoad (ParamsReadContext ctx, int version)
 
void SetFirePointIndex (int fire_point_index)
 
void SetSmokePointPosition (vector smoke_point_pos)
 
vector GetSmokeEffectPosition ()
 
override void ParticleSmallSmokeStart ()
 
override void ParticleNormalSmokeStart ()
 
override bool IsIndoorOven ()
 
override bool CanReleaseAttachment (EntityAI attachment)
 
override void EEItemAttached (EntityAI item, string slot_name)
 
override void EEItemDetached (EntityAI item, string slot_name)
 
override bool CanPutInCargo (EntityAI parent)
 
override bool CanRemoveFromCargo (EntityAI parent)
 
override bool CanPutIntoHands (EntityAI parent)
 
override bool CanRemoveFromHands (EntityAI player)
 
override bool HasFlammableMaterial ()
 
override bool CanBeIgnitedBy (EntityAI igniter=NULL)
 
override bool CanIgniteItem (EntityAI ignite_target=NULL)
 
override bool IsIgnited ()
 
override void OnIgnitedTarget (EntityAI ignited_item)
 
override void OnIgnitedThis (EntityAI fire_source)
 
override bool IsThisIgnitionSuccessful (EntityAI item_source=NULL)
 

Защищенные статические члены

static Fireplace IgniteEntityAsFireplace (notnull EntityAI entity, notnull EntityAI fire_source)
 
static bool CanIgniteEntityAsFireplace (notnull EntityAI entity)
 
static int GetFirePointIndex (string action_selection)
 
static bool CanPlaceFireplaceInSelectedSpot (Object building, int fire_point_index, out vector fire_point_pos_world, out vector fire_point_rot_world)
 
static int GetFirePointIndex (string action_selection)
 
static bool CanPlaceFireplaceInSelectedSpot (Object building, int fire_point_index, out vector fire_point_pos_world, out vector fire_point_rot_world)
 

Защищенные данные

bool m_IsOpenedClient = false
 
ref OpenableBehaviour m_Openable
 
float m_SmokePosX
 
float m_SmokePosY
 
float m_SmokePosZ
 
int m_FirePointIndex = 1
 

Статические защищенные данные

static const string FIREPOINT_ACTION_SELECTION = "fireplace_action"
 
static const string FIREPOINT_FIRE_POSITION = "fireplace_point"
 
static const string FIREPOINT_PLACE_ROT = "fireplace_rot"
 
static const string FIREPOINT_SMOKE_POSITION = "fireplace_smoke"
 
static const string OVENPOINT_ACTION_SELECTION = "oven_action"
 
static const string OVENPOINT_FIRE_POSITION = "oven_point"
 
static const string OVENPOINT_PLACE_ROT = "oven_rot"
 
static const string OVENPOINT_SMOKE_POSITION = "oven_smoke"
 

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

void Fireplace ()
 

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

const string ANIMATION_OPENED = "LidOff"
 
const string ANIMATION_CLOSED = "LidOn"
 
bool m_ContactEventProcessing
 

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

Методы

◆ AfterStoreLoad()

override void AfterStoreLoad ( )
inlineprotected
552 {
553 super.AfterStoreLoad();
554
555 if ( IsBurning() )
556 {
557 if ( !m_ClutterCutter )
558 {
560 m_ClutterCutter.SetOrientation( GetOrientation() );
561 }
562 }
563 }
vector GetOrientation()
Definition AreaDamageManager.c:306
const int ECE_PLACE_ON_SURFACE
Definition CentralEconomy.c:37
Object m_ClutterCutter
Definition FireplaceBase.c:205
const string OBJECT_CLUTTER_CUTTER
Definition FireplaceBase.c:204
bool IsBurning()
Definition FireplaceBase.c:1623
class JsonUndergroundAreaTriggerData GetPosition
Definition UndergroundAreaLoader.c:9
Definition EntityAI.c:95
proto native CGame GetGame()

Перекрестные ссылки ECE_PLACE_ON_SURFACE, GetGame(), GetOrientation(), GetPosition, IsBurning(), m_ClutterCutter и OBJECT_CLUTTER_CUTTER.

◆ BarrelHoles_ColorBase()

void BarrelHoles_ColorBase ( )
inlineprotected

universal temperature sources overrides

12 {
13 //Particles - default for FireplaceBase
21
22 m_Openable = new OpenableBehaviour(false);
23
24 //synchronized variables
25 RegisterNetSyncVariableBool("m_Openable.m_IsOpened");
26
27 ProcessInvulnerabilityCheck(GetInvulnerabilityTypeString());
28
29 m_LightDistance = 50;
30
34 m_UTSSettings.m_TemperatureCap = 20;
35
36 m_UnderObjectDecalSpawnSettings.m_ScaleMax = 0.44;
37
39 }
ref UniversalTemperatureSourceSettings m_UTSSettings
Definition FireplaceBase.c:219
float m_LightDistance
Definition FireplaceBase.c:97
ref UnderObjectDecalSpawnSettings m_UnderObjectDecalSpawnSettings
Definition FireplaceBase.c:227
int PARTICLE_STEAM_END
Definition FireplaceBase.c:115
int PARTICLE_NORMAL_FIRE
Definition FireplaceBase.c:109
int PARTICLE_FIRE_START
Definition FireplaceBase.c:106
int PARTICLE_NORMAL_SMOKE
Definition FireplaceBase.c:112
int PARTICLE_FIRE_END
Definition FireplaceBase.c:113
int PARTICLE_SMALL_SMOKE
Definition FireplaceBase.c:111
bool m_ThawnSurfaceUnderSupport
size of wetness increment (per FP heating tick) added to overall FP wetness when ignited on wet surfa...
Definition FireplaceBase.c:226
int PARTICLE_SMALL_FIRE
Definition FireplaceBase.c:108
const float PARAM_OUTDOOR_FIRE_TEMPERATURE
maximum fireplace temperature of a normal fire (degree Celsius)
Definition FireplaceBase.c:43
ref OpenableBehaviour m_Openable
Definition BarrelHoles_ColorBase.c:9
override string GetInvulnerabilityTypeString()
Definition BarrelHoles_ColorBase.c:79
Definition constants.c:638
Definition OpenableBehaviour.c:2
Definition ParticleList.c:12
static const int BARREL_NORMAL_SMOKE
Definition ParticleList.c:52
static const int BARREL_NORMAL_FIRE
Definition ParticleList.c:51
static const int BARREL_FIRE_END
Definition ParticleList.c:53
static const int BARREL_FIRE_START
Definition ParticleList.c:48
static const int BARREL_SMALL_SMOKE
Definition ParticleList.c:50
static const int BARREL_SMALL_FIRE
Definition ParticleList.c:49
static const int BARREL_FIRE_STEAM_2END
Definition ParticleList.c:54
static const float ITEM_TEMPERATURE_NEUTRAL_ZONE_MIDDLE
Definition constants.c:777

Перекрестные ссылки ParticleList::BARREL_FIRE_END, ParticleList::BARREL_FIRE_START, ParticleList::BARREL_FIRE_STEAM_2END, ParticleList::BARREL_NORMAL_FIRE, ParticleList::BARREL_NORMAL_SMOKE, ParticleList::BARREL_SMALL_FIRE, ParticleList::BARREL_SMALL_SMOKE, GetInvulnerabilityTypeString(), GameConstants::ITEM_TEMPERATURE_NEUTRAL_ZONE_MIDDLE, m_LightDistance, m_ThawnSurfaceUnderSupport, m_UnderObjectDecalSpawnSettings, m_UTSSettings, PARAM_OUTDOOR_FIRE_TEMPERATURE, PARTICLE_FIRE_END, PARTICLE_FIRE_START, PARTICLE_NORMAL_FIRE, PARTICLE_NORMAL_SMOKE, PARTICLE_SMALL_FIRE, PARTICLE_SMALL_SMOKE и PARTICLE_STEAM_END.

◆ CanAssignAttachmentsToQuickbar()

override bool CanAssignAttachmentsToQuickbar ( )
inlineprotected
460 {
461 return false;
462 }

◆ CanBeIgnitedBy() [1/4]

override bool CanBeIgnitedBy ( EntityAI igniter = NULL)
inlineprotected
496 {
497 if (HasAnyKindling() && !IsBurning() && IsOpen() && !GetHierarchyParent())
498 {
499 return true;
500 }
501
502 return false;
503 }
bool HasAnyKindling()
Definition FireplaceBase.c:2327
override bool IsOpen()
Definition BarrelHoles_ColorBase.c:453

Перекрестные ссылки HasAnyKindling(), IsBurning() и IsOpen().

◆ CanBeIgnitedBy() [2/4]

override bool CanBeIgnitedBy ( EntityAI igniter = NULL)
inlineprotected
576 {
577 return HasAnyKindling() && !IsBurning() && !GetHierarchyParent();
578 }

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

◆ CanBeIgnitedBy() [3/4]

override bool CanBeIgnitedBy ( EntityAI igniter = NULL)
inlineprotected
309 {
310 if ( HasAnyKindling() && !GetHierarchyParent() )
311 {
312 return true;
313 }
314
315 return false;
316 }

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

◆ CanBeIgnitedBy() [4/4]

override bool CanBeIgnitedBy ( EntityAI igniter = NULL)
inlineprotected
291 {
292 if ( HasAnyKindling() && !GetHierarchyParent() )
293 {
294 return true;
295 }
296
297 return false;
298 }

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

◆ CanCookOnStick()

override bool CanCookOnStick ( )
inlineprotected
51 {
52 return false;
53 }

◆ CanDetachAttachment()

override bool CanDetachAttachment ( EntityAI parent)
inlineprotected
99 {
100 return GetNumberOfItems() == 0;
101 }
int GetNumberOfItems()
Returns the number of items in cargo, otherwise returns 0(non-cargo objects). Recursive.
Definition ItemBase.c:8193

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

◆ CanDisplayAttachmentCategory() [1/2]

override bool CanDisplayAttachmentCategory ( string category_name)
inlineprotected
395 {
396 //super
397 if (!super.CanDisplayAttachmentCategory(category_name))
398 {
399 return false;
400 }
401 //
402
403 if ((category_name == "CookingEquipment") || (category_name == "Smoking"))
404 {
405 return !IsOpen();
406 }
407 else
408 {
409 return IsOpen();
410 }
411
412 return true;
413 }

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

◆ CanDisplayAttachmentCategory() [2/2]

override bool CanDisplayAttachmentCategory ( string category_name)
inlineprotected
438 {
439 if ( !super.CanDisplayAttachmentCategory( category_name ) )
440 return false;
441
442 if ( IsOven() )
443 {
444 if ( category_name == "CookingEquipment" )
445 return false;
446 if ( ( category_name == "DirectCooking" ) || ( category_name == "Smoking" ) )
447 return true;
448 }
449 else
450 {
451 if ( category_name == "CookingEquipment" )
452 return true;
453 if ( ( category_name == "DirectCooking" ) || ( category_name == "Smoking" ) )
454 return false;
455 }
456 return true;
457 }
bool IsOven()
Definition FireplaceBase.c:1647

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

◆ CanDisplayAttachmentSlot()

override bool CanDisplayAttachmentSlot ( int slot_id)
inlineprotected
111 {
113 if ( super.CanDisplayAttachmentSlot(slot_id) )
114 {
115 if ( slot_name != "CookingEquipment" || FindAttachmentBySlotName( "CookingTripod" ) )
116 return true;
117 }
118
119 return false;
120 }
provides access to slot configuration
Definition InventorySlots.c:6
static proto native owned string GetSlotName(int id)
converts slot_id to string

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

◆ CanDisplayCargo()

override bool CanDisplayCargo ( )
inlineprotected
383 {
384 //super
385 if (!super.CanDisplayCargo())
386 {
387 return false;
388 }
389 //
390
391 return IsOpen();
392 }

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

◆ CanExtinguishFire()

override bool CanExtinguishFire ( )
inlineprotected
474 {
475 if (IsOpen() && IsBurning())
476 {
477 return true;
478 }
479
480 return false;
481 }

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

◆ CanIgniteEntityAsFireplace()

static bool CanIgniteEntityAsFireplace ( notnull EntityAI entity)
inlinestaticprotected
731 {
732 //check surface
733 if (FireplaceBase.IsEntityOnWaterSurface(entity))
734 {
735 return false;
736 }
737
738 entity.CheckForRoofLimited(); //TODO: limit more severely? Should update at least once during UATimeSpent.FIREPLACE_IGNITE
739 if (!entity.IsRoofAbove())
740 return !FireplaceBase.IsRainingAboveEntity(entity);
741
742 //check ceiling (enough space for smoke)
743 if (IsEntityOnInteriorSurface(entity) && MiscGameplayFunctions.IsUnderRoof(entity, FireplaceBase.MIN_CEILING_HEIGHT))
744 {
745 return false;
746 }
747
748 return true;
749 }
static bool IsEntityOnInteriorSurface(notnull EntityAI entity_ai)
Definition FireplaceBase.c:2420
Definition BarrelHoles_ColorBase.c:2

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

◆ CanIgniteItem() [1/4]

override bool CanIgniteItem ( EntityAI ignite_target = NULL)
inlineprotected
506 {
507 if (IsBurning() && IsOpen())
508 {
509 return true;
510 }
511
512 return false;
513 }

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

◆ CanIgniteItem() [2/4]

override bool CanIgniteItem ( EntityAI ignite_target = NULL)
inlineprotected
581 {
582 return IsBurning();
583 }

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

◆ CanIgniteItem() [3/4]

override bool CanIgniteItem ( EntityAI ignite_target = NULL)
inlineprotected
319 {
320 if ( IsBurning() )
321 {
322 return true;
323 }
324
325 return false;
326 }

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

◆ CanIgniteItem() [4/4]

override bool CanIgniteItem ( EntityAI ignite_target = NULL)
inlineprotected
301 {
302 if ( IsBurning() )
303 {
304 return true;
305 }
306
307 return false;
308 }

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

◆ CanLoadAttachment() [1/2]

override bool CanLoadAttachment ( EntityAI attachment)
inlineprotected
194 {
196
197 if (GetHealthLevel() == GameConstants.STATE_RUINED)
198 return false;
199
200 return super.CanLoadAttachment(attachment);
201 }
Definition InventoryItem.c:731
const int STATE_RUINED
Definition constants.c:807

Перекрестные ссылки GameConstants::STATE_RUINED.

◆ CanLoadAttachment() [2/2]

override bool CanLoadAttachment ( EntityAI attachment)
inlineprotected

IsOven() &&

123 {
124 if ( !super.CanLoadAttachment(attachment) )
125 return false;
126
128
129 //cookware
130 if ( ( item.Type() == ATTACHMENT_CAULDRON ) || ( item.Type() == ATTACHMENT_COOKING_POT ) )
131 {
132 //if ( IsItemTypeAttached( ATTACHMENT_TRIPOD ) /*|| IsOven()*/ )
133 return true;
134 }
135 if ( item.Type() == ATTACHMENT_FRYING_PAN )
136 {
137 //if ( IsOven() )
138 return true;
139 }
140
141 // food on direct cooking slots
142 //if ( IsOven() )
143 //{
144 if ( item.IsKindOf( "Edible_Base" ) )
145 return true;
146 //}
147 //tripod
148 if ( item.Type() == ATTACHMENT_TRIPOD )
149 {
150 if ( GetHierarchyParent() == NULL )
151 return true;
152 }
153
154 //stones
155 if ( item.Type() == ATTACHMENT_STONES )
156 {
157 if ( GetHierarchyParent() /*|| IsBurning()*/ )
158 return false;
159
160 return true;
161 }
162
163 return true;
164 }
ATTACHMENT_FRYING_PAN
Definition FireplaceBase.c:201
ATTACHMENT_CAULDRON
Definition FireplaceBase.c:202
ATTACHMENT_STONES
Definition FireplaceBase.c:199
ATTACHMENT_COOKING_POT
Definition FireplaceBase.c:200
ATTACHMENT_TRIPOD
Definition FireplaceBase.c:197

Перекрестные ссылки ATTACHMENT_CAULDRON, ATTACHMENT_COOKING_POT, ATTACHMENT_FRYING_PAN, ATTACHMENT_STONES и ATTACHMENT_TRIPOD.

◆ CanLoadItemIntoCargo() [1/2]

override bool CanLoadItemIntoCargo ( EntityAI item)
inlineprotected
342 {
343 if (!super.CanLoadItemIntoCargo(item))
344 return false;
345
346 if (GetHealthLevel() == GameConstants.STATE_RUINED)
347 return false;
348
349 if (GetHierarchyParent())
350 return false;
351
352 return true;
353 }

Перекрестные ссылки GameConstants::STATE_RUINED.

◆ CanLoadItemIntoCargo() [2/2]

override bool CanLoadItemIntoCargo ( EntityAI item)
inlineprotected
411 {
412 if (!super.CanLoadItemIntoCargo( item ))
413 return false;
414
415 if ( GetHierarchyParent() )
416 return false;
417
418 return true;
419 }

◆ CanPlaceFireplaceInSelectedSpot() [1/2]

static bool CanPlaceFireplaceInSelectedSpot ( Object building,
int fire_point_index,
out vector fire_point_pos_world,
out vector fire_point_rot_world )
inlinestaticprotected
100 {
101 //Get fire point index position
102 vector fire_point_pos = building.GetSelectionPositionMS( FIREPOINT_FIRE_POSITION + fire_point_index.ToString() );
103 vector fire_point_rot = building.GetSelectionPositionMS( FIREPOINT_PLACE_ROT + fire_point_index.ToString() );
106
107 //check if there is any FireplaceIndoor objects near selected fire point
110 GetGame().GetObjectsAtPosition3D( fire_point_pos_world, 0.25, nearest_objects, proxy_cargos );
111
112 for ( int i = 0; i < nearest_objects.Count(); ++i )
113 {
114 Object object = nearest_objects.Get( i );
115
116 if ( object.IsInherited( FireplaceIndoor ) )
117 {
118 return false;
119 }
120 }
121
122 return true;
123 }
static const string FIREPOINT_FIRE_POSITION
Definition FireplaceIndoor.c:9
void FireplaceIndoor()
Definition FireplaceIndoor.c:13
static const string FIREPOINT_PLACE_ROT
Definition FireplaceIndoor.c:10
Definition ObjectTyped.c:2
Definition EnConvert.c:106

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

◆ CanPlaceFireplaceInSelectedSpot() [2/2]

static bool CanPlaceFireplaceInSelectedSpot ( Object building,
int fire_point_index,
out vector fire_point_pos_world,
out vector fire_point_rot_world )
inlinestaticprotected
100 {
101 //Get fire point index position
102 vector fire_point_pos = building.GetSelectionPositionMS( OVENPOINT_FIRE_POSITION + fire_point_index.ToString() );
103 vector fire_point_rot = building.GetSelectionPositionMS( OVENPOINT_PLACE_ROT + fire_point_index.ToString() );
106
107 //check if there is any FireplaceIndoor objects near selected fire point
110 GetGame().GetObjectsAtPosition3D( fire_point_pos_world, 1, nearest_objects, proxy_cargos );
111
112 for ( int i = 0; i < nearest_objects.Count(); ++i )
113 {
114 Object object = nearest_objects.Get( i );
115
116 if ( object.IsInherited( OvenIndoor ) )
117 {
118 return false;
119 }
120 }
121
122 return true;
123 }
void OvenIndoor()
Definition OvenIndoor.c:13
static const string OVENPOINT_PLACE_ROT
Definition OvenIndoor.c:10
static const string OVENPOINT_FIRE_POSITION
Definition OvenIndoor.c:9

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

◆ CanPutInCargo() [1/4]

override bool CanPutInCargo ( EntityAI parent)
inlineprotected
314 {
315 if (!super.CanPutInCargo(parent))
316 return false;
317
319 return false;
320
321 return true;
322 }
bool DirectCookingSlotsInUse()
Definition FireplaceBase.c:621
bool IsCargoEmpty()
Definition FireplaceBase.c:2439

Перекрестные ссылки DirectCookingSlotsInUse(), IsBurning(), IsCargoEmpty() и IsOpen().

◆ CanPutInCargo() [2/4]

override bool CanPutInCargo ( EntityAI parent)
inlineprotected
382 {
383 if (!super.CanPutInCargo(parent))
384 {
385 return false;
386 }
387
388 if (HasAshes() || IsBurning() || HasStones() || HasStoneCircle() || IsOven() || !IsCargoEmpty() || HasCookingStand())
389 {
390 return false;
391 }
392
393 return true;
394 }
bool HasCookingStand()
Definition FireplaceBase.c:2444
bool HasAshes()
Definition FireplaceBase.c:1635
bool HasStones()
Definition FireplaceBase.c:1656
bool HasStoneCircle()
Definition FireplaceBase.c:1651

Перекрестные ссылки HasAshes(), HasCookingStand(), HasStoneCircle(), HasStones(), IsBurning(), IsCargoEmpty() и IsOven().

◆ CanPutInCargo() [3/4]

override bool CanPutInCargo ( EntityAI parent)
inlineprotected
276 {
277 return false;
278 }

◆ CanPutInCargo() [4/4]

override bool CanPutInCargo ( EntityAI parent)
inlineprotected
264 {
265 return false;
266 }

◆ CanPutIntoHands() [1/4]

override bool CanPutIntoHands ( EntityAI parent)
inlineprotected
362 {
363 if (!super.CanPutIntoHands(parent))
364 {
365 return false;
366 }
367
369 {
370 return false;
371 }
372
373 if (!GetInventory().IsAttachment() && IsOpen())
374 {
375 return false;
376 }
377
378 return true;
379 }
bool SmokingSlotsInUse()
Definition FireplaceBase.c:633

Перекрестные ссылки DirectCookingSlotsInUse(), IsBurning(), IsCargoEmpty(), IsOpen() и SmokingSlotsInUse().

◆ CanPutIntoHands() [2/4]

override bool CanPutIntoHands ( EntityAI parent)
inlineprotected
423 {
424 if (!super.CanPutIntoHands(parent))
425 {
426 return false;
427 }
428
429 if (HasAshes() || IsBurning() || HasStones() || HasStoneCircle() || IsOven() || !IsCargoEmpty() || HasCookingStand())
430 {
431 return false;
432 }
433
434 return true;
435 }

Перекрестные ссылки HasAshes(), HasCookingStand(), HasStoneCircle(), HasStones(), IsBurning(), IsCargoEmpty() и IsOven().

◆ CanPutIntoHands() [3/4]

override bool CanPutIntoHands ( EntityAI parent)
inlineprotected
293 {
294 return false;
295 }

◆ CanPutIntoHands() [4/4]

override bool CanPutIntoHands ( EntityAI parent)
inlineprotected
275 {
276 return false;
277 }

◆ CanReceiveAttachment() [1/2]

override bool CanReceiveAttachment ( EntityAI attachment,
int slotId )
inlineprotected
168 {
170
171 if (GetHealthLevel() == GameConstants.STATE_RUINED || GetHierarchyRootPlayer() != null)
172 return false;
173
174 //direct cooking slots
175 if (!IsOpen())
176 {
177 if ((item.Type() == ATTACHMENT_CAULDRON) || (item.Type() == ATTACHMENT_COOKING_POT) || (item.Type() == ATTACHMENT_FRYING_PAN) || (item.IsKindOf("Edible_Base")))
178 {
179 return super.CanReceiveAttachment(attachment, slotId);
180 }
181 }
182 else
183 {
184 if (IsKindling(item) || IsFuel(item))
185 {
186 return super.CanReceiveAttachment(attachment, slotId);
187 }
188 }
189
190 return false;
191 }
bool IsFuel(ItemBase item)
Returns if item attached to fireplace is fuel.
Definition FireplaceBase.c:1575
bool IsKindling(ItemBase item)
Returns if item attached to fireplace is kindling.
Definition FireplaceBase.c:1557

Перекрестные ссылки ATTACHMENT_CAULDRON, ATTACHMENT_COOKING_POT, ATTACHMENT_FRYING_PAN, IsFuel(), IsKindling(), IsOpen() и GameConstants::STATE_RUINED.

◆ CanReceiveAttachment() [2/2]

override bool CanReceiveAttachment ( EntityAI attachment,
int slotId )
inlineprotected
63 {
64 if ( !super.CanReceiveAttachment(attachment, slotId) )
65 return false;
66
68
69 //cookware
70 if ( ( item.Type() == ATTACHMENT_CAULDRON ) || ( item.Type() == ATTACHMENT_COOKING_POT ) )
71 {
72 if ( FindAttachmentBySlotName( "CookingTripod" ) || IsOven() )
73 return true;
74 return false;
75 }
76 if ( item.Type() == ATTACHMENT_FRYING_PAN )
77 {
78 if ( IsOven() )
79 return true;
80 return false;
81 }
82
83 // food on direct cooking slots
84 if ( item.IsKindOf( "Edible_Base" ) )
85 {
86 if ( IsOven() )
87 return true;
88 return false;
89 }
90 //tripod
91
92 if ( item.IsInherited(TripodBase) )
93 {
94 if (!IsOven() && !GetHierarchyParent())
95 return true;
96 return false;
97 }
98
99 //stones
100 if ( item.Type() == ATTACHMENT_STONES )
101 {
102 if ( !GetHierarchyParent() && !IsBurning() )
103 return true;
104 return false;
105 }
106
107 return true;
108 }
Definition CookingStand.c:2

Перекрестные ссылки ATTACHMENT_CAULDRON, ATTACHMENT_COOKING_POT, ATTACHMENT_FRYING_PAN, ATTACHMENT_STONES, IsBurning() и IsOven().

◆ CanReceiveItemIntoCargo() [1/3]

override bool CanReceiveItemIntoCargo ( EntityAI item)
inlineprotected
331 {
332 if (GetHealthLevel() == GameConstants.STATE_RUINED)
333 return false;
334
335 if (!IsOpen())
336 return false;
337
338 return super.CanReceiveItemIntoCargo(item);
339 }

Перекрестные ссылки IsOpen() и GameConstants::STATE_RUINED.

◆ CanReceiveItemIntoCargo() [2/3]

override bool CanReceiveItemIntoCargo ( EntityAI item)
inlineprotected
403 {
404 if ( GetHierarchyParent() )
405 return false;
406
407 return super.CanReceiveItemIntoCargo( item );
408 }

◆ CanReceiveItemIntoCargo() [3/3]

override bool CanReceiveItemIntoCargo ( EntityAI item)
inlineprotected
287 {
288 return super.CanReceiveItemIntoCargo( item );
289 }

◆ CanReleaseAttachment() [1/2]

override bool CanReleaseAttachment ( EntityAI attachment)
inlineprotected
167 {
168 if (!super.CanReleaseAttachment(attachment))
169 {
170 return false;
171 }
172
174 //stones
175 if (item.Type() == ATTACHMENT_STONES)
176 {
177 if (IsBurning())
178 {
179 return false;
180 }
181
182 int stone_quantity = item.GetQuantity();
183 if (HasStoneCircle() && stone_quantity <= 8)
184 {
185 return false;
186 }
187
188 if (IsOven())
189 {
190 return false;
191 }
192 }
193
194 return true;
195 }

Перекрестные ссылки ATTACHMENT_STONES, HasStoneCircle(), IsBurning() и IsOven().

◆ CanReleaseAttachment() [2/2]

override bool CanReleaseAttachment ( EntityAI attachment)
inlineprotected
161 {
162 if (!super.CanReleaseAttachment(attachment))
163 {
164 return false;
165 }
166
168 if (IsKindling(item) || IsFuel(item))
169 {
170 return !IsBurning();
171 }
172
173 return true;
174 }

Перекрестные ссылки IsBurning(), IsFuel() и IsKindling().

◆ CanReleaseCargo()

override bool CanReleaseCargo ( EntityAI cargo)
inlineprotected
356 {
357 return IsOpen();
358 }

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

◆ CanRemoveFromCargo() [1/4]

override bool CanRemoveFromCargo ( EntityAI parent)
inlineprotected
325 {
326 return true;
327 }

◆ CanRemoveFromCargo() [2/4]

override bool CanRemoveFromCargo ( EntityAI parent)
inlineprotected
397 {
398 return true;
399 }

◆ CanRemoveFromCargo() [3/4]

override bool CanRemoveFromCargo ( EntityAI parent)
inlineprotected
281 {
282 return true;
283 }

◆ CanRemoveFromCargo() [4/4]

override bool CanRemoveFromCargo ( EntityAI parent)
inlineprotected
269 {
270 return true;
271 }

◆ CanRemoveFromHands() [1/2]

override bool CanRemoveFromHands ( EntityAI player)
inlineprotected
298 {
299 return false;
300 }

◆ CanRemoveFromHands() [2/2]

override bool CanRemoveFromHands ( EntityAI player)
inlineprotected
280 {
281 return false;
282 }

◆ CanShowSmoke() [1/2]

override bool CanShowSmoke ( )
inlineprotected
485 {
486 return IsOpen();
487 }

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

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

◆ CanShowSmoke() [2/2]

override bool CanShowSmoke ( )
inlineprotected
471 {
472 return !IsOven();
473 }

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

◆ Close()

override void Close ( )
inlineprotected
436 {
437 m_Openable.Close();
438
440 SetTakeable(true);
442 }
void SoundSynchRemote()
Definition ItemBase.c:9066
override void SetTakeable(bool pState)
Definition ItemBase.c:9020
void UpdateVisualState()
Definition BarrelHoles_ColorBase.c:458

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

◆ CloseLoad()

void CloseLoad ( )
inlineprotected
445 {
446 m_Openable.Close();
447
448 SetSynchDirty();
449 SetTakeable(true);
451 }

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

◆ ContactEvent()

void ContactEvent ( IEntity other,
vector position )
inlineprotected
51 {
52 if ( GetGame().IsServer() && !m_ContactEventProcessing && dBodyIsActive(this) && !IsSetForDeletion() )
53 {
55 MiscGameplayFunctions.ThrowAllItemsInInventory(this, 0);
56 CheckForDestroy();
58 }
59 }
bool m_ContactEventProcessing
Definition Fireplace.c:3
proto native bool dBodyIsActive(notnull IEntity ent)

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

Используется в EOnContact() и EOnTouch().

◆ CreateAreaDamage()

override void CreateAreaDamage ( )
inlineprotected
61 {
63
65 m_AreaDamage.SetDamageComponentType(AreaDamageComponentTypes.HITZONE);
66 m_AreaDamage.SetExtents("-0.15 0 -0.15", "0.15 0.75 0.15");
67 m_AreaDamage.SetLoopInterval(0.5);
68 m_AreaDamage.SetDeferDuration(0.5);
69 m_AreaDamage.SetHitZones({"Head","Torso","LeftHand","LeftLeg","LeftFoot","RightHand","RightLeg","RightFoot"});
70 m_AreaDamage.SetAmmoName("FireDamage");
71 m_AreaDamage.Spawn();
72 }
ref AreaDamageManager m_AreaDamage
Definition FireplaceBase.c:208
void DestroyAreaDamage()
Definition FireplaceBase.c:2306
Definition AreaDamageManager.c:2
const int HITZONE
Definition AreaDamageManager.c:4
Deferred version of AreaDamageLooped.
Definition AreaDamageLoopedDeferred.c:3

Перекрестные ссылки DestroyAreaDamage(), AreaDamageComponentTypes::HITZONE и m_AreaDamage.

Используется в OnVariablesSynchronized() и StartHeating().

◆ DestroyClutterCutter() [1/2]

void DestroyClutterCutter ( Object clutter_cutter)
inlineprotected
548 {
549 GetGame().ObjectDelete(clutter_cutter);
550 }

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

◆ DestroyClutterCutter() [2/2]

void DestroyClutterCutter ( Object clutter_cutter)
inlineprotected
477 {
478 GetGame().ObjectDelete( clutter_cutter );
479 }

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

◆ EEItemAttached() [1/4]

override void EEItemAttached ( EntityAI item,
string slot_name )
inlineprotected
204 {
205 super.EEItemAttached(item, slot_name);
206
208
210 {
212 }
213
214 // direct cooking/smoking slots
215 bool edible_base_attached = false;
216 switch (slot_name)
217 {
218 case "DirectCookingA":
221 break;
222 case "DirectCookingB":
225 break;
226 case "DirectCookingC":
229 break;
230
231 case "SmokingA":
234 break;
235 case "SmokingB":
238 break;
239 case "SmokingC":
242 break;
243 case "SmokingD":
246 break;
247 }
248
250 }
void RefreshFireplaceVisuals()
Definition FireplaceBase.c:667
void AddToFireConsumables(ItemBase item)
Definition FireplaceBase.c:1384
ItemBase m_DirectCookingSlots[DIRECT_COOKING_SLOT_COUNT]
Definition FireplaceBase.c:101
ItemBase m_SmokingSlots[SMOKING_SLOT_COUNT]
Definition FireplaceBase.c:102

Перекрестные ссылки AddToFireConsumables(), IsFuel(), IsKindling(), m_DirectCookingSlots, m_SmokingSlots и RefreshFireplaceVisuals().

◆ EEItemAttached() [2/4]

override void EEItemAttached ( EntityAI item,
string slot_name )
inlineprotected
198 {
199 super.EEItemAttached(item, slot_name);
200
202
204 {
206 }
207
208 //cookware
209 if (item_base.Type() == ATTACHMENT_COOKING_POT)
210 {
212
213 //rotate handle (if not in 'Oven' stage)
214 if (GetGame().IsServer() && !IsOven())
215 {
216 item_base.SetAnimationPhase(ANIMATION_COOKWARE_HANDLE, 0);
217 }
218 }
219 if (item.Type() == ATTACHMENT_CAULDRON)
220 {
222
223 //rotate handle (if not in 'Oven' stage)
224 if (GetGame().IsServer() && !IsOven())
225 {
226 item_base.SetAnimationPhase(ANIMATION_CAULDRON_HANDLE, 0);
227 }
228 }
229
230 // direct cooking/smoking slots
231 bool edible_base_attached = false;
232 switch (slot_name)
233 {
234 case "DirectCookingA":
237 break;
238 case "DirectCookingB":
241 break;
242 case "DirectCookingC":
245 break;
246
247 case "SmokingA":
250 break;
251 case "SmokingB":
254 break;
255 case "SmokingC":
258 break;
259 case "SmokingD":
262 break;
263 }
264
265 //TODO
266 //add SetViewIndex when attaching various attachments
267
269 }
const string ANIMATION_CAULDRON_HANDLE
Definition FireplaceBase.c:175
const string ANIMATION_COOKWARE_HANDLE
Definition FireplaceBase.c:174
override void SetCookingEquipment(ItemBase equipment)
Definition Fireplace.c:353

Перекрестные ссылки AddToFireConsumables(), ANIMATION_CAULDRON_HANDLE, ANIMATION_COOKWARE_HANDLE, ATTACHMENT_CAULDRON, ATTACHMENT_COOKING_POT, GetGame(), IsFuel(), IsKindling(), IsOven(), m_DirectCookingSlots, m_SmokingSlots, RefreshFireplaceVisuals() и SetCookingEquipment().

◆ EEItemAttached() [3/4]

override void EEItemAttached ( EntityAI item,
string slot_name )
inlineprotected
161 {
162 super.EEItemAttached(item, slot_name);
163
166 {
168 }
169
170 // direct cooking slots, smoking slots
171 bool edible_base_attached = false;
172 switch ( slot_name )
173 {
174 case "DirectCookingA":
177 break;
178 case "DirectCookingB":
181 break;
182 case "DirectCookingC":
185 break;
186
187 case "SmokingA":
190 break;
191 case "SmokingB":
194 break;
195 case "SmokingC":
198 break;
199 case "SmokingD":
202 break;
203 }
204
206 }

Перекрестные ссылки AddToFireConsumables(), IsFuel(), IsKindling(), m_DirectCookingSlots, m_SmokingSlots и RefreshFireplaceVisuals().

◆ EEItemAttached() [4/4]

override void EEItemAttached ( EntityAI item,
string slot_name )
inlineprotected
177 {
178 super.EEItemAttached(item, slot_name);
179
181
183 {
185 }
186
187 // direct cooking/smoking slots
188 bool edible_base_attached = false;
189 switch (slot_name)
190 {
191 case "DirectCookingA":
194 break;
195 case "SmokingA":
198 break;
199 case "SmokingB":
202 break;
203 }
204
206 }

Перекрестные ссылки AddToFireConsumables(), IsFuel(), IsKindling(), m_DirectCookingSlots, m_SmokingSlots и RefreshFireplaceVisuals().

◆ EEItemDetached() [1/4]

override void EEItemDetached ( EntityAI item,
string slot_name )
inlineprotected
258 {
259 super.EEItemDetached(item, slot_name);
260
263 {
265 }
266
267 // direct cooking / smoking slots
268 switch (slot_name)
269 {
270 case "DirectCookingA":
272 break;
273 case "DirectCookingB":
275 break;
276 case "DirectCookingC":
278 break;
279
280 case "SmokingA":
281 m_SmokingSlots[0] = null;
282 break;
283 case "SmokingB":
284 m_SmokingSlots[1] = null;
285 break;
286 case "SmokingC":
287 m_SmokingSlots[2] = null;
288 break;
289 case "SmokingD":
290 m_SmokingSlots[3] = null;
291 break;
292 }
293
294 // cookware-specifics (remove audio visuals)
296 {
299 cooking_pot.RemoveAudioVisualsOnClient();
300 }
301 if (item_base.Type() == ATTACHMENT_FRYING_PAN)
302 {
305 frying_pan.RemoveAudioVisualsOnClient();
306 }
307
309 }
void RemoveFromFireConsumables(FireConsumable fire_consumable)
Definition FireplaceBase.c:1411
void ClearCookingEquipment()
DEPRECATED.
Definition FireplaceBase.c:616
FireConsumable GetFireConsumableByItem(ItemBase item)
Definition FireplaceBase.c:1422
Definition Canteen.c:2
Definition FryingPan.c:2

Перекрестные ссылки ATTACHMENT_CAULDRON, ATTACHMENT_COOKING_POT, ATTACHMENT_FRYING_PAN, ClearCookingEquipment(), GetFireConsumableByItem(), IsFuel(), IsKindling(), m_DirectCookingSlots, m_SmokingSlots, RefreshFireplaceVisuals() и RemoveFromFireConsumables().

◆ EEItemDetached() [2/4]

override void EEItemDetached ( EntityAI item,
string slot_name )
inlineprotected
272 {
273 super.EEItemDetached(item, slot_name);
274
276
278 {
280 }
281
282 //cookware
283 if (item_base.Type() == ATTACHMENT_COOKING_POT)
284 {
286
287 //rotate handle
288 if (GetGame().IsServer())
289 {
290 item_base.SetAnimationPhase(ANIMATION_COOKWARE_HANDLE, 1);
291 }
292
293 //remove audio visuals
295 cooking_pot.RemoveAudioVisualsOnClient();
296 }
297 if (item_base.Type() == ATTACHMENT_CAULDRON)
298 {
300
301 //rotate handle
302 if (GetGame().IsServer())
303 {
304 item_base.SetAnimationPhase(ANIMATION_CAULDRON_HANDLE, 1);
305 }
306
307 //remove audio visuals
309 cauldron.RemoveAudioVisualsOnClient();
310 }
311 if (item_base.Type() == ATTACHMENT_FRYING_PAN)
312 {
314
315 //remove audio visuals
317 frying_pan.RemoveAudioVisualsOnClient();
318 }
319
320 // direct cooking/smoking slots
321 switch (slot_name)
322 {
323 case "DirectCookingA":
325 break;
326 case "DirectCookingB":
328 break;
329 case "DirectCookingC":
331 break;
332
333 case "SmokingA":
334 m_SmokingSlots[0] = null;
335 break;
336 case "SmokingB":
337 m_SmokingSlots[1] = null;
338 break;
339 case "SmokingC":
340 m_SmokingSlots[2] = null;
341 break;
342 case "SmokingD":
343 m_SmokingSlots[3] = null;
344 break;
345 }
346
347 //no attachments left, no cargo items & no ashes are present
348 CheckForDestroy();
350 }

Перекрестные ссылки ANIMATION_CAULDRON_HANDLE, ANIMATION_COOKWARE_HANDLE, ATTACHMENT_CAULDRON, ATTACHMENT_COOKING_POT, ATTACHMENT_FRYING_PAN, ClearCookingEquipment(), GetFireConsumableByItem(), GetGame(), IsFuel(), IsKindling(), m_DirectCookingSlots, m_SmokingSlots, RefreshFireplaceVisuals() и RemoveFromFireConsumables().

◆ EEItemDetached() [3/4]

override void EEItemDetached ( EntityAI item,
string slot_name )
inlineprotected
209 {
210 super.EEItemDetached(item, slot_name);
211
213
215 {
217 }
218
219 CheckForDestroy();
220
221 // direct cooking/smoking slots
222 switch (slot_name)
223 {
224 case "DirectCookingA":
226 break;
227 case "DirectCookingB":
229 break;
230 case "DirectCookingC":
232 break;
233
234 case "SmokingA":
235 m_SmokingSlots[0] = null;
236 break;
237 case "SmokingB":
238 m_SmokingSlots[1] = null;
239 break;
240 case "SmokingC":
241 m_SmokingSlots[2] = null;
242 break;
243 case "SmokingD":
244 m_SmokingSlots[3] = null;
245 break;
246 }
247
248 // cookware-specifics (remove audio visuals)
249 if (item_base.Type() == ATTACHMENT_COOKING_POT)
250 {
253 cooking_pot.RemoveAudioVisualsOnClient();
254 }
255 if (item_base.Type() == ATTACHMENT_CAULDRON)
256 {
259 cauldron.RemoveAudioVisualsOnClient();
260 }
261 if (item_base.Type() == ATTACHMENT_FRYING_PAN)
262 {
265 frying_pan.RemoveAudioVisualsOnClient();
266 }
267
269 }

Перекрестные ссылки ATTACHMENT_CAULDRON, ATTACHMENT_COOKING_POT, ATTACHMENT_FRYING_PAN, ClearCookingEquipment(), GetFireConsumableByItem(), IsFuel(), IsKindling(), m_DirectCookingSlots, m_SmokingSlots, RefreshFireplaceVisuals() и RemoveFromFireConsumables().

◆ EEItemDetached() [4/4]

override void EEItemDetached ( EntityAI item,
string slot_name )
inlineprotected
209 {
210 super.EEItemDetached(item, slot_name);
211
213
215 {
217 }
218
219 CheckForDestroy();
220
221 // direct cooking/smoking slots
222 switch (slot_name)
223 {
224 case "DirectCookingA":
226 break;
227 case "SmokingA":
228 m_SmokingSlots[0] = null;
229 break;
230
231 case "SmokingB":
232 m_SmokingSlots[1] = null;
233 break;
234 }
235
236 // cookware-specifics (remove audio visuals)
237 if (item_base.Type() == ATTACHMENT_COOKING_POT)
238 {
241 cooking_pot.RemoveAudioVisualsOnClient();
242 }
243 if (item_base.Type() == ATTACHMENT_CAULDRON)
244 {
247 cauldron.RemoveAudioVisualsOnClient();
248 }
249 if (item_base.Type() == ATTACHMENT_FRYING_PAN)
250 {
253 frying_pan.RemoveAudioVisualsOnClient();
254 }
255
257 }

Перекрестные ссылки ATTACHMENT_CAULDRON, ATTACHMENT_COOKING_POT, ATTACHMENT_FRYING_PAN, ClearCookingEquipment(), GetFireConsumableByItem(), IsFuel(), IsKindling(), m_DirectCookingSlots, m_SmokingSlots, RefreshFireplaceVisuals() и RemoveFromFireConsumables().

◆ EOnContact()

override void EOnContact ( IEntity other,
Contact extra )
inlineprotected
46 {
47 ContactEvent( other, extra.Position );
48 }
void ContactEvent(IEntity other, vector position)
Definition Fireplace.c:50

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

◆ EOnTouch()

override void EOnTouch ( IEntity other,
int extra )
inlineprotected
41 {
43 }

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

◆ Fireplace()

void Fireplace ( )
inlineprivate

universal temperature sources overrides

6 {
7 //Particles - default for FireplaceBase
15
16 SetEventMask( EntityEvent.CONTACT | EntityEvent.TOUCH );
17
21 m_UTSSettings.m_TemperatureCap = 20;
22
24 }
static const int CAMP_FIRE_START
Definition ParticleList.c:27
static const int CAMP_FIRE_END
Definition ParticleList.c:32
static const int CAMP_NORMAL_FIRE
Definition ParticleList.c:29
static const int CAMP_NORMAL_SMOKE
Definition ParticleList.c:31
static const int CAMP_SMALL_FIRE
Definition ParticleList.c:28
static const int CAMP_STEAM_2END
Definition ParticleList.c:33
static const int CAMP_SMALL_SMOKE
Definition ParticleList.c:30
EntityEvent
Entity events for event-mask, or throwing event from code.
Definition EnEntity.c:45

Перекрестные ссылки ParticleList::CAMP_FIRE_END, ParticleList::CAMP_FIRE_START, ParticleList::CAMP_NORMAL_FIRE, ParticleList::CAMP_NORMAL_SMOKE, ParticleList::CAMP_SMALL_FIRE, ParticleList::CAMP_SMALL_SMOKE, ParticleList::CAMP_STEAM_2END, GameConstants::ITEM_TEMPERATURE_NEUTRAL_ZONE_MIDDLE, m_ThawnSurfaceUnderSupport, m_UTSSettings, PARAM_OUTDOOR_FIRE_TEMPERATURE, PARTICLE_FIRE_END, PARTICLE_FIRE_START, PARTICLE_NORMAL_FIRE, PARTICLE_NORMAL_SMOKE, PARTICLE_SMALL_FIRE, PARTICLE_SMALL_SMOKE и PARTICLE_STEAM_END.

◆ FireplaceIndoor()

void FireplaceIndoor ( )
inlineprotected
14 {
15 //Particles - default for FireplaceBase
23
24 //register sync variables
25 RegisterNetSyncVariableFloat( "m_SmokePosX", 0, 0, 2 );
26 RegisterNetSyncVariableFloat( "m_SmokePosY", 0, 0, 2 );
27 RegisterNetSyncVariableFloat( "m_SmokePosZ", 0, 0, 2 );
28 RegisterNetSyncVariableInt( "m_FirePointIndex", 0, 9 );
29
30 m_LightDistance = 50;
31 SetRoofAbove(true);
32 }
static const int HOUSE_NORMAL_SMOKE
Definition ParticleList.c:44
static const int HOUSE_SMALL_SMOKE
Definition ParticleList.c:42
static const int HOUSE_FIRE_END
Definition ParticleList.c:45
static const int HOUSE_NORMAL_FIRE
Definition ParticleList.c:43
static const int HOUSE_FIRE_START
Definition ParticleList.c:40
static const int HOUSE_FIRE_STEAM_2END
Definition ParticleList.c:46
static const int HOUSE_SMALL_FIRE
Definition ParticleList.c:41

Перекрестные ссылки ParticleList::HOUSE_FIRE_END, ParticleList::HOUSE_FIRE_START, ParticleList::HOUSE_FIRE_STEAM_2END, ParticleList::HOUSE_NORMAL_FIRE, ParticleList::HOUSE_NORMAL_SMOKE, ParticleList::HOUSE_SMALL_FIRE, ParticleList::HOUSE_SMALL_SMOKE, m_LightDistance, PARTICLE_FIRE_END, PARTICLE_FIRE_START, PARTICLE_NORMAL_FIRE, PARTICLE_NORMAL_SMOKE, PARTICLE_SMALL_FIRE, PARTICLE_SMALL_SMOKE и PARTICLE_STEAM_END.

◆ GetDamageSystemVersionChange()

override int GetDamageSystemVersionChange ( )
inlineprotected
75 {
76 return 110;
77 }

◆ GetFirePointIndex() [1/2]

static int GetFirePointIndex ( string action_selection)
inlinestaticprotected
89 {
90 int index_location = action_selection.Length() - 1;
91 return action_selection.Substring( index_location, 1 ).ToInt();
92 }

◆ GetFirePointIndex() [2/2]

static int GetFirePointIndex ( string action_selection)
inlinestaticprotected
89 {
90 int index_location = action_selection.Length() - 1;
91 return action_selection.Substring( index_location, 1 ).ToInt();
92 }

◆ GetInvulnerabilityTypeString()

override string GetInvulnerabilityTypeString ( )
inlineprotected
80 {
81 return "disableContainerDamage";
82 }

◆ GetPlaceSoundset() [1/2]

override string GetPlaceSoundset ( )
inlineprotected
574 {
575 return "placeBarrel_SoundSet";
576 }

◆ GetPlaceSoundset() [2/2]

override string GetPlaceSoundset ( )
inlineprotected
756 {
757 return "placeFireplace_SoundSet";
758 }

◆ GetSmokeEffectPosition() [1/2]

vector GetSmokeEffectPosition ( )
inlineprotected
136 {
138 }
float m_SmokePosX
Definition FireplaceIndoor.c:3
float m_SmokePosY
Definition FireplaceIndoor.c:4
float m_SmokePosZ
Definition FireplaceIndoor.c:5
proto native vector Vector(float x, float y, float z)
Vector constructor from components.

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

Используется в ParticleNormalSmokeStart(), ParticleNormalSmokeStart(), ParticleSmallSmokeStart() и ParticleSmallSmokeStart().

◆ GetSmokeEffectPosition() [2/2]

vector GetSmokeEffectPosition ( )
inlineprotected
136 {
138 }

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

◆ HasFlammableMaterial() [1/4]

override bool HasFlammableMaterial ( )
inlineprotected
491 {
492 return true;
493 }

◆ HasFlammableMaterial() [2/4]

override bool HasFlammableMaterial ( )
inlineprotected
571 {
572 return true;
573 }

◆ HasFlammableMaterial() [3/4]

override bool HasFlammableMaterial ( )
inlineprotected
304 {
305 return true;
306 }

◆ HasFlammableMaterial() [4/4]

override bool HasFlammableMaterial ( )
inlineprotected
286 {
287 return true;
288 }

◆ HeightStartCheckOverride()

override float HeightStartCheckOverride ( )
inlineprotected
465 {
466 return 0.5;
467 }

◆ IgniteEntityAsFireplace()

static Fireplace IgniteEntityAsFireplace ( notnull EntityAI entity,
notnull EntityAI fire_source )
inlinestaticprotected
699 {
700 //get player
701 PlayerBase player = PlayerBase.Cast( fire_source.GetHierarchyRootPlayer() );
702
703 //create fireplace
704 Fireplace fireplace = Fireplace.Cast( GetGame().CreateObjectEx( "Fireplace" , entity.GetPosition(), ECE_PLACE_ON_SURFACE ) );
705
706 //attach
707 if ( !GetGame().IsMultiplayer() ) //clear inventory reservation (single player)
708 {
710 entity.GetInventory().GetCurrentInventoryLocation( loc );
711 player.GetInventory().ClearInventoryReservationEx( entity, loc );
712 }
713
714 if ( GetGame().IsServer() && GetGame().IsMultiplayer() )
715 {
716 player.ServerTakeEntityToTargetAttachment( fireplace, entity ); // multiplayer server side
717 }
718 else
719 {
720 player.LocalTakeEntityToTargetAttachment( fireplace, entity ); // single player or multiplayer client side
721 }
722
723 //start fire
724 fireplace.StartFire();
725 fireplace.OnIgnitedThis(fire_source);
726
727 return fireplace;
728 }
void Fireplace()
Definition Fireplace.c:5
InventoryLocation.
Definition InventoryLocation.c:29
Definition PlayerBaseClient.c:2

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

◆ InitializeTemperatureSources() [1/2]

void InitializeTemperatureSources ( )
inlineprotected
42 {
44 m_UTSLFireplace.SetSmallFireplaceTemperatureMax(PARAM_SMALL_FIRE_TEMPERATURE);
45 m_UTSLFireplace.SetNormalFireplaceTemperatureMax(PARAM_OUTDOOR_FIRE_TEMPERATURE);
46
48 }
const float PARAM_SMALL_FIRE_TEMPERATURE
Definition FireplaceBase.c:41
ref UniversalTemperatureSourceLambdaFireplace m_UTSLFireplace
Definition FireplaceBase.c:220
ref UniversalTemperatureSource m_UTSource
Definition FireplaceBase.c:218
original Timer deletes m_params which is unwanted
Definition UniversalTemperatureSource.c:28
Definition UniversalTemperatureSourceLambdaFireplace.c:2

Перекрестные ссылки m_UTSLFireplace, m_UTSource, m_UTSSettings, PARAM_OUTDOOR_FIRE_TEMPERATURE и PARAM_SMALL_FIRE_TEMPERATURE.

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

◆ InitializeTemperatureSources() [2/2]

void InitializeTemperatureSources ( )
inlineprotected

◆ IsBarrelWithHoles()

override bool IsBarrelWithHoles ( )
inlineprotected
135 {
136 return true;
137 }

Используется в RefreshFireplaceVisuals() и StartHeating().

◆ IsBaseFireplace() [1/2]

override bool IsBaseFireplace ( )
inlineprotected
56 {
57 return true;
58 }

Используется в OnVariablesSynchronized() и StartHeating().

◆ IsBaseFireplace() [2/2]

override bool IsBaseFireplace ( )
inlineprotected
36 {
37 return true;
38 }

◆ IsFireplaceIndoor()

override bool IsFireplaceIndoor ( )
inlineprotected
156 {
157 return true;
158 }

Используется в RefreshFireplaceVisuals(), StartFire(), StartHeating() и StopFire().

◆ IsIgnited() [1/4]

override bool IsIgnited ( )
inlineprotected
516 {
517 return IsBurning();
518 }

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

◆ IsIgnited() [2/4]

override bool IsIgnited ( )
inlineprotected
586 {
587 return IsBurning();
588 }

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

◆ IsIgnited() [3/4]

override bool IsIgnited ( )
inlineprotected
329 {
330 return IsBurning();
331 }

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

◆ IsIgnited() [4/4]

override bool IsIgnited ( )
inlineprotected
311 {
312 return IsBurning();
313 }

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

◆ IsIndoorOven()

override bool IsIndoorOven ( )
inlineprotected
156 {
157 return true;
158 }

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

◆ IsOpen()

override bool IsOpen ( )
inlineprotected
454 {
455 return m_Openable.IsOpened();
456 }

Используется в Cooling(), Heating(), OnItemLocationChanged(), ParticleNormalSmokeStart(), ParticleSmallSmokeStart() и StartHeating().

◆ IsPrepareToDelete() [1/2]

override bool IsPrepareToDelete ( )
inlineprotected
253 {
254 return false;
255 }

◆ IsPrepareToDelete() [2/2]

override bool IsPrepareToDelete ( )
inlineprotected
375 {
376 return GetInventory().AttachmentCount() == 0 && !IsBurning() && !HasAshes();
377 }

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

◆ IsThisIgnitionSuccessful() [1/4]

override bool IsThisIgnitionSuccessful ( EntityAI item_source = NULL)
inlineprotected
553 {
554 //check kindling
555 if (!HasAnyKindling() && IsOpen())
556 {
557 return false;
558 }
559
560 //check surface
561 if (IsOnWaterSurface())
562 {
563 return false;
564 }
565
566 return true;
567 }
bool IsOnWaterSurface()
Definition FireplaceBase.c:2414

Перекрестные ссылки HasAnyKindling(), IsOnWaterSurface() и IsOpen().

◆ IsThisIgnitionSuccessful() [2/4]

override bool IsThisIgnitionSuccessful ( EntityAI item_source = NULL)
inlineprotected
632 {
633 SetIgniteFailure( false );
635
636 //check kindling
637 if ( !HasAnyKindling() )
638 {
639 return false;
640 }
641
642 //check roof
643 if ( !IsOven() )
644 {
646 {
647 return false;
648 }
649 }
650
651 //check surface
652 if ( IsOnWaterSurface() )
653 {
654 return false;
655 }
656
657 //check wetness
658 if ( IsWet() )
659 {
660 SetIgniteFailure( true );
661
663 GetGame().RPCSingleParam( this, FirePlaceFailure.WET, failure, true );
664 return false;
665 }
666
667 // check if the fireplace isnt below a roof
668 // excluding this check whein oven stage
670 if ( !IsOven() && !IsRoofAbove() )
671 {
672 // if not, check if there is strong rain or wind
673 if ( IsRainingAbove() )
674 {
675 SetIgniteFailure( true );
676
678 GetGame().RPCSingleParam( this, FirePlaceFailure.WET, failure, true );
679 return false;
680 }
681
682 if ( IsWindy() )
683 {
684 SetIgniteFailure( true );
685
687 GetGame().RPCSingleParam( this, FirePlaceFailure.WIND, failure, true );
688 return false;
689 }
690 }
691
692 return true;
693 }
bool IsCeilingHighEnoughForSmoke()
Definition FireplaceBase.c:2370
bool IsRainingAbove()
Definition FireplaceBase.c:2381
static bool IsWindy()
Definition FireplaceBase.c:2333
bool GetIgniteFailure()
Definition FireplaceBase.c:2342
bool IsOnInteriorSurface()
Definition FireplaceBase.c:2427
bool IsWet()
Definition FireplaceBase.c:2358
void SetIgniteFailure(bool failure)
Definition FireplaceBase.c:2347
override void CheckForRoofLimited(float timeTresholdMS=3000)
Roof check for entity, limited by time (anti-spam solution)
Definition ItemBase.c:8707

Перекрестные ссылки CheckForRoofLimited(), GetGame(), GetIgniteFailure(), HasAnyKindling(), IsCeilingHighEnoughForSmoke(), IsOnInteriorSurface(), IsOnWaterSurface(), IsOven(), IsRainingAbove(), IsWet(), IsWindy() и SetIgniteFailure().

◆ IsThisIgnitionSuccessful() [3/4]

override bool IsThisIgnitionSuccessful ( EntityAI item_source = NULL)
inlineprotected
344 {
345 SetIgniteFailure( false );
347
348 //check kindling
349 if ( !HasAnyKindling() )
350 {
351 return false;
352 }
353
354 //check wetness
355 if ( IsWet() )
356 {
357 SetIgniteFailure( true );
358
360 GetGame().RPCSingleParam( this, FirePlaceFailure.WET, failure, true );
361 return false;
362 }
363
364 return true;
365 }

Перекрестные ссылки GetGame(), GetIgniteFailure(), HasAnyKindling(), IsWet() и SetIgniteFailure().

◆ IsThisIgnitionSuccessful() [4/4]

override bool IsThisIgnitionSuccessful ( EntityAI item_source = NULL)
inlineprotected
326 {
327 //check kindling
328 if ( !HasAnyKindling() )
329 {
330 return false;
331 }
332
333 //check wetness
334 if ( IsWet() )
335 {
336 return false;
337 }
338
339 return true;
340 }

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

◆ OnBeforeTryDelete()

override void OnBeforeTryDelete ( )
inlineprotected
368 {
369 super.OnBeforeTryDelete();
370
371 MiscGameplayFunctions.DropAllItemsInInventoryInBounds(this, m_HalfExtents);
372 }
Container_Base m_HalfExtents

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

◆ OnDebugSpawn()

override void OnDebugSpawn ( )
inlineprotected
590 {
591 m_Openable.Open();
592 super.OnDebugSpawn();
593 m_Openable.Close();
594 }

◆ OnIgnitedTarget() [1/4]

override void OnIgnitedTarget ( EntityAI ignited_item)
inlineprotected
521 {
522 }

◆ OnIgnitedTarget() [2/4]

override void OnIgnitedTarget ( EntityAI ignited_item)
inlineprotected
591 {
592 }

◆ OnIgnitedTarget() [3/4]

override void OnIgnitedTarget ( EntityAI ignited_item)
inlineprotected
334 {
335 }

◆ OnIgnitedTarget() [4/4]

override void OnIgnitedTarget ( EntityAI ignited_item)
inlineprotected
316 {
317 }

◆ OnIgnitedThis() [1/4]

override void OnIgnitedThis ( EntityAI fire_source)
inlineprotected
525 {
526 //remove grass
528 cc_object.SetOrientation (GetOrientation());
529 GetGame().GetCallQueue(CALL_CATEGORY_GAMEPLAY).CallLater(DestroyClutterCutter, 0.2, false, cc_object);
530
531 //start fire
532 StartFire();
533 }
void StartFire(bool force_start=false)
Definition FireplaceBase.c:1738
void DestroyClutterCutter(Object clutter_cutter)
Definition BarrelHoles_ColorBase.c:547
const int CALL_CATEGORY_GAMEPLAY
Definition tools.c:10

Перекрестные ссылки CALL_CATEGORY_GAMEPLAY, ECE_PLACE_ON_SURFACE, GetGame(), GetOrientation(), GetPosition, OBJECT_CLUTTER_CUTTER и StartFire().

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

◆ OnIgnitedThis() [2/4]

override void OnIgnitedThis ( EntityAI fire_source)
inlineprotected
595 {
596 //remove grass
598 cc_object.SetOrientation ( GetOrientation() );
599 GetGame().GetCallQueue( CALL_CATEGORY_GAMEPLAY ).CallLater( DestroyClutterCutter, 200, false, cc_object );
600
601 //start fire
602 StartFire();
603
604 if ( fire_source )
605 {
606 Man player = fire_source.GetHierarchyRootPlayer();
607
608 if ( player )
609 {
611
612 if ( fire_source.ClassName() == "Matchbox" )
613 {
614 ignate_type = EFireIgniteType.Matchbox;
615 }
616 else if ( fire_source.ClassName() == "Roadflare" )
617 {
618 ignate_type = EFireIgniteType.Roadflare;
619 }
620 else if ( fire_source.ClassName() == "HandDrillKit" )
621 {
622 ignate_type = EFireIgniteType.HandDrill;
623 }
624
625
627 }
628 }
629 }
EFireIgniteType
Definition EFireIgniteType.c:2
Definition SyncEvents.c:2
static void SendPlayerIgnatedFireplace(Man player, EFireIgniteType ignite_type)
Definition SyncEvents.c:83

Перекрестные ссылки CALL_CATEGORY_GAMEPLAY, ECE_PLACE_ON_SURFACE, GetGame(), GetOrientation(), GetPosition, OBJECT_CLUTTER_CUTTER, SyncEvents::SendPlayerIgnatedFireplace() и StartFire().

◆ OnIgnitedThis() [3/4]

override void OnIgnitedThis ( EntityAI fire_source)
inlineprotected
338 {
339 //start fire
340 StartFire();
341 }

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

◆ OnIgnitedThis() [4/4]

override void OnIgnitedThis ( EntityAI fire_source)
inlineprotected
320 {
321 //start fire
322 StartFire();
323 }

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

◆ OnStoreLoad() [1/4]

override bool OnStoreLoad ( ParamsReadContext ctx,
int version )
inlineprotected
112 {
113 if (!super.OnStoreLoad(ctx, version))
114 return false;
115
116 bool opened;
117 if (version >= 110 && !ctx.Read(opened))
118 {
119 return false;
120 }
121
122 if (opened)
123 {
124 OpenLoad();
125 }
126 else
127 {
128 CloseLoad();
129 }
130
131 return true;
132 }
void CloseLoad()
Definition BarrelHoles_ColorBase.c:444
void OpenLoad()
Definition BarrelHoles_ColorBase.c:426

◆ OnStoreLoad() [2/4]

override bool OnStoreLoad ( ParamsReadContext ctx,
int version )
inlineprotected
529 {
530 if ( !super.OnStoreLoad(ctx, version) )
531 return false;
532
533 if ( version >= 110 )
534 {
535 // read stone circle state
536 if ( !ctx.Read( m_HasStoneCircle ) )
537 {
538 m_HasStoneCircle = false;
539 return false;
540 }
541 // read stone oven state
542 if ( !ctx.Read( m_IsOven ) )
543 {
544 m_IsOven = false;
545 return false;
546 }
547 }
548 return true;
549 }
bool m_HasStoneCircle
Definition FireplaceBase.c:27
bool m_IsOven
Definition FireplaceBase.c:26

Перекрестные ссылки m_HasStoneCircle и m_IsOven.

◆ OnStoreLoad() [3/4]

override bool OnStoreLoad ( ParamsReadContext ctx,
int version )
inlineprotected
51 {
52 if ( !super.OnStoreLoad( ctx, version ) )
53 return false;
54
55 //--- Fireplace Indoor data ---
56 //fire point name
57 if ( !ctx.Read( m_FirePointIndex ) )
58 {
59 m_FirePointIndex = 1; //set default
60 return false;
61 }
62
63 //smoke position
64 if ( !ctx.Read( m_SmokePosX ) )
65 {
66 m_SmokePosX = 0; //set default
67 return false;
68 }
69 if ( !ctx.Read( m_SmokePosY ) )
70 {
71 m_SmokePosY = 0; //set default
72 return false;
73 }
74 if ( !ctx.Read( m_SmokePosZ ) )
75 {
76 m_SmokePosZ = 0; //set default
77 return false;
78 }
79 //---
80
81 return true;
82 }
int m_FirePointIndex
Definition FireplaceIndoor.c:6

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

◆ OnStoreLoad() [4/4]

override bool OnStoreLoad ( ParamsReadContext ctx,
int version )
inlineprotected
51 {
52 if ( !super.OnStoreLoad( ctx, version ) )
53 return false;
54
55 //--- Fireplace Indoor data ---
56 //fire point name
57 if ( !ctx.Read( m_FirePointIndex ) )
58 {
59 m_FirePointIndex = 1; //set default
60 return false;
61 }
62
63 //smoke position
64 if ( !ctx.Read( m_SmokePosX ) )
65 {
66 m_SmokePosX = 0; //set default
67 return false;
68 }
69 if ( !ctx.Read( m_SmokePosY ) )
70 {
71 m_SmokePosY = 0; //set default
72 return false;
73 }
74 if ( !ctx.Read( m_SmokePosZ ) )
75 {
76 m_SmokePosZ = 0; //set default
77 return false;
78 }
79 //---
80
81 return true;
82 }

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

◆ OnStoreSave() [1/4]

override void OnStoreSave ( ParamsWriteContext ctx)
inlineprotected
105 {
106 super.OnStoreSave(ctx);
107
108 ctx.Write(m_Openable.IsOpened());
109 }

◆ OnStoreSave() [2/4]

override void OnStoreSave ( ParamsWriteContext ctx)
inlineprotected
515 {
516 super.OnStoreSave(ctx);
517
518 if ( GetGame().SaveVersion() >= 110 )
519 {
520 // save stone circle state
521 ctx.Write( m_HasStoneCircle );
522
523 // save stone oven state
524 ctx.Write( m_IsOven );
525 }
526 }

Перекрестные ссылки GetGame(), m_HasStoneCircle и m_IsOven.

◆ OnStoreSave() [3/4]

override void OnStoreSave ( ParamsWriteContext ctx)
inlineprotected
38 {
39 super.OnStoreSave( ctx );
40
41 //fire point name
42 ctx.Write( m_FirePointIndex );
43
44 //smoke position
45 ctx.Write( m_SmokePosX );
46 ctx.Write( m_SmokePosY );
47 ctx.Write( m_SmokePosZ );
48 }

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

◆ OnStoreSave() [4/4]

override void OnStoreSave ( ParamsWriteContext ctx)
inlineprotected
38 {
39 super.OnStoreSave( ctx );
40
41 //fire point name
42 ctx.Write( m_FirePointIndex );
43
44 //smoke position
45 ctx.Write( m_SmokePosX );
46 ctx.Write( m_SmokePosY );
47 ctx.Write( m_SmokePosZ );
48 }

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

◆ OnVariablesSynchronized()

override void OnVariablesSynchronized ( )
inlineprotected
140 {
141 super.OnVariablesSynchronized();
142
143 if (!IsBeingPlaced())
144 {
145 //Refresh particles and sounds
147
148 //sound sync
150 {
151 if (IsOpen())
152 {
154 }
155
156 if (!IsOpen())
157 {
159 }
160 }
161 }
162
164 }
void RefreshFireParticlesAndSounds(bool force_refresh)
Definition FireplaceBase.c:852
override bool IsBeingPlaced()
Definition ItemBase.c:5744
bool IsSoundSynchRemote()
Definition ItemBase.c:9073
bool m_Initialized
Definition UiHintPanel.c:317
void SoundBarrelOpenPlay()
Definition BarrelHoles_ColorBase.c:535
void SoundBarrelClosePlay()
Definition BarrelHoles_ColorBase.c:541

Перекрестные ссылки IsBeingPlaced(), IsOpen(), IsSoundSynchRemote(), m_Initialized и RefreshFireParticlesAndSounds().

◆ OnWasAttached()

override void OnWasAttached ( EntityAI parent,
int slot_id )
inlineprotected
85 {
86 super.OnWasAttached(parent, slot_id);
87
88 Open();
89 }
override void Open()
Definition BarrelHoles_ColorBase.c:417

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

◆ OnWasDetached()

override void OnWasDetached ( EntityAI parent,
int slot_id )
inlineprotected
92 {
93 super.OnWasDetached(parent, slot_id);
94
95 Close();
96 }
override void Close()
Definition BarrelHoles_ColorBase.c:435

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

◆ Open()

override void Open ( )
inlineprotected
418 {
419 m_Openable.Open();
420
422 SetTakeable(false);
424 }

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

◆ OpenLoad()

void OpenLoad ( )
inlineprotected
427 {
428 m_Openable.Open();
429
430 SetSynchDirty();
431 SetTakeable(false);
433 }

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

◆ OvenIndoor()

void OvenIndoor ( )
inlineprotected
14 {
15 //Particles - default for FireplaceBase
23
24 //register sync variables
25 RegisterNetSyncVariableFloat( "m_SmokePosX", 0, 0, 2 );
26 RegisterNetSyncVariableFloat( "m_SmokePosY", 0, 0, 2 );
27 RegisterNetSyncVariableFloat( "m_SmokePosZ", 0, 0, 2 );
28 RegisterNetSyncVariableInt( "m_FirePointIndex", 0, 9 );
29
30 m_LightDistance = 50;
31 SetRoofAbove(true);
32 }
static const int OVEN_NORMAL_FIRE
Definition ParticleList.c:58
static const int OVEN_SMALL_FIRE
Definition ParticleList.c:57
static const int OVEN_FIRE_START
Definition ParticleList.c:56
static const int OVEN_FIRE_END
Definition ParticleList.c:59

Перекрестные ссылки ParticleList::BARREL_FIRE_STEAM_2END, ParticleList::HOUSE_NORMAL_SMOKE, ParticleList::HOUSE_SMALL_SMOKE, m_LightDistance, ParticleList::OVEN_FIRE_END, ParticleList::OVEN_FIRE_START, ParticleList::OVEN_NORMAL_FIRE, ParticleList::OVEN_SMALL_FIRE, PARTICLE_FIRE_END, PARTICLE_FIRE_START, PARTICLE_NORMAL_FIRE, PARTICLE_NORMAL_SMOKE, PARTICLE_SMALL_FIRE, PARTICLE_SMALL_SMOKE и PARTICLE_STEAM_END.

◆ ParticleNormalSmokeStart() [1/2]

override void ParticleNormalSmokeStart ( )
inlineprotected
148 {
150 }
Particle m_ParticleNormalSmoke
Definition FireplaceBase.c:123
void PlayParticle(int particle_id=-1)
Method to tell the particle to start playing.
Definition ParticleBase.c:96
vector GetSmokeEffectPosition()
Definition FireplaceIndoor.c:135

Перекрестные ссылки GetSmokeEffectPosition(), m_ParticleNormalSmoke, PARTICLE_NORMAL_SMOKE и PlayParticle().

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

◆ ParticleNormalSmokeStart() [2/2]

override void ParticleNormalSmokeStart ( )
inlineprotected

◆ ParticleSmallSmokeStart() [1/2]

override void ParticleSmallSmokeStart ( )
inlineprotected
142 {
144 }
Particle m_ParticleSmallSmoke
Definition FireplaceBase.c:122

Перекрестные ссылки GetSmokeEffectPosition(), m_ParticleSmallSmoke, PARTICLE_SMALL_SMOKE и PlayParticle().

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

◆ ParticleSmallSmokeStart() [2/2]

override void ParticleSmallSmokeStart ( )
inlineprotected

◆ RefreshFireplacePhysics()

override void RefreshFireplacePhysics ( )
inlineprotected
509 {
511 }
override void RefreshPhysics()
Definition Fireplace.c:481

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

Используется в OnItemLocationChanged() и RefreshFireplaceVisuals().

◆ RefreshPhysics()

override void RefreshPhysics ( )
inlineprotected
482 {
483 super.RefreshPhysics();
484
485 //Oven
486 if ( IsOven() )
487 {
488 RemoveProxyPhysics( ANIMATION_OVEN );
489 AddProxyPhysics( ANIMATION_OVEN );
490 }
491 else
492 {
493 RemoveProxyPhysics( ANIMATION_OVEN );
494 }
495
496 //Tripod
498 {
499 RemoveProxyPhysics( ANIMATION_TRIPOD );
500 AddProxyPhysics( ANIMATION_TRIPOD );
501 }
502 else
503 {
504 RemoveProxyPhysics( ANIMATION_TRIPOD );
505 }
506 }
const string ANIMATION_OVEN
Definition FireplaceBase.c:172
const string ANIMATION_TRIPOD
Definition FireplaceBase.c:171
bool IsItemTypeAttached(typename item_type)
Definition FireplaceBase.c:1593

Перекрестные ссылки ANIMATION_OVEN, ANIMATION_TRIPOD, ATTACHMENT_TRIPOD, IsItemTypeAttached() и IsOven().

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

◆ SetActions() [1/2]

override void SetActions ( )
inlineprotected
579 {
581 super.SetActions();
582
587 }
ActionPlaceObjectCB ActiondeployObjectCB ActionPlaceObject()
Definition ActionPlaceObject.c:11
void AddAction(typename actionName)
Definition AdvancedCommunication.c:220
Definition ActionAttachOnSelection.c:2
Definition ActionCloseBarrelHoles.c:2
Definition ActionOpenBarrelHoles.c:2
Definition ActionTogglePlaceObject.c:2

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

◆ SetActions() [2/2]

override void SetActions ( )
inlineprotected
761 {
762 super.SetActions();
763
773 }
ActionBuildOvenCB ActionContinuousBaseCB ActionBuildOven()
Definition ActionBuildOven.c:11
ActionBuildStoneCircleCB ActionContinuousBaseCB ActionBuildStoneCircle()
Definition ActionBuildStoneCircle.c:11
ActionDismantleOvenCB ActionContinuousBaseCB ActionDismantleOven()
Definition ActionDismantleOven.c:11
ActionDismantleStoneCircleCB ActionContinuousBaseCB ActionDismantleStoneCircle()
Definition ActionDismantleStoneCircle.c:11
Definition ActionPlaceFireplaceIndoor.c:2
Definition ActionPlaceFireplaceIntoBarrel.c:2
Definition ActionPlaceOvenIndoor.c:2

Перекрестные ссылки ActionBuildOven(), ActionBuildStoneCircle(), ActionDismantleOven(), ActionDismantleStoneCircle(), ActionPlaceObject() и AddAction().

◆ SetCookingEquipment()

override void SetCookingEquipment ( ItemBase equipment)
inlineprotected
354 {
355 super.SetCookingEquipment(equipment);
356
357 TripodBase stand = TripodBase.Cast(FindAttachmentBySlotName("CookingTripod"));
358 if (stand)
359 {
360 if (equipment)
361 stand.LockToParent();
362 else
363 stand.UnlockFromParent();
364 }
365 }

Используется в ClearCookingEquipment(), ClearCookingEquipment(), EEItemAttached() и EEItemAttached().

◆ SetFirePointIndex() [1/2]

void SetFirePointIndex ( int fire_point_index)
inlineprotected

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

◆ SetFirePointIndex() [2/2]

void SetFirePointIndex ( int fire_point_index)
inlineprotected

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

◆ SetSmokePointPosition() [1/2]

void SetSmokePointPosition ( vector smoke_point_pos)
inlineprotected

◆ SetSmokePointPosition() [2/2]

void SetSmokePointPosition ( vector smoke_point_pos)
inlineprotected

◆ SoundBarrelClosePlay()

void SoundBarrelClosePlay ( )
inlineprotected
542 {
543 EffectSound sound = SEffectManager.PlaySound("barrel_close_SoundSet", GetPosition());
544 sound.SetAutodestroy(true);
545 }
Wrapper class for managing sound through SEffectManager.
Definition EffectSound.c:5
Manager class for managing Effect (EffectParticle, EffectSound)
Definition EffectManager.c:6
static EffectSound PlaySound(string sound_set, vector position, float play_fade_in=0, float stop_fade_out=0, bool loop=false)
Create and play an EffectSound.
Definition EffectManager.c:169

Перекрестные ссылки GetPosition и SEffectManager::PlaySound().

◆ SoundBarrelOpenPlay()

void SoundBarrelOpenPlay ( )
inlineprotected
536 {
537 EffectSound sound = SEffectManager.PlaySound("barrel_open_SoundSet", GetPosition());
538 sound.SetAutodestroy(true);
539 }

Перекрестные ссылки GetPosition и SEffectManager::PlaySound().

◆ UpdateVisualState()

void UpdateVisualState ( )
inlineprotected
459 {
460 if (IsOpen())
461 {
462 SetAnimationPhase(ANIMATION_OPENED, 0);
463 SetAnimationPhase(ANIMATION_CLOSED, 1);
464 }
465 else
466 {
467 SetAnimationPhase(ANIMATION_OPENED, 1);
468 SetAnimationPhase(ANIMATION_CLOSED, 0);
469 }
470 }
const string ANIMATION_CLOSED
Definition BarrelHoles_ColorBase.c:5
const string ANIMATION_OPENED
Definition BarrelHoles_ColorBase.c:4

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

Поля

◆ ANIMATION_CLOSED

const string ANIMATION_CLOSED = "LidOn"
private

◆ ANIMATION_OPENED

const string ANIMATION_OPENED = "LidOff"
private

◆ FIREPOINT_ACTION_SELECTION

const string FIREPOINT_ACTION_SELECTION = "fireplace_action"
staticprotected

◆ FIREPOINT_FIRE_POSITION

const string FIREPOINT_FIRE_POSITION = "fireplace_point"
staticprotected

◆ FIREPOINT_PLACE_ROT

const string FIREPOINT_PLACE_ROT = "fireplace_rot"
staticprotected

◆ FIREPOINT_SMOKE_POSITION

const string FIREPOINT_SMOKE_POSITION = "fireplace_smoke"
staticprotected

◆ m_ContactEventProcessing

bool m_ContactEventProcessing
private

◆ m_FirePointIndex

int m_FirePointIndex = 1
protected

◆ m_IsOpenedClient

bool m_IsOpenedClient = false
protected

◆ m_Openable

ref OpenableBehaviour m_Openable
protected

◆ m_SmokePosX

float m_SmokePosX
protected

◆ m_SmokePosY

float m_SmokePosY
protected

◆ m_SmokePosZ

float m_SmokePosZ
protected

◆ OVENPOINT_ACTION_SELECTION

const string OVENPOINT_ACTION_SELECTION = "oven_action"
staticprotected

◆ OVENPOINT_FIRE_POSITION

const string OVENPOINT_FIRE_POSITION = "oven_point"
staticprotected

◆ OVENPOINT_PLACE_ROT

const string OVENPOINT_PLACE_ROT = "oven_rot"
staticprotected

◆ OVENPOINT_SMOKE_POSITION

const string OVENPOINT_SMOKE_POSITION = "oven_smoke"
staticprotected

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