// CCurrency - [2020-04-13 11:57:46]
#ifndef _CCURRENCY_H_
#define _CCURRENCY_H_

#include "common.h"
#include "CInFlightCredits.h"
/*
001CBBF4 CCurrency::Init()
001CBBF6 CCurrency::Shutdown()
001CBBF8 CCurrency::SetDefaults()
001CBC3C CCurrency::SetCredits(int)
001CBC60 CCurrency::ResetCreditsAnim()
001CBC84 CCurrency::AddCredits(int a1, bool b, int a3, bool b4 ,bool b5, bool b6)
001CBD68 CCurrency::SubtractCredits(int a1,ETrigger e, bool b)
001CBE90 CCurrency::AddSpentCredits(int a1)
001CBEA4 CCurrency::GetRenderCredits()
001CBEE4 CCurrency::Process()
001CC020 CCurrency::ResetDuringMatchCredits()
001CC030 CCurrency::IncDuringMatchCredits(int a1)
001CC044 CCurrency::GetDuringMatchCredits()
001CC054 CCurrency::SetInFlightCredits(float f1, float f2, float f3, int a4, float f5)
001CC084 CCurrency::UpdateInFlightCredits(float f1, float f2, float f3)
001CC24C CCurrency::InFlightActive()
001CC280 CCurrency::RenderInFlightCredits()
001CC2AC CCurrency::RenderCredits(float f1,float f2, float f3, int a4, float f5)
*/

enum ETrigger {
  ETrigger_0,
  ETrigger_1,
  ETrigger_2,
  ETrigger_3,
  ETrigger_4,
  ETrigger_5,
  ETrigger_6,
  ETrigger_7,
};

class CCurrency {
public:
  // 001CBBF4
  static void Init();
  // 001CBBF6
  static void Shutdown();
  // 001CBBF8
  static void SetDefaults();
  // 001CBC3C
  static void SetCredits(int);
  // 001CBC60
  static void ResetCreditsAnim();
  // 001CBC84
  static void AddCredits(int a1, bool b, int a3, bool b4, bool b5, bool b6);
  // 001CBD68
  static void SubtractCredits(int a1, ETrigger e, bool b);
  // 001CBE90
  static void AddSpentCredits(int a1);
  // 001CBEA4
  static int GetRenderCredits();
  // 001CBEE4
  static void Process();
  // 001CC020
  static void ResetDuringMatchCredits();
  // 001CC030
  static void IncDuringMatchCredits(int a1);
  // 001CC044
  static int GetDuringMatchCredits();
  // 001CC054
  static void SetInFlightCredits(float f1, float f2, float f3, int a4, float f5);
  // 001CC084
  static int UpdateInFlightCredits(float f1, float f2, float f3);
  // 001CC24C
  static bool InFlightActive();
  // 001CC280
  static void RenderInFlightCredits();
  // 001CC2AC
  static void RenderCredits(float f1, float f2, float f3, int a4, float f5);

  static int s_iCredits;                       // 00342E30
  static float s_fAnimCredits;                 // 00342E34
  static int s_iPurchasedCredits;              // 00477DF0
  static int s_iSpentCredits;                  // 00477DF4
  static float s_fAnimCoinAdjust;              // 00477DF8
  static int s_iDuringMatchCredits;            // 00477DFC
  static int s_iEffectDelay;                   // 00477E00
  static int s_iEffectCredits;                 // 00477E04
  static bool s_bEffectAnimation;              // 00477E08
  static int64_t m_iAnimTick;                  // 00477E10
  static CInFlightCredits s_tInFlightCredits;  // 00477E18
};

#endif  //_CCURRENCY_H_