diff --git a/Phase2/Godot ===(Game Code)===/NewGame/Doug/bcirpg_newGame_20220227A/screens/But_HistoryPager.gd b/Phase2/Godot ===(Game Code)===/NewGame/Doug/bcirpg_newGame_20220227A/screens/But_HistoryPager.gd index 6c5cdb6..a5e1b2f 100644 --- a/Phase2/Godot ===(Game Code)===/NewGame/Doug/bcirpg_newGame_20220227A/screens/But_HistoryPager.gd +++ b/Phase2/Godot ===(Game Code)===/NewGame/Doug/bcirpg_newGame_20220227A/screens/But_HistoryPager.gd @@ -1,5 +1,5 @@ #BUT_HISTORYPAGER: -# Simply moves through array page -- should call the HistoryViewer script to display +# Iterates the page number and calls HistoryViewer script to display # stored page and response fro the history array # @@ -7,11 +7,7 @@ extends Button onready var historyViewerScript = get_node("/root/HistoryViewer") - - +#DKM TEMP: this needs refactoring -- too much being calculated as needed/repeated 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)) + historyViewerScript.update_pager() + diff --git a/Phase2/Godot ===(Game Code)===/NewGame/Doug/bcirpg_newGame_20220227A/screens/HistoryViewer.gd b/Phase2/Godot ===(Game Code)===/NewGame/Doug/bcirpg_newGame_20220227A/screens/HistoryViewer.gd index f1da0ce..2e72331 100644 --- a/Phase2/Godot ===(Game Code)===/NewGame/Doug/bcirpg_newGame_20220227A/screens/HistoryViewer.gd +++ b/Phase2/Godot ===(Game Code)===/NewGame/Doug/bcirpg_newGame_20220227A/screens/HistoryViewer.gd @@ -8,7 +8,9 @@ extends Control onready var history_source = get_node("/root/History").historyScreensSingleton onready var current_history = $Background/MarginContainer/Rows/GameInfo/CurrentHistory +#For zero-indexed array position: onready var current_history_page_no = 0 +onready var page_displayer = $Background/MarginContainer/Rows/ItemList/Page_Display #Abstract class we instance when wanted in game as child of HistoryReference const TextOutput = preload("res://UserInterface/Response.tscn") @@ -18,23 +20,30 @@ 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) + update_pager() + #DKM TEMP: +# page_displayer.text = "1" +# if(current_history.get_child_count() > 0): +# current_history.remove_child(current_history.get_child(0)) +# var opening_res = history_source.output_history_array[0] +# current_history.add_child(opening_res) #Copies the response output to add to both current game output, and the # history array. -func add_response_to_game(response: Control): +func add_display_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) - + +func update_pager(): + if(current_history_page_no >= history_source.output_history_array.size()): + current_history_page_no = 0 + print("Current page: " + str(current_history_page_no)) + add_display_to_game(history_source.output_history_array[current_history_page_no]) + current_history_page_no = current_history_page_no +1 + page_displayer.text = str(current_history_page_no) diff --git a/Phase2/Godot ===(Game Code)===/NewGame/Doug/bcirpg_newGame_20220227A/screens/HistoryViewer.tscn b/Phase2/Godot ===(Game Code)===/NewGame/Doug/bcirpg_newGame_20220227A/screens/HistoryViewer.tscn index 805ed5f..3534a58 100644 --- a/Phase2/Godot ===(Game Code)===/NewGame/Doug/bcirpg_newGame_20220227A/screens/HistoryViewer.tscn +++ b/Phase2/Godot ===(Game Code)===/NewGame/Doug/bcirpg_newGame_20220227A/screens/HistoryViewer.tscn @@ -17,7 +17,6 @@ __meta__ = { [node name="Background" type="PanelContainer" parent="."] anchor_right = 1.0 anchor_bottom = 1.0 -margin_right = -274.0 __meta__ = { "_edit_use_anchors_": false } @@ -25,7 +24,7 @@ __meta__ = { [node name="MarginContainer" type="MarginContainer" parent="Background"] margin_left = 1.0 margin_top = 1.0 -margin_right = 749.0 +margin_right = 1023.0 margin_bottom = 599.0 custom_constants/margin_right = 20 custom_constants/margin_top = 10 @@ -35,12 +34,12 @@ 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_right = 1002.0 margin_bottom = 578.0 custom_constants/separation = 10 [node name="ItemList" type="ItemList" parent="Background/MarginContainer/Rows"] -margin_right = 708.0 +margin_right = 982.0 margin_bottom = 40.0 rect_min_size = Vector2( 0, 40 ) @@ -49,29 +48,48 @@ 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 +anchor_left = 0.5 +anchor_right = 0.5 +margin_left = -84.0 +margin_right = 84.0 +margin_bottom = 36.0 text = "History Pager" script = ExtResource( 4 ) __meta__ = { "_edit_use_anchors_": false } +[node name="Label" type="Label" parent="Background/MarginContainer/Rows/ItemList"] +anchor_left = 1.0 +anchor_right = 1.0 +margin_left = -194.94 +margin_top = -1.12247 +margin_right = -81.9397 +margin_bottom = 23.8775 +text = "History Page:" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Page_Display" type="Label" parent="Background/MarginContainer/Rows/ItemList"] +anchor_left = 1.0 +anchor_right = 1.0 +margin_left = -40.0 +margin_bottom = 25.0 +__meta__ = { +"_edit_use_anchors_": false +} + [node name="GameInfo" type="PanelContainer" parent="Background/MarginContainer/Rows"] margin_top = 50.0 -margin_right = 708.0 +margin_right = 982.0 margin_bottom = 568.0 size_flags_vertical = 3 -[node name="CurrentText" type="VBoxContainer" parent="Background/MarginContainer/Rows/GameInfo"] +[node name="CurrentHistory" type="VBoxContainer" parent="Background/MarginContainer/Rows/GameInfo"] margin_left = 1.0 margin_top = 1.0 -margin_right = 707.0 +margin_right = 981.0 margin_bottom = 517.0 size_flags_horizontal = 3 size_flags_vertical = 3