72 lines
2.6 KiB
C
72 lines
2.6 KiB
C
|
|
#ifndef _ArenaUtility_h_
|
|
#define _ArenaUtility_h_
|
|
|
|
#include "BattleArenaBase.h"
|
|
|
|
struct sArenaUtility
|
|
{
|
|
enum MODE { MODE_CLASSIC = _BATTLE_ARENA_TYPE::BAT_CLASSIC,
|
|
MODE_BINGO = _BATTLE_ARENA_TYPE::BAT_BINGO,
|
|
MODE_SLAUGHTER = _BATTLE_ARENA_TYPE::BAT_SLAUGHTER ,
|
|
MAX_MODE_NUM
|
|
};
|
|
/// NONE이 -1이므로 참조할 때, else 보다는 else if를 쓰도록 하자
|
|
enum TEAM { TEAM_NONE = -1,
|
|
TEAM_ALLIANCE,
|
|
TEAM_WITCH,
|
|
MAX_TEAM_NUM
|
|
};
|
|
enum MEMBER { MEMBER_2_BY_2,
|
|
MEMBER_4_BY_4,
|
|
MEMBER_8_BY_8,
|
|
MEMBER_16_BY_16
|
|
};
|
|
enum MAX_MEMBER { MAX_MEMBER_4 = 4,
|
|
MAX_MEMBER_8 = 8,
|
|
MAX_MEMBER_16 = 16,
|
|
MAX_MEMBER_32 = 32,
|
|
MAX_MEMBER_ONE_TEAM = 16, /// 한팀이 가질 수 있는 최대 플레이어 수
|
|
};
|
|
enum RANK { RANK_NONE , /// 참가 못 함 (1 ~ 49Lv)
|
|
RANK_R, /// 루키 (50 ~ 99Lv)
|
|
RANK_G, /// 그로우(100 ~ 149Lv)
|
|
RANK_M, /// 메이저(150 ~ )
|
|
RANK_TOTAL
|
|
};
|
|
enum { JOIN_MIN_MEMBER_COUNT_RATE = 75 }; /// 최소 경기 가능 인원수 비율
|
|
enum { EXERCISE_ARENA_ID = 2501 }; /// 연습경기 ID, 나중에 연습경기가 추가되면 DB 컬럼을 추가 하기로 함, 기획팀에서 정해주면 바꾸어야 한다
|
|
|
|
/// memberType에 맞는 min, max 참여 인원을 구한다.
|
|
void calcBattleArenaJoinMemberCount(int memberType, int& minMember, int& maxMember);
|
|
/// maxMember를 가지고 minMember를 구한다
|
|
int getBattleArenaJoinMinMemberCount(int maxMember);
|
|
/// 최소 경기 가능 인원수가 만족 하는지
|
|
bool isValidBattleArenaMinMemberCount(int curMember, int maxMember);
|
|
/// 최소 참여 인원에 따른 색
|
|
char const* getMinMemberCountColor(int curMember, int maxMember);
|
|
/// mode : MODE
|
|
char const* modeToStr(int mode);
|
|
///
|
|
char const* teamToStr(int team);
|
|
///
|
|
char const* teamToPartyTitleAniName(int team);
|
|
/// max member -> enum MEMBER string
|
|
char const* maxMemberToMemberStr(int maxMember);
|
|
/// 각 팀에 해당되는 랭크 bg ani name을 리턴한다. 메뉴에서만 쓰임
|
|
char const* getMenuRankBgAniName(int team);
|
|
/// 각 팀에 해당되는 타이틀바 bg ani name을 리턴한다. 메뉴에서만 쓰임
|
|
char const* getMenuTitleBgAniName(int team);
|
|
/// 슬래터 점령 아이콘 애니 네임, status : _PROP_STATE
|
|
char const* getSlaughterPropIconAniName(int status);
|
|
/// 상대 팀 타입을 구한다
|
|
int convertOpponentTeam(int team);
|
|
/// arenaId로 각 게임에 해당되는 window id를 구한다
|
|
int getArenaGameWindowId(int arendId);
|
|
/// 최소 경기 시간
|
|
float getMinimumPlayTime(int maxMember);
|
|
bool isValidTeam(int team) const;
|
|
};
|
|
|
|
|
|
#endif |