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)
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.
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.