Tweak BatteryInfo
This commit is contained in:
@@ -199,7 +199,7 @@ public:
|
|||||||
/// Gets the current state of the audio playback (playing/paused/stopped).
|
/// Gets the current state of the audio playback (playing/paused/stopped).
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns>The value.</returns>
|
/// <returns>The value.</returns>
|
||||||
API_PROPERTY() FORCE_INLINE States GetState() const
|
API_PROPERTY() FORCE_INLINE AudioSource::States GetState() const
|
||||||
{
|
{
|
||||||
return _state;
|
return _state;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,43 +5,45 @@
|
|||||||
#include "Engine/Core/Types/BaseTypes.h"
|
#include "Engine/Core/Types/BaseTypes.h"
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Power supply status.
|
/// Contains information about power supply (battery).
|
||||||
/// </summary>
|
|
||||||
API_ENUM() enum class ACLineStatus : byte
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Power supply is not connected.
|
|
||||||
/// </summary>
|
|
||||||
Offline = 0,
|
|
||||||
/// <summary>
|
|
||||||
/// Power supply is connected.
|
|
||||||
/// </summary>
|
|
||||||
Online = 1,
|
|
||||||
/// <summary>
|
|
||||||
/// Unknown status.
|
|
||||||
/// </summary>
|
|
||||||
Unknown = 255
|
|
||||||
};
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Contains information about power supply (Battery).
|
|
||||||
/// </summary>
|
/// </summary>
|
||||||
API_STRUCT() struct BatteryInfo
|
API_STRUCT() struct BatteryInfo
|
||||||
{
|
{
|
||||||
DECLARE_SCRIPTING_TYPE_MINIMAL(BatteryInfo);
|
DECLARE_SCRIPTING_TYPE_MINIMAL(BatteryInfo);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Power supply status.
|
/// Power supply status.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
API_FIELD() ACLineStatus ACLineStatus;
|
API_ENUM() enum class States
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Unknown status.
|
||||||
|
/// </summary>
|
||||||
|
Unknown,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Power supply is connected and battery is charging.
|
||||||
|
/// </summary>
|
||||||
|
BatteryCharging,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Device is running on a battery.
|
||||||
|
/// </summary>
|
||||||
|
BatteryDischarging,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Device is connected to the stable power supply (AC).
|
||||||
|
/// </summary>
|
||||||
|
Connected,
|
||||||
|
};
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Battery percentage left.
|
/// Power supply state.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
API_FIELD() byte BatteryLifePercent;
|
API_FIELD() BatteryInfo::States State = BatteryInfo::States::Unknown;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Remaining battery life time in second.
|
/// Battery percentage left (normalized to 0-1 range).
|
||||||
/// </summary>
|
/// </summary>
|
||||||
API_FIELD() uint32 BatteryLifeTime;
|
API_FIELD() float BatteryLifePercent = 1.0f;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -315,9 +315,13 @@ BatteryInfo Win32Platform::GetBatteryInfo()
|
|||||||
BatteryInfo info;
|
BatteryInfo info;
|
||||||
SYSTEM_POWER_STATUS status;
|
SYSTEM_POWER_STATUS status;
|
||||||
GetSystemPowerStatus(&status);
|
GetSystemPowerStatus(&status);
|
||||||
info.ACLineStatus = (ACLineStatus)status.ACLineStatus;
|
info.BatteryLifePercent = (float)status.BatteryLifePercent / 255.0f;
|
||||||
info.BatteryLifePercent = status.BatteryLifePercent;
|
if (status.BatteryFlag & 8)
|
||||||
info.BatteryLifeTime = status.BatteryLifeTime;
|
info.State = BatteryInfo::States::BatteryCharging;
|
||||||
|
else if (status.BatteryFlag & 1 || status.BatteryFlag & 2 || status.BatteryFlag & 4)
|
||||||
|
info.State = BatteryInfo::States::BatteryDischarging;
|
||||||
|
else if (status.ACLineStatus == 1 || status.BatteryFlag & 128)
|
||||||
|
info.State = BatteryInfo::States::Connected;
|
||||||
return info;
|
return info;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user