// CMatchSetup - [2020-04-13 11:57:46]
#ifndef _CMATCHSETUP_H_
#define _CMATCHSETUP_H_

#include "CFTTVector32.h"
#include "CTeam.h"

/*
00177764 CMatchSetup::SetMatchEnvironment(int,int,CFTTVector32)
00177790 CMatchSetup::MatchStart()
001777BC CMatchSetup::MatchReset()
00177AC2 CMatchSetup::KitRGBDiff(uint,uint)
00177B2C CMatchSetup::KitsGetShirtReferenceColours(CTeam *,bool,int,uint *,uint *,int *,int *)
00177BF4 CMatchSetup::MatchFn(uint,uint,int,uint,uint,int)
00177CA8 CMatchSetup::SetupTeamKits(CTeam *,CTeam *)
00177DAC CMatchSetup::SetupGKKits()
00177F8C CMatchSetup::SetRefKits()
00178148 CMatchSetup::SetMatchTeams(ushort,ushort,EStageVenue)
001A9F98 CMatchSetup::GetPitchWearLevel()
*/

enum EStageVenue {
  EStageVenue_0,
  EStageVenue_1,
  EStageVenue_2,
  EStageVenue_3,
  EStageVenue_4,
  EStageVenue_5,
};

enum ETimeOfDay {
  ETimeOfDay_0,
  ETimeOfDay_1,
  ETimeOfDay_2,
  ETimeOfDay_3,
  ETimeOfDay_4,
  ETimeOfDay_5,
};

enum EWeather {
  EWeather_0,
  EWeather_1,
  EWeather_2,
  EWeather_3,
  EWeather_4,
  EWeather_5,
  EWeather_1000 = 1000,
};

// 0x2C
struct MatchSetupInfo {
  ETimeOfDay eTimeOfDay_0;
  EWeather eWeather_4;
  int field_8;
  CFTTVector32 fTTVector32_C;
  int field_18[2];
  int field_20[3];
  //  int field_24;
  //  int field_28;
};

class CMatchSetup {
public:
  static void SetMatchEnvironment(int, int, CFTTVector32);                                     // 00177764
  static void MatchStart();                                                                    // 00177790
  static void MatchReset();                                                                    // 001777BC
  static int KitRGBDiff(uint, uint);                                                           // 00177AC2
  static void KitsGetShirtReferenceColours(CTeam *, bool, int, uint *, uint *, int *, int *);  // 00177B2C
  static uint32 MatchFn(uint, uint, int, uint, uint, int);                                     // 00177BF4
  static void SetupTeamKits(CTeam *, CTeam *);                                                 // 00177CA8
  static void SetupGKKits();                                                                   // 00177DAC
  static void SetRefKits();                                                                    // 00177F8C
  static void SetMatchTeams(ushort, ushort, EStageVenue);                                      // 00178148
  static int GetPitchWearLevel();                                                              // 001A9F98

  static MatchSetupInfo ms_tInfo;
};

#endif  //_CMATCHSETUP_H_