mirror of
https://github.com/RPG-Research/bcirpg.git
synced 2024-04-16 14:23:01 +00:00
History Display and Pager from More Options
Adds back saving to the history array, and the history page accessible from Game-->More Options. Includes history paging, which iterates through history. Does not yet display the current history page.
This commit is contained in:
parent
7464b851e0
commit
8836f4686e
@ -3,3 +3,6 @@
|
|||||||
[node name="Control" type="Control"]
|
[node name="Control" type="Control"]
|
||||||
anchor_right = 1.0
|
anchor_right = 1.0
|
||||||
anchor_bottom = 1.0
|
anchor_bottom = 1.0
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
@ -69,10 +69,10 @@ func add_response_to_game(response: Control):
|
|||||||
func add_response_to_history(response: Control) -> void:
|
func add_response_to_history(response: Control) -> void:
|
||||||
#DKM TEMP: so here we
|
#DKM TEMP: so here we
|
||||||
#1. var response_history = response.duplicate()
|
#1. var response_history = response.duplicate()
|
||||||
|
var response_for_history = response.duplicate()
|
||||||
#2. get the history array from the singleton,
|
#2. get the history array from the singleton,
|
||||||
#3. Add this to the history array
|
#3. Add this to the history array
|
||||||
#
|
history_source.output_history_array.append(response_for_history)
|
||||||
pass
|
|
||||||
|
|
||||||
|
|
||||||
func _on_option1_button_down() -> void:
|
func _on_option1_button_down() -> void:
|
||||||
|
@ -19,7 +19,7 @@ func _ready() -> void:
|
|||||||
#DKM temp:
|
#DKM temp:
|
||||||
print("Loaded history array size is: " + str(historyScreensSingleton.output_history_array.size()))
|
print("Loaded history array size is: " + str(historyScreensSingleton.output_history_array.size()))
|
||||||
|
|
||||||
#DKM TEMP: tres format:
|
#DKM TEMP: load using tres format:
|
||||||
func load_history_file() -> HistoryScreensTemplateSingleton:
|
func load_history_file() -> HistoryScreensTemplateSingleton:
|
||||||
if ResourceLoader.exists(history_file):
|
if ResourceLoader.exists(history_file):
|
||||||
var history = ResourceLoader.load(history_file)
|
var history = ResourceLoader.load(history_file)
|
||||||
|
@ -0,0 +1,17 @@
|
|||||||
|
#BUT_HISTORYPAGER:
|
||||||
|
# Simply moves through array page -- should call the HistoryViewer script to display
|
||||||
|
# stored page and response fro the history array
|
||||||
|
#
|
||||||
|
|
||||||
|
extends Button
|
||||||
|
|
||||||
|
onready var historyViewerScript = get_node("/root/HistoryViewer")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
func _on_But_HistoryPager_button_up() -> void:
|
||||||
|
if(historyViewerScript.current_history_page_no < historyViewerScript.history_source.output_history_array.size()):
|
||||||
|
historyViewerScript.current_history_page_no = historyViewerScript.current_history_page_no +1
|
||||||
|
else:
|
||||||
|
historyViewerScript.current_history_page_no = 0
|
||||||
|
print("Current page: " + str(historyViewerScript.current_history_page_no))
|
@ -0,0 +1,40 @@
|
|||||||
|
#HISTORY_VIEWER:
|
||||||
|
# Controls output space -- will display the appropriate history array page.
|
||||||
|
# DKM TEMP: 5/15/22: what's here is replicated from the Game script for starting
|
||||||
|
# purposes. I have this working in experimental version -- will add this back
|
||||||
|
# next.
|
||||||
|
|
||||||
|
extends Control
|
||||||
|
|
||||||
|
onready var history_source = get_node("/root/History").historyScreensSingleton
|
||||||
|
onready var current_history = $Background/MarginContainer/Rows/GameInfo/CurrentHistory
|
||||||
|
onready var current_history_page_no = 0
|
||||||
|
|
||||||
|
#Abstract class we instance when wanted in game as child of HistoryReference
|
||||||
|
const TextOutput = preload("res://UserInterface/Response.tscn")
|
||||||
|
const InputResponse = preload("res://UserInterface/InputResponse.tscn")
|
||||||
|
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
|
#DKM TEMP: for testing only -- this will be set in settings
|
||||||
|
theme=load("res://assets/ui_controlNode_dark_theme.tres")
|
||||||
|
#DKM_TEMP: display size of current history:
|
||||||
|
print("Loaded history array size is: " + str(history_source.output_history_array.size()))
|
||||||
|
|
||||||
|
|
||||||
|
#Handles input text
|
||||||
|
func create_response(response_text: String):
|
||||||
|
var response = TextOutput.instance()
|
||||||
|
response.text = response_text
|
||||||
|
add_response_to_game(response)
|
||||||
|
|
||||||
|
#Copies the response output to add to both current game output, and the
|
||||||
|
# history array.
|
||||||
|
func add_response_to_game(response: Control):
|
||||||
|
if(current_history.get_child_count() > 0):
|
||||||
|
current_history.remove_child(current_history.get_child(0))
|
||||||
|
current_history.add_child(response)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1,80 @@
|
|||||||
|
[gd_scene load_steps=5 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://screens/HistoryViewer.gd" type="Script" id=1]
|
||||||
|
[ext_resource path="res://userInterface/But_ChangeScene.tscn" type="PackedScene" id=2]
|
||||||
|
[ext_resource path="res://assets/ui_controlNode_dark_theme.tres" type="Theme" id=3]
|
||||||
|
[ext_resource path="res://screens/But_HistoryPager.gd" type="Script" id=4]
|
||||||
|
|
||||||
|
[node name="HistoryViewer" type="Control"]
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
theme = ExtResource( 3 )
|
||||||
|
script = ExtResource( 1 )
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="Background" type="PanelContainer" parent="."]
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
margin_right = -274.0
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="MarginContainer" type="MarginContainer" parent="Background"]
|
||||||
|
margin_left = 1.0
|
||||||
|
margin_top = 1.0
|
||||||
|
margin_right = 749.0
|
||||||
|
margin_bottom = 599.0
|
||||||
|
custom_constants/margin_right = 20
|
||||||
|
custom_constants/margin_top = 10
|
||||||
|
custom_constants/margin_left = 20
|
||||||
|
custom_constants/margin_bottom = 20
|
||||||
|
|
||||||
|
[node name="Rows" type="VBoxContainer" parent="Background/MarginContainer"]
|
||||||
|
margin_left = 20.0
|
||||||
|
margin_top = 10.0
|
||||||
|
margin_right = 728.0
|
||||||
|
margin_bottom = 578.0
|
||||||
|
custom_constants/separation = 10
|
||||||
|
|
||||||
|
[node name="ItemList" type="ItemList" parent="Background/MarginContainer/Rows"]
|
||||||
|
margin_right = 708.0
|
||||||
|
margin_bottom = 40.0
|
||||||
|
rect_min_size = Vector2( 0, 40 )
|
||||||
|
|
||||||
|
[node name="But_ChangeScene" parent="Background/MarginContainer/Rows/ItemList" instance=ExtResource( 2 )]
|
||||||
|
text = "More Options"
|
||||||
|
next_scene_path = "res://screens/MoreOptions.tscn"
|
||||||
|
|
||||||
|
[node name="But_HistoryPager" type="Button" parent="Background/MarginContainer/Rows/ItemList"]
|
||||||
|
anchor_left = 1.0
|
||||||
|
anchor_top = 0.5
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 0.5
|
||||||
|
margin_left = -168.0
|
||||||
|
margin_top = -18.0
|
||||||
|
margin_bottom = 18.0
|
||||||
|
text = "History Pager"
|
||||||
|
script = ExtResource( 4 )
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="GameInfo" type="PanelContainer" parent="Background/MarginContainer/Rows"]
|
||||||
|
margin_top = 50.0
|
||||||
|
margin_right = 708.0
|
||||||
|
margin_bottom = 568.0
|
||||||
|
size_flags_vertical = 3
|
||||||
|
|
||||||
|
[node name="CurrentText" type="VBoxContainer" parent="Background/MarginContainer/Rows/GameInfo"]
|
||||||
|
margin_left = 1.0
|
||||||
|
margin_top = 1.0
|
||||||
|
margin_right = 707.0
|
||||||
|
margin_bottom = 517.0
|
||||||
|
size_flags_horizontal = 3
|
||||||
|
size_flags_vertical = 3
|
||||||
|
custom_constants/separation = 20
|
||||||
|
|
||||||
|
[connection signal="button_up" from="Background/MarginContainer/Rows/ItemList/But_HistoryPager" to="Background/MarginContainer/Rows/ItemList/But_HistoryPager" method="_on_But_HistoryPager_button_up"]
|
@ -49,7 +49,7 @@ margin_top = 40.0
|
|||||||
margin_right = 238.0
|
margin_right = 238.0
|
||||||
margin_bottom = 125.0
|
margin_bottom = 125.0
|
||||||
text = "Show History"
|
text = "Show History"
|
||||||
next_scene_path = "res://screens/MenuScreen.tscn"
|
next_scene_path = "res://screens/HistoryViewer.tscn"
|
||||||
|
|
||||||
[node name="But_Chat" parent="VBoxContainer" instance=ExtResource( 1 )]
|
[node name="But_Chat" parent="VBoxContainer" instance=ExtResource( 1 )]
|
||||||
margin_top = 129.0
|
margin_top = 129.0
|
||||||
|
@ -8,6 +8,7 @@ func _on_But_ResumeGame_button_up():
|
|||||||
var gameSingleton = get_node("/root/GameCurrent")
|
var gameSingleton = get_node("/root/GameCurrent")
|
||||||
var gameScene = gameSingleton.gameCurrent_scene
|
var gameScene = gameSingleton.gameCurrent_scene
|
||||||
root.remove_child(thisScene)
|
root.remove_child(thisScene)
|
||||||
|
#DKM TEMP: cleanup this scene!
|
||||||
thisScene.queue_free()
|
thisScene.queue_free()
|
||||||
root.add_child(gameScene)
|
root.add_child(gameScene)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user