Adjustments to order of entering a stage
Co-authored-by: sigonasr2 <sigonasr2@gmail.com>
This commit is contained in:
parent
678f10ebb1
commit
65587bed88
@ -77,6 +77,7 @@ All rights reserved.
|
|||||||
#endif
|
#endif
|
||||||
#include "GameSettings.h"
|
#include "GameSettings.h"
|
||||||
#include "LoadingScreen.h"
|
#include "LoadingScreen.h"
|
||||||
|
#include "Tutorial.h"
|
||||||
|
|
||||||
INCLUDE_EMITTER_LIST
|
INCLUDE_EMITTER_LIST
|
||||||
INCLUDE_ITEM_CATEGORIES
|
INCLUDE_ITEM_CATEGORIES
|
||||||
@ -338,10 +339,12 @@ bool AiL::OnUserUpdate(float fElapsedTime){
|
|||||||
}
|
}
|
||||||
LoadingScreen::Update();
|
LoadingScreen::Update();
|
||||||
InputListener::Update();
|
InputListener::Update();
|
||||||
|
Tutorial::Update();
|
||||||
Audio::Update();
|
Audio::Update();
|
||||||
RenderWorld(GetElapsedTime());
|
RenderWorld(GetElapsedTime());
|
||||||
GameState::STATE->Draw(this);
|
GameState::STATE->Draw(this);
|
||||||
RenderMenu();
|
RenderMenu();
|
||||||
|
Tutorial::Draw();
|
||||||
GameState::STATE->DrawOverlay(this);
|
GameState::STATE->DrawOverlay(this);
|
||||||
RenderFadeout();
|
RenderFadeout();
|
||||||
LoadingScreen::Draw();
|
LoadingScreen::Draw();
|
||||||
|
|||||||
@ -52,7 +52,8 @@ void Menu::InitializeItemLoadoutWindow(){
|
|||||||
|
|
||||||
itemLoadoutWindow->ADD("Loadout Label",MenuLabel)(geom2d::rect<float>{{0,24},{itemLoadoutWindowWidth,24}},"Setup Item Loadout",2,ComponentAttr::SHADOW|ComponentAttr::BACKGROUND|ComponentAttr::OUTLINE)END;
|
itemLoadoutWindow->ADD("Loadout Label",MenuLabel)(geom2d::rect<float>{{0,24},{itemLoadoutWindowWidth,24}},"Setup Item Loadout",2,ComponentAttr::SHADOW|ComponentAttr::BACKGROUND|ComponentAttr::OUTLINE)END;
|
||||||
|
|
||||||
itemLoadoutWindow->ADD("Loadout Description Label",MenuLabel)(geom2d::rect<float>{{0,48},{itemLoadoutWindowWidth,24}},"Bring up to 3 items with you.",1,ComponentAttr::SHADOW)END;
|
itemLoadoutWindow->ADD("Loadout Map Name Label",MenuLabel)(geom2d::rect<float>{{0,48},{itemLoadoutWindowWidth,24}},std::format("About to Enter: {}",State_OverworldMap::GetCurrentConnectionPoint().name),1,ComponentAttr::SHADOW)END;
|
||||||
|
itemLoadoutWindow->ADD("Loadout Description Label",MenuLabel)(geom2d::rect<float>{{0,58},{itemLoadoutWindowWidth,24}},"Bring up to 3 items with you.",1,ComponentAttr::SHADOW)END;
|
||||||
|
|
||||||
float buttonBorderPadding=64;
|
float buttonBorderPadding=64;
|
||||||
|
|
||||||
|
|||||||
@ -60,11 +60,11 @@ void Menu::InitializeOverworldMapLevelWindow(){
|
|||||||
levelSelectWindow->ADD("Encounters Label",MenuLabel)(geom2d::rect<float>{{0,52},{windowSize.x-1,12}},"Encounters:",1,ComponentAttr::SHADOW|ComponentAttr::LEFT_ALIGN)END;
|
levelSelectWindow->ADD("Encounters Label",MenuLabel)(geom2d::rect<float>{{0,52},{windowSize.x-1,12}},"Encounters:",1,ComponentAttr::SHADOW|ComponentAttr::LEFT_ALIGN)END;
|
||||||
levelSelectWindow->ADD("Spawns List",EncountersSpawnListScrollableWindowComponent)(geom2d::rect<float>{{1,64},{windowSize.x-2,84}},ComponentAttr::BACKGROUND)END;
|
levelSelectWindow->ADD("Spawns List",EncountersSpawnListScrollableWindowComponent)(geom2d::rect<float>{{1,64},{windowSize.x-2,84}},ComponentAttr::BACKGROUND)END;
|
||||||
|
|
||||||
levelSelectWindow->ADD("Change Loadout Button",MenuComponent)(geom2d::rect<float>{{0,152},{windowSize.x-1,12}},"Change Loadout",[](MenuFuncData data){
|
levelSelectWindow->ADD("Enter Button",MenuComponent)(geom2d::rect<float>{{0,166},{windowSize.x-1,16}},"Enter",[](MenuFuncData data){
|
||||||
|
Component<MenuLabel>(ITEM_LOADOUT,"Loadout Map Name Label")->SetLabel(std::format("About to Enter: {}",State_OverworldMap::GetCurrentConnectionPoint().name));
|
||||||
Menu::OpenMenu(ITEM_LOADOUT);
|
Menu::OpenMenu(ITEM_LOADOUT);
|
||||||
return true;
|
return true;
|
||||||
})END;
|
})END;
|
||||||
levelSelectWindow->ADD("Enter Button",MenuComponent)(geom2d::rect<float>{{0,166},{windowSize.x-1,16}},"Enter",[](MenuFuncData data){State_OverworldMap::StartLevel();return true;})END;
|
|
||||||
|
|
||||||
#pragma region Keyboard Navigation Rules
|
#pragma region Keyboard Navigation Rules
|
||||||
levelSelectWindow->SetupKeyboardNavigation(
|
levelSelectWindow->SetupKeyboardNavigation(
|
||||||
@ -78,9 +78,6 @@ void Menu::InitializeOverworldMapLevelWindow(){
|
|||||||
Component<MenuComponent>(type,"Enter Button")->Click();
|
Component<MenuComponent>(type,"Enter Button")->Click();
|
||||||
}
|
}
|
||||||
}}},
|
}}},
|
||||||
{{game->KEY_CHANGE_LOADOUT},{"Change Loadout",[](MenuType type){
|
|
||||||
Component<MenuComponent>(type,"Change Loadout Button")->Click();
|
|
||||||
}}},
|
|
||||||
{{game->KEY_SHOULDER,Pressed},{"Scroll Encounters",[](MenuType type){
|
{{game->KEY_SHOULDER,Pressed},{"Scroll Encounters",[](MenuType type){
|
||||||
Component<EncountersSpawnListScrollableWindowComponent>(type,"Spawns List")->Scroll(-1.0f);
|
Component<EncountersSpawnListScrollableWindowComponent>(type,"Spawns List")->Scroll(-1.0f);
|
||||||
}}},
|
}}},
|
||||||
|
|||||||
@ -37,7 +37,7 @@ All rights reserved.
|
|||||||
#pragma endregion
|
#pragma endregion
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#undef GetSaveFileName(); //Stupid Windows
|
#undef GetSaveFileName //Stupid Windows
|
||||||
|
|
||||||
namespace SaveFileOperation{
|
namespace SaveFileOperation{
|
||||||
enum Operation{
|
enum Operation{
|
||||||
|
|||||||
@ -43,7 +43,6 @@ TutorialTaskName Tutorial::currentTaskState=TutorialTaskName::CHANGE_LOADOUT;
|
|||||||
void Tutorial::Initialize(){
|
void Tutorial::Initialize(){
|
||||||
using enum TutorialTaskName;
|
using enum TutorialTaskName;
|
||||||
#define CREATETASK(enum,class) taskList.insert(enum,std::make_unique<class>());
|
#define CREATETASK(enum,class) taskList.insert(enum,std::make_unique<class>());
|
||||||
CREATETASK(CHANGE_LOADOUT,ChangeLoadoutTask);
|
|
||||||
CREATETASK(SET_LOADOUT_ITEM,SetLoadoutItemTask);
|
CREATETASK(SET_LOADOUT_ITEM,SetLoadoutItemTask);
|
||||||
CREATETASK(MOVE_AROUND,MoveAroundTask);
|
CREATETASK(MOVE_AROUND,MoveAroundTask);
|
||||||
ResetTasks();
|
ResetTasks();
|
||||||
@ -88,7 +87,7 @@ void Tutorial::Update(){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Tutorial::Draw(){}
|
void Tutorial::Draw()const{}
|
||||||
|
|
||||||
const bool Tutorial::TaskIsComplete(TutorialTaskName task){
|
const bool Tutorial::TaskIsComplete(TutorialTaskName task){
|
||||||
return taskList.at(task)->IsComplete();
|
return taskList.at(task)->IsComplete();
|
||||||
|
|||||||
@ -43,7 +43,6 @@ All rights reserved.
|
|||||||
INCLUDE_game
|
INCLUDE_game
|
||||||
|
|
||||||
enum class TutorialTaskName{
|
enum class TutorialTaskName{
|
||||||
CHANGE_LOADOUT,
|
|
||||||
SET_LOADOUT_ITEM,
|
SET_LOADOUT_ITEM,
|
||||||
MOVE_AROUND,
|
MOVE_AROUND,
|
||||||
};
|
};
|
||||||
@ -59,6 +58,7 @@ class TutorialTask{
|
|||||||
//Actions that occur when this task is reset/locked. DO NOT CALL DIRECTLY, USE _Initialize()!
|
//Actions that occur when this task is reset/locked. DO NOT CALL DIRECTLY, USE _Initialize()!
|
||||||
virtual void Initialize();
|
virtual void Initialize();
|
||||||
virtual void Update();
|
virtual void Update();
|
||||||
|
virtual void Draw()const;
|
||||||
//Returns true when the task has detected it is completed.
|
//Returns true when the task has detected it is completed.
|
||||||
virtual bool CompleteCondition()=0;
|
virtual bool CompleteCondition()=0;
|
||||||
//Action occurs when the task completes.
|
//Action occurs when the task completes.
|
||||||
@ -78,19 +78,6 @@ private:
|
|||||||
static std::unordered_map<TutorialTaskName,std::unique_ptr<TutorialTask>>taskList;
|
static std::unordered_map<TutorialTaskName,std::unique_ptr<TutorialTask>>taskList;
|
||||||
};
|
};
|
||||||
|
|
||||||
class ChangeLoadoutTask:protected TutorialTask{
|
|
||||||
inline ChangeLoadoutTask():TutorialTask(){};
|
|
||||||
virtual inline void Initialize()override final{
|
|
||||||
Component<MenuComponent>(OVERWORLD_LEVEL_SELECT,"Enter Button")->SetGrayedOut(true);
|
|
||||||
}
|
|
||||||
virtual inline bool CompleteCondition()override final{
|
|
||||||
return GameState::STATE==GameState::states[States::GAME_RUN];
|
|
||||||
}
|
|
||||||
virtual inline void OnComplete()override final{
|
|
||||||
Component<MenuComponent>(OVERWORLD_LEVEL_SELECT,"Enter Button")->SetGrayedOut(false);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
class SetLoadoutItemTask:protected TutorialTask{
|
class SetLoadoutItemTask:protected TutorialTask{
|
||||||
inline SetLoadoutItemTask():TutorialTask(){};
|
inline SetLoadoutItemTask():TutorialTask(){};
|
||||||
virtual inline void Initialize()override final{
|
virtual inline void Initialize()override final{
|
||||||
@ -110,13 +97,13 @@ class SetLoadoutItemTask:protected TutorialTask{
|
|||||||
};
|
};
|
||||||
|
|
||||||
class MoveAroundTask:protected TutorialTask{
|
class MoveAroundTask:protected TutorialTask{
|
||||||
vf2d initialPlayerPos={};
|
vf2d initialPlayerPos=vf2d{};
|
||||||
inline MoveAroundTask():TutorialTask(){};
|
inline MoveAroundTask():TutorialTask(){};
|
||||||
virtual inline void Initialize()override final{
|
virtual inline void Initialize()override final{
|
||||||
initialPlayerPos={};
|
initialPlayerPos=vf2d{};
|
||||||
}
|
}
|
||||||
virtual inline void Update()override final{
|
virtual inline void Update()override final{
|
||||||
if(!LoadingScreen::loading&&initialPlayerPos=={}){
|
if(!LoadingScreen::loading&&initialPlayerPos==vf2d{}){
|
||||||
initialPlayerPos=game->GetPlayer()->GetPos();
|
initialPlayerPos=game->GetPlayer()->GetPos();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user