83{
84 int32 ReturnValue = 0;
85
86 if (SteamAPI_Init())
87 {
88 char* statName = TCHAR_TO_ANSI(*APIStatName);
89 std::vector<int64> IntegerValueArray(60);
90 std::vector<double> FloatValueArray(60);
91
92 TArray<FString> Values;
93
94 switch (StatType)
95 {
96 case ESteamGlobalStatType::STAT_INT:
97 ReturnValue = SteamUserStats()->GetGlobalStatHistory(statName, IntegerValueArray.data(), sizeof(IntegerValueArray));
98 for (int IntegerArraySize = 0; IntegerArraySize < IntegerValueArray.size(); IntegerArraySize++)
99 {
100 if (IntegerValueArray[IntegerArraySize] != 0)
101 {
102 Values.Add(ANSI_TO_TCHAR(std::to_string(IntegerValueArray[IntegerArraySize]).c_str()));
103 }
104 }
105 break;
106 case ESteamGlobalStatType::STAT_FLOAT:
107 ReturnValue = SteamUserStats()->GetGlobalStatHistory(statName, FloatValueArray.data(), sizeof(FloatValueArray));
108 for (int FloatArraySize = 0; FloatArraySize < FloatValueArray.size(); FloatArraySize++)
109 {
110 if (FloatValueArray[FloatArraySize] != 0)
111 {
112 Values.Add(ANSI_TO_TCHAR(std::to_string(FloatValueArray[FloatArraySize]).c_str()));
113 }
114 }
115 break;
116 }
117
118 ValuesArray = Values;
119 }
120
121 return ReturnValue;
122}