17 static protected const string RED_LIGHT_GLOW =
"dz\\gear\\camping\\data\\battery_charger_light_r.rvmat";
18 static protected const string GREEN_LIGHT_GLOW =
"dz\\gear\\camping\\data\\battery_charger_light_g.rvmat";
19 static protected const string YELLOW_LIGHT_GLOW =
"dz\\gear\\camping\\data\\battery_charger_light_y.rvmat";
20 static protected const string SWITCH_LIGHT_GLOW =
"dz\\gear\\camping\\data\\battery_charger_light_switch_on.rvmat";
21 static protected const string DEFAULT_MATERIAL =
"dz\\gear\\camping\\data\\battery_charger.rvmat";
40 RegisterNetSyncVariableInt(
"m_BatteryEnergy0To100");
48 override void OnWork(
float consumed_energy )
57 float battery_capacity = battery.GetCompEM().GetEnergyMax();
59 if ( battery.GetCompEM().GetEnergy() < battery_capacity )
61 float charger_health = GetHealth(
"",
"");
65 if (FeatureTimeAccel.GetFeatureTimeAccelEnabled(ETimeAccelCategories.ENERGY_RECHARGE))
67 float timeAccel = FeatureTimeAccel.GetFeatureTimeAccelValue();
68 energy_add *= timeAccel;
72 if ( GetCompEM().ConsumeEnergy(energy_add) )
75 energy_add = energy_add * ( 0.5 + charger_health*0.005 );
83 battery.GetCompEM().AddEnergy( energy_add );
87 battery.GetCompEM().SetEnergy( battery_capacity );
117 if (GetCompEM().IsWorking())
188 if( !super.CanPutInCargo(parent) ) {
return false;}
190 if ( !GetCompEM().IsPlugged() && !GetCompEM().GetPluggedDevice() )
200 if( !super.CanPutIntoHands( parent ) )
205 if ( !GetCompEM().IsPlugged() && !GetCompEM().GetPluggedDevice() )
215 string att_type = device.GetType();
217 if ( att_type ==
"CarBattery" )
223 if ( att_type ==
"TruckBattery" )
241 if ( !super.CanReceiveAttachment(attachment, slotId) )
253 if ( GetCompEM().GetPluggedDevice() )
256 if ( ibase.HasEnergyManager() && ibase.GetCompEM().GetPluggedDevicesCount() >= 1 )
264 if ( !super.CanLoadAttachment(attachment) )
271 if ( GetCompEM().GetPluggedDevice() )
274 if ( ibase.HasEnergyManager() && ibase.GetCompEM().GetPluggedDevicesCount() >= 1 )
285 HideSelection(selection);
343 super.OnInventoryExit(player);
352 super.OnInventoryEnter(player);
361 super.RefreshPhysics();
365 RemoveProxyPhysics(
"battery" );
366 AddProxyPhysics(
"battery" );
369 RemoveProxyPhysics(
"battery" );
378 super.OnPlacementStarted(player);
396 foreach (
string selection : selections)
399 playerPB.GetHologramServer().SetSelectionToRefresh(selection);
401 playerPB.GetHologramLocal().SetSelectionToRefresh(selection);
412 return "placeBatteryCharger_SoundSet";
eBleedingSourceType GetType()
ActionPlaceObjectCB ActiondeployObjectCB ActionPlaceObject()
void AddAction(typename actionName)
proto native float ConfigGetFloat(string path)
Get float value from config on path.
Super root of all classes in Enforce script.
override void OnSwitchOn()
override void OnInventoryEnter(Man player)
float m_BlinkingStatusLightInterval
override void OnWork(float consumed_energy)
override void OnWorkStart()
const string SEL_SWITCH_OFF
override void OnOwnSocketReleased(EntityAI device)
override void OnOwnSocketTaken(EntityAI device)
const string SEL_LIGHT_STATE_2
override void OnPlacementStarted(Man player)
override bool CanPutIntoHands(EntityAI parent)
override bool IsElectricAppliance()
override void SetActions()
override bool CanLoadAttachment(EntityAI attachment)
const string SWITCH_LIGHT_GLOW
const string RED_LIGHT_GLOW
const string SEL_CORD_PLUGGED
override string GetDeploySoundset()
void UpdateStatusLights()
override void OnWorkStop()
int m_BatteryEnergy0To100
const string SEL_CLIPS_TRUCK
void HideAttachedClipsStates()
const string GREEN_LIGHT_GLOW
ref Timer m_UpdateStatusLightsTimer
const string YELLOW_LIGHT_GLOW
float m_ChargeEnergyPerSecond
const string SEL_LIGHT_STATE_1
const string ATTACHED_CLIPS_STATES[]
const string SEL_SWITCH_ON
override void RefreshPhysics()
bool m_BlinkingStatusLightIsOn
override void OnSwitchOff()
const string SEL_LIGHT_STATE_3
const int ATTACHED_CLIPS_STATES_COUNT
const string SEL_CORD_FOLDED
override bool CanReceiveAttachment(EntityAI attachment, int slotId)
override bool CanPutInCargo(EntityAI parent)
const string SEL_CLIPS_DETACHED
override void OnInventoryExit(Man player)
const string SEL_CLIPS_FOLDED
const string SEL_CLIPS_CAR
override bool IsDeployable()
const string DEFAULT_MATERIAL
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
proto native CGame GetGame()
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.