private void AbsorptionUpdate() { if (firstFrameOfStateChange) { timeStamp = Time.timeSinceLevelLoad; used = false; } if (Time.timeSinceLevelLoad - timeStamp > pc.absorptionAbsorbTime && !used) { pc.PlayAbsorbSound(); EnergyArea e = null; if (pc.currentStorage == null) { EnergyHandler.IsTransformInEnergyArea(pc.transform, out e); e.RemoveEnergy(); } else { pc.currentStorage.RemoveEnergy(); } pc.EnergyAmount += 1; used = true; } }
private bool IdleToAbsorption() { if (InputController.GetAbsorbEnergy(InputStateType.PRESSED)) { if (pc.currentStorage != null) { if (!pc.currentStorage.IsEmpty()) { return(true); } } EnergyArea e = null; if (EnergyHandler.IsTransformInEnergyArea(pc.transform, out e)) { return(true); } } return(false); }