Removed GUI1 Storyscreen

This commit is contained in:
Charles Dang 2017-04-19 15:21:06 +11:00
parent aa351a05c1
commit 337ef03120
5 changed files with 4 additions and 123 deletions

View file

@ -1046,8 +1046,6 @@
<Unit filename="../../src/storyscreen/interface.hpp" />
<Unit filename="../../src/storyscreen/part.cpp" />
<Unit filename="../../src/storyscreen/part.hpp" />
<Unit filename="../../src/storyscreen/render.cpp" />
<Unit filename="../../src/storyscreen/render.hpp" />
<Unit filename="../../src/synced_checkup.cpp" />
<Unit filename="../../src/synced_checkup.hpp" />
<Unit filename="../../src/synced_commands.cpp" />

View file

@ -361,7 +361,6 @@ statistics.cpp
storyscreen/controller.cpp
storyscreen/interface.cpp
storyscreen/part.cpp
storyscreen/render.cpp
synced_checkup.cpp
synced_commands.cpp
synced_context.cpp

View file

@ -20,7 +20,6 @@
#include "storyscreen/controller.hpp"
#include "storyscreen/part.hpp"
#include "storyscreen/render.hpp"
#include <cassert>
#include "variable.hpp"
@ -40,10 +39,8 @@ static lg::log_domain log_engine("engine");
namespace storyscreen {
controller::controller(CVideo& video, const vconfig& data, const std::string& scenario_name,
int segment_index)
: video_(video)
, scenario_name_(scenario_name)
controller::controller(const vconfig& data, const std::string& scenario_name, int segment_index)
: scenario_name_(scenario_name)
, segment_index_(segment_index)
, parts_()
{
@ -138,65 +135,4 @@ void controller::resolve_wml(const vconfig& cfg)
}
}
STORY_RESULT controller::show(START_POSITION startpos)
{
if(parts_.empty()) {
LOG_NG << "no storyscreen parts to show\n";
return NEXT;
}
gui::button back_button (video_, "", gui::button::TYPE_PRESS, "button_normal/button_small_H22"
, gui::button::DEFAULT_SPACE, true, "icons/arrows/long_arrow_ornate_left");
gui::button next_button (video_, "", gui::button::TYPE_PRESS, "button_normal/button_small_H22"
, gui::button::DEFAULT_SPACE, true, "icons/arrows/long_arrow_ornate_right");
gui::button play_button (video_, _("Skip"));
// Build renderer cache unless built for a low-memory environment;
// caching the scaled backgrounds can take over a decent amount of memory.
std::vector< render_pointer_type > uis_;
for(part_pointer_type p : parts_) {
assert(p != nullptr && "Ouch: hit nullptr storyscreen part in collection");
render_pointer_type const rpt(new part_ui(*p, video_, next_button, back_button, play_button));
uis_.push_back(rpt);
}
size_t k = 0;
switch(startpos) {
case START_BEGINNING:
break;
case START_END:
k = parts_.size() -1;
break;
default:
assert(false);
break;
}
while(k < parts_.size()) {
part_ui &render_interface = *uis_[k];
LOG_NG << "displaying storyscreen part " << k+1 << " of " << parts_.size() << '\n';
back_button.enable(segment_index_ != 0 || k != 0);
switch(render_interface.show()) {
case part_ui::NEXT:
++k;
break;
case part_ui::BACK:
if(k > 0) {
--k;
}
else if(segment_index_ > 0) {
return BACK;
}
break;
case part_ui::QUIT:
return QUIT;
}
}
return NEXT;
}
} // end namespace storyscreen

View file

@ -28,29 +28,15 @@ class vconfig;
namespace storyscreen {
enum STORY_RESULT {
NEXT,
BACK,
QUIT
};
class part;
class part_ui;
class floating_image;
class controller
{
public:
typedef std::shared_ptr< part > part_pointer_type;
typedef std::shared_ptr< part_ui > render_pointer_type;
controller(CVideo& video, const vconfig& data, const std::string& scenario_name,
int segment_index);
/**
* Display all story screen parts in a first..last sequence.
*/
STORY_RESULT show(START_POSITION startpos=START_BEGINNING);
controller(const vconfig& data, const std::string& scenario_name, int segment_index);
part_pointer_type get_part(int index) const
{
@ -66,8 +52,6 @@ private:
// Executes WML flow instructions and inserts parts.
void resolve_wml(const vconfig& cfg);
CVideo& video_;
std::string scenario_name_;
int segment_index_;

View file

@ -48,43 +48,7 @@ void show_story(CVideo& video, const std::string &scenario_name,
return;
}
storyscreen::controller controller(video, vconfig(cfg, true), scenario_name, 0);
storyscreen::controller controller(vconfig(cfg, true), scenario_name, 0);
gui2::dialogs::story_viewer::display(controller, video);
#if 0
events::event_context story_context;
int segment_count = 0;
config::const_child_iterator itor = story.begin();
storyscreen::START_POSITION startpos = storyscreen::START_BEGINNING;
while (itor != story.end())
{
storyscreen::controller ctl(video, vconfig(*itor, true),
scenario_name, segment_count);
storyscreen::STORY_RESULT result = ctl.show(startpos);
switch(result) {
case storyscreen::NEXT:
if(itor != story.end()) {
++itor;
++segment_count;
startpos = storyscreen::START_BEGINNING;
}
break;
case storyscreen::BACK:
if(itor != story.begin()) {
--itor;
--segment_count;
startpos = storyscreen::START_END;
}
break;
case storyscreen::QUIT:
video2::trigger_full_redraw();
return;
}
}
video2::trigger_full_redraw();
return;
#endif
}