mirror of
https://github.com/whoahq/whoa.git
synced 2026-02-01 00:02:45 +03:00
feat(glue): implement Script_ResetCharCustomize
This commit is contained in:
parent
35941bb74c
commit
5ea18cc298
@ -1,3 +1,60 @@
|
||||
#include "glue/CCharacterCreation.hpp"
|
||||
#include "component/Types.hpp"
|
||||
#include "glue/CGlueLoading.hpp"
|
||||
#include "ui/simple/CSimpleModelFFX.hpp"
|
||||
|
||||
CCharacterComponent* CCharacterCreation::s_character;
|
||||
CSimpleModelFFX* CCharacterCreation::s_charCustomizeFrame;
|
||||
int32_t CCharacterCreation::s_existingCharacterIndex;
|
||||
int32_t CCharacterCreation::s_raceIndex;
|
||||
int32_t CCharacterCreation::s_selectedClassID;
|
||||
|
||||
void CCharacterCreation::CalcClasses(int32_t raceID) {
|
||||
// TODO
|
||||
}
|
||||
|
||||
void CCharacterCreation::CreateComponent(ComponentData* data, bool randomize) {
|
||||
// TODO
|
||||
}
|
||||
|
||||
int32_t CCharacterCreation::GetRandomClassID() {
|
||||
// TODO
|
||||
return 1;
|
||||
}
|
||||
|
||||
void CCharacterCreation::GetRandomRaceAndSex(ComponentData* data) {
|
||||
// TODO
|
||||
}
|
||||
|
||||
void CCharacterCreation::ResetCharCustomizeInfo() {
|
||||
if (!CCharacterCreation::s_charCustomizeFrame) {
|
||||
return;
|
||||
}
|
||||
|
||||
CCharacterCreation::s_existingCharacterIndex = -1;
|
||||
|
||||
auto model = CCharacterCreation::s_charCustomizeFrame->m_model;
|
||||
|
||||
if (model) {
|
||||
model->DetachAllChildrenById(0);
|
||||
}
|
||||
|
||||
ComponentData data;
|
||||
CCharacterCreation::GetRandomRaceAndSex(&data);
|
||||
CCharacterCreation::CalcClasses(data.raceID);
|
||||
|
||||
CCharacterCreation::CreateComponent(&data, true);
|
||||
|
||||
CCharacterCreation::SetSelectedClass(CCharacterCreation::GetRandomClassID());
|
||||
data.classID = CCharacterCreation::s_selectedClassID;
|
||||
|
||||
CCharacterCreation::s_raceIndex = -1;
|
||||
|
||||
// TODO race and name gen stuff
|
||||
|
||||
CGlueLoading::StartLoad(CCharacterCreation::s_character, true);
|
||||
}
|
||||
|
||||
void CCharacterCreation::SetSelectedClass(int32_t classID) {
|
||||
// TODO
|
||||
}
|
||||
|
||||
@ -1,12 +1,28 @@
|
||||
#ifndef GLUE_C_CHARACTER_CREATION_HPP
|
||||
#define GLUE_C_CHARACTER_CREATION_HPP
|
||||
|
||||
#include <cstdint>
|
||||
|
||||
class CCharacterComponent;
|
||||
class CSimpleModelFFX;
|
||||
struct ComponentData;
|
||||
|
||||
class CCharacterCreation {
|
||||
public:
|
||||
// Static variables
|
||||
static CCharacterComponent* s_character;
|
||||
static CSimpleModelFFX* s_charCustomizeFrame;
|
||||
static int32_t s_existingCharacterIndex;
|
||||
static int32_t s_raceIndex;
|
||||
static int32_t s_selectedClassID;
|
||||
|
||||
// Static functions
|
||||
static void CalcClasses(int32_t raceID);
|
||||
static void CreateComponent(ComponentData* data, bool randomize);
|
||||
static int32_t GetRandomClassID();
|
||||
static void GetRandomRaceAndSex(ComponentData* data);
|
||||
static void ResetCharCustomizeInfo();
|
||||
static void SetSelectedClass(int32_t classID);
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@ -28,7 +28,9 @@ int32_t Script_SetCharCustomizeBackground(lua_State* L) {
|
||||
}
|
||||
|
||||
int32_t Script_ResetCharCustomize(lua_State* L) {
|
||||
WHOA_UNIMPLEMENTED(0);
|
||||
CCharacterCreation::ResetCharCustomizeInfo();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int32_t Script_GetNameForRace(lua_State* L) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user