public void ServerPerformInteraction(HandApply interaction) { if (ChargingSlot.Item && interaction.UsedObject == null) { UpdateManager.Remove(CallbackType.PERIODIC_UPDATE, UpdateMe); if (interaction.HandSlot.Item == null) { Inventory.ServerTransfer(ChargingSlot, interaction.HandSlot); } else { Inventory.ServerDrop(ChargingSlot); } battery = null; electricalMagazine = null; SetSprite(SpriteState.Idle); _APCPoweredDevice.Resistance = 99999; } else if (ChargingSlot.Item == null && interaction.UsedObject != null && Validations.HasItemTrait(interaction.HandObject, CommonTraits.Instance.InternalBattery)) { var _object = interaction.UsedObject.GetComponent <InternalBattery>(); if (_object == null) { return; } battery = _object.GetBattery(); electricalMagazine = battery.GetComponent <ElectricalMagazine>(); Inventory.ServerTransfer(interaction.HandSlot, ChargingSlot); if (battery != null) { _APCPoweredDevice.Resistance = battery.InternalResistance; UpdateManager.Add(UpdateMe, 1); UpdateMe(); } } }
public void ServerPerformInteraction(HandApply interaction) { if (ChargingSlot.Item && interaction.UsedObject == null) { if (interaction.HandSlot.Item == null) { Inventory.ServerTransfer(ChargingSlot, interaction.HandSlot); } else { Inventory.ServerDrop(ChargingSlot); } battery = null; IsCharging = false; electricalMagazine = null; SyncState(chargeState, ChargeState.Off); _APCPoweredDevice.Resistance = 99999; } else if (ChargingSlot.Item == null && interaction.UsedObject != null) { var _object = interaction.UsedObject.GetComponent <InternalBattery>(); if (_object == null) { return; } battery = _object.GetBattery(); electricalMagazine = battery.GetComponent <ElectricalMagazine>(); Inventory.ServerTransfer(interaction.HandSlot, ChargingSlot); if (battery != null) { _APCPoweredDevice.Resistance = battery.InternalResistance; SyncState(chargeState, ChargeState.Charging); CheckCharging(); StartCoroutine(Recharge()); } } }