Adding log.gd
33
addons/gdUnit4/src/ui/EditorFileSystemControls.gd
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
# A tool to provide extended filesystem editor functionallity
|
||||
class_name EditorFileSystemControls
|
||||
extends RefCounted
|
||||
|
||||
|
||||
# Returns the EditorInterface instance
|
||||
static func editor_interface() -> EditorInterface:
|
||||
if not Engine.has_meta("GdUnitEditorPlugin"):
|
||||
return null
|
||||
var plugin :EditorPlugin = Engine.get_meta("GdUnitEditorPlugin")
|
||||
return plugin.get_editor_interface()
|
||||
|
||||
|
||||
# Register the given context menu to the filesystem dock
|
||||
# Is called when the plugin is activated
|
||||
# The filesystem popup is connected to the EditorFileSystemContextMenuHandler
|
||||
static func register_context_menu(menu :Array[GdUnitContextMenuItem]) -> void:
|
||||
Engine.get_main_loop().root.call_deferred("add_child", EditorFileSystemContextMenuHandler.new(menu))
|
||||
|
||||
|
||||
# Unregisteres all registerend context menus and gives the EditorFileSystemContextMenuHandler> free
|
||||
# Is called when the plugin is deactivated
|
||||
static func unregister_context_menu() -> void:
|
||||
EditorFileSystemContextMenuHandler.dispose()
|
||||
|
||||
|
||||
static func _print_menu(popup :PopupMenu):
|
||||
for itemIndex in popup.item_count:
|
||||
prints( "get_item_id", popup.get_item_id(itemIndex))
|
||||
prints( "get_item_accelerator", popup.get_item_accelerator(itemIndex))
|
||||
prints( "get_item_shortcut", popup.get_item_shortcut(itemIndex))
|
||||
prints( "get_item_text", popup.get_item_text(itemIndex))
|
||||
prints()
|
||||
161
addons/gdUnit4/src/ui/GdUnitConsole.gd
Normal file
|
|
@ -0,0 +1,161 @@
|
|||
@tool
|
||||
extends Control
|
||||
|
||||
const TITLE = "gdUnit4 ${version} Console"
|
||||
|
||||
@onready var header := $VBoxContainer/Header
|
||||
@onready var title :RichTextLabel = $VBoxContainer/Header/header_title
|
||||
@onready var output :RichTextLabel = $VBoxContainer/Console/TextEdit
|
||||
|
||||
var _text_color :Color
|
||||
var _function_color :Color
|
||||
var _engine_type_color :Color
|
||||
var _statistics = {}
|
||||
var _summary = {
|
||||
"total_count": 0,
|
||||
"error_count": 0,
|
||||
"failed_count": 0,
|
||||
"skipped_count": 0,
|
||||
"orphan_nodes": 0
|
||||
}
|
||||
|
||||
|
||||
func _ready():
|
||||
init_colors()
|
||||
GdUnitFonts.init_fonts(output)
|
||||
GdUnit4Version.init_version_label(title)
|
||||
GdUnitSignals.instance().gdunit_event.connect(_on_gdunit_event)
|
||||
GdUnitSignals.instance().gdunit_message.connect(_on_gdunit_message)
|
||||
GdUnitSignals.instance().gdunit_client_connected.connect(_on_gdunit_client_connected)
|
||||
GdUnitSignals.instance().gdunit_client_disconnected.connect(_on_gdunit_client_disconnected)
|
||||
output.clear()
|
||||
|
||||
|
||||
func _notification(what):
|
||||
if what == EditorSettings.NOTIFICATION_EDITOR_SETTINGS_CHANGED:
|
||||
init_colors()
|
||||
if what == NOTIFICATION_PREDELETE:
|
||||
GdUnitSignals.instance().gdunit_event.disconnect(_on_gdunit_event)
|
||||
GdUnitSignals.instance().gdunit_message.disconnect(_on_gdunit_message)
|
||||
GdUnitSignals.instance().gdunit_client_connected.disconnect(_on_gdunit_client_connected)
|
||||
GdUnitSignals.instance().gdunit_client_disconnected.disconnect(_on_gdunit_client_disconnected)
|
||||
|
||||
|
||||
func init_colors() -> void:
|
||||
var plugin :EditorPlugin = Engine.get_meta("GdUnitEditorPlugin")
|
||||
var settings := plugin.get_editor_interface().get_editor_settings()
|
||||
_text_color = settings.get_setting("text_editor/theme/highlighting/text_color")
|
||||
_function_color = settings.get_setting("text_editor/theme/highlighting/function_color")
|
||||
_engine_type_color = settings.get_setting("text_editor/theme/highlighting/engine_type_color")
|
||||
|
||||
|
||||
func init_statistics(event :GdUnitEvent) :
|
||||
_statistics["total_count"] = event.total_count()
|
||||
_statistics["error_count"] = 0
|
||||
_statistics["failed_count"] = 0
|
||||
_statistics["skipped_count"] = 0
|
||||
_statistics["orphan_nodes"] = 0
|
||||
_summary["total_count"] += event.total_count()
|
||||
|
||||
|
||||
func reset_statistics() -> void:
|
||||
for k in _statistics.keys():
|
||||
_statistics[k] = 0
|
||||
for k in _summary.keys():
|
||||
_summary[k] = 0
|
||||
|
||||
|
||||
func update_statistics(event :GdUnitEvent) :
|
||||
_statistics["error_count"] += event.error_count()
|
||||
_statistics["failed_count"] += event.failed_count()
|
||||
_statistics["skipped_count"] += event.skipped_count()
|
||||
_statistics["orphan_nodes"] += event.orphan_nodes()
|
||||
_summary["error_count"] += event.error_count()
|
||||
_summary["failed_count"] += event.failed_count()
|
||||
_summary["skipped_count"] += event.skipped_count()
|
||||
_summary["orphan_nodes"] += event.orphan_nodes()
|
||||
|
||||
|
||||
func print_message(message :String, color :Color = _text_color, indent :int = 0) -> void:
|
||||
for i in indent:
|
||||
output.push_indent(1)
|
||||
output.push_color(color)
|
||||
output.append_text(message)
|
||||
output.pop()
|
||||
for i in indent:
|
||||
output.pop()
|
||||
|
||||
|
||||
func println_message(message :String, color :Color = _text_color, indent :int = -1) -> void:
|
||||
print_message(message, color, indent)
|
||||
output.newline()
|
||||
|
||||
|
||||
func _on_gdunit_event(event :GdUnitEvent):
|
||||
match event.type():
|
||||
GdUnitEvent.INIT:
|
||||
reset_statistics()
|
||||
|
||||
GdUnitEvent.STOP:
|
||||
print_message("Summary:", Color.DODGER_BLUE)
|
||||
println_message("| %d total | %d error | %d failed | %d skipped | %d orphans |" % [_summary["total_count"], _summary["error_count"], _summary["failed_count"], _summary["skipped_count"], _summary["orphan_nodes"]], _text_color, 1)
|
||||
print_message("[wave][/wave]")
|
||||
|
||||
GdUnitEvent.TESTSUITE_BEFORE:
|
||||
init_statistics(event)
|
||||
print_message("Execute: ", Color.DODGER_BLUE)
|
||||
println_message(event._suite_name, _engine_type_color)
|
||||
|
||||
GdUnitEvent.TESTSUITE_AFTER:
|
||||
update_statistics(event)
|
||||
if not event.reports().is_empty():
|
||||
var report :GdUnitReport = event.reports().front()
|
||||
println_message("\t" +event._suite_name, _engine_type_color)
|
||||
println_message("line %d %s" % [report._line_number, report._message], _text_color, 2)
|
||||
if event.is_success():
|
||||
print_message("[wave]PASSED[/wave]", Color.LIGHT_GREEN)
|
||||
else:
|
||||
print_message("[shake rate=5 level=10][b]FAILED[/b][/shake]", Color.FIREBRICK)
|
||||
print_message(" | %d total | %d error | %d failed | %d skipped | %d orphans |" % [_statistics["total_count"], _statistics["error_count"], _statistics["failed_count"], _statistics["skipped_count"], _statistics["orphan_nodes"]])
|
||||
println_message("%+12s" % LocalTime.elapsed(event.elapsed_time()))
|
||||
println_message(" ")
|
||||
|
||||
GdUnitEvent.TESTCASE_BEFORE:
|
||||
var spaces = "-%d" % (80 - event._suite_name.length())
|
||||
print_message(event._suite_name, _engine_type_color, 1)
|
||||
print_message(":")
|
||||
print_message(("%"+spaces+"s") % event._test_name, _function_color)
|
||||
|
||||
GdUnitEvent.TESTCASE_AFTER:
|
||||
var reports := event.reports()
|
||||
update_statistics(event)
|
||||
if event.is_success():
|
||||
print_message("PASSED", Color.LIGHT_GREEN)
|
||||
elif event.is_skipped():
|
||||
print_message("SKIPPED", Color.GOLDENROD)
|
||||
elif event.is_error() or event.is_failed():
|
||||
print_message("[wave]FAILED[/wave]", Color.FIREBRICK)
|
||||
elif event.is_warning():
|
||||
print_message("WARNING", Color.YELLOW)
|
||||
println_message(" %+12s" % LocalTime.elapsed(event.elapsed_time()))
|
||||
|
||||
var report :GdUnitReport = null if reports.is_empty() else reports[0]
|
||||
if report:
|
||||
println_message("line %d %s" % [report._line_number, report._message], _text_color, 2)
|
||||
|
||||
|
||||
func _on_gdunit_client_connected(client_id :int) -> void:
|
||||
output.clear()
|
||||
output.append_text("[color=#9887c4]GdUnit Test Client connected with id %d[/color]\n" % client_id)
|
||||
output.newline()
|
||||
|
||||
|
||||
func _on_gdunit_client_disconnected(client_id :int) -> void:
|
||||
output.append_text("[color=#9887c4]GdUnit Test Client disconnected with id %d[/color]\n" % client_id)
|
||||
output.newline()
|
||||
|
||||
|
||||
func _on_gdunit_message(message :String):
|
||||
output.newline()
|
||||
output.append_text(message)
|
||||
output.newline()
|
||||
61
addons/gdUnit4/src/ui/GdUnitConsole.tscn
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
[gd_scene load_steps=2 format=3 uid="uid://dm0wvfyeew7vd"]
|
||||
|
||||
[ext_resource type="Script" path="res://addons/gdUnit4/src/ui/GdUnitConsole.gd" id="1"]
|
||||
|
||||
[node name="Control" type="Control"]
|
||||
use_parent_material = true
|
||||
clip_contents = true
|
||||
custom_minimum_size = Vector2(0, 200)
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
script = ExtResource("1")
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="."]
|
||||
use_parent_material = true
|
||||
clip_contents = true
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="Header" type="PanelContainer" parent="VBoxContainer"]
|
||||
custom_minimum_size = Vector2(0, 32)
|
||||
layout_mode = 2
|
||||
auto_translate = false
|
||||
localize_numeral_system = false
|
||||
mouse_filter = 2
|
||||
|
||||
[node name="header_title" type="RichTextLabel" parent="VBoxContainer/Header"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
auto_translate = false
|
||||
localize_numeral_system = false
|
||||
mouse_filter = 2
|
||||
bbcode_enabled = true
|
||||
scroll_active = false
|
||||
autowrap_mode = 0
|
||||
shortcut_keys_enabled = false
|
||||
|
||||
[node name="Console" type="ScrollContainer" parent="VBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="TextEdit" type="RichTextLabel" parent="VBoxContainer/Console"]
|
||||
use_parent_material = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
bbcode_enabled = true
|
||||
scroll_following = true
|
||||
44
addons/gdUnit4/src/ui/GdUnitFonts.gd
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
class_name GdUnitFonts
|
||||
extends RefCounted
|
||||
|
||||
const FONT_MONO = "res://addons/gdUnit4/src/update/assets/fonts/static/RobotoMono-Regular.ttf"
|
||||
const FONT_MONO_BOLT = "res://addons/gdUnit4/src/update/assets/fonts/static/RobotoMono-Bold.ttf"
|
||||
const FONT_MONO_BOLT_ITALIC = "res://addons/gdUnit4/src/update/assets/fonts/static/RobotoMono-BoldItalic.ttf"
|
||||
const FONT_MONO_ITALIC = "res://addons/gdUnit4/src/update/assets/fonts/static/RobotoMono-Italic.ttf"
|
||||
|
||||
|
||||
static func init_fonts(item: CanvasItem) -> float:
|
||||
# add a default fallback font
|
||||
item.set("theme_override_fonts/font", load_and_resize_font(FONT_MONO, 16))
|
||||
item.set("theme_override_fonts/normal_font", load_and_resize_font(FONT_MONO, 16))
|
||||
item.set("theme_override_font_sizes/font_size", 16)
|
||||
if Engine.is_editor_hint():
|
||||
var plugin :EditorPlugin = Engine.get_meta("GdUnitEditorPlugin")
|
||||
var settings := plugin.get_editor_interface().get_editor_settings()
|
||||
var scale_factor := plugin.get_editor_interface().get_editor_scale()
|
||||
var font_size :float = settings.get_setting("interface/editor/main_font_size")
|
||||
font_size *= scale_factor
|
||||
var font_mono := load_and_resize_font(FONT_MONO, font_size)
|
||||
item.set("theme_override_fonts/normal_font", font_mono)
|
||||
item.set("theme_override_fonts/bold_font", load_and_resize_font(FONT_MONO_BOLT, font_size))
|
||||
item.set("theme_override_fonts/italics_font", load_and_resize_font(FONT_MONO_ITALIC, font_size))
|
||||
item.set("theme_override_fonts/bold_italics_font", load_and_resize_font(FONT_MONO_BOLT_ITALIC, font_size))
|
||||
item.set("theme_override_fonts/mono_font", font_mono)
|
||||
item.set("theme_override_font_sizes/font_size", font_size)
|
||||
item.set("theme_override_font_sizes/normal_font_size", font_size)
|
||||
item.set("theme_override_font_sizes/bold_font_size", font_size)
|
||||
item.set("theme_override_font_sizes/italics_font_size", font_size)
|
||||
item.set("theme_override_font_sizes/bold_italics_font_size", font_size)
|
||||
item.set("theme_override_font_sizes/mono_font_size", font_size)
|
||||
return font_size
|
||||
return 16.0
|
||||
|
||||
|
||||
static func load_and_resize_font(font_resource: String, size: float) -> Font:
|
||||
var font :FontFile = ResourceLoader.load(font_resource, "FontFile")
|
||||
if font == null:
|
||||
push_error("Can't load font '%s'" % font_resource)
|
||||
return null
|
||||
var resized_font := font.duplicate()
|
||||
resized_font.fixed_size = int(size)
|
||||
return resized_font
|
||||
85
addons/gdUnit4/src/ui/GdUnitInspector.gd
Normal file
|
|
@ -0,0 +1,85 @@
|
|||
@tool
|
||||
class_name GdUnitInspecor
|
||||
extends Panel
|
||||
|
||||
|
||||
var _command_handler := GdUnitCommandHandler.instance()
|
||||
|
||||
|
||||
func _ready():
|
||||
if Engine.is_editor_hint():
|
||||
var plugin :EditorPlugin = Engine.get_meta("GdUnitEditorPlugin")
|
||||
_getEditorThemes(plugin.get_editor_interface())
|
||||
GdUnitCommandHandler.instance().gdunit_runner_start.connect(func():
|
||||
var tab_container :TabContainer = get_parent_control()
|
||||
for tab_index in tab_container.get_tab_count():
|
||||
if tab_container.get_tab_title(tab_index) == "GdUnit":
|
||||
tab_container.set_current_tab(tab_index)
|
||||
)
|
||||
|
||||
|
||||
func _enter_tree():
|
||||
if Engine.is_editor_hint():
|
||||
add_script_editor_context_menu()
|
||||
add_file_system_dock_context_menu()
|
||||
|
||||
|
||||
func _exit_tree():
|
||||
if Engine.is_editor_hint():
|
||||
ScriptEditorControls.unregister_context_menu()
|
||||
EditorFileSystemControls.unregister_context_menu()
|
||||
|
||||
|
||||
func _process(_delta):
|
||||
_command_handler._do_process()
|
||||
|
||||
|
||||
func _getEditorThemes(interface :EditorInterface) -> void:
|
||||
if interface == null:
|
||||
return
|
||||
# example to access current theme
|
||||
#var editiorTheme := interface.get_base_control().theme
|
||||
# setup inspector button icons
|
||||
#var stylebox_types :PackedStringArray = editiorTheme.get_stylebox_type_list()
|
||||
#for stylebox_type in stylebox_types:
|
||||
#prints("stylebox_type", stylebox_type)
|
||||
# if "Tree" == stylebox_type:
|
||||
# prints(editiorTheme.get_stylebox_list(stylebox_type))
|
||||
#var style:StyleBoxFlat = editiorTheme.get_stylebox("panel", "Tree")
|
||||
#style.bg_color = Color.RED
|
||||
#var locale = interface.get_editor_settings().get_setting("interface/editor/editor_language")
|
||||
#sessions_label.add_theme_color_override("font_color", get_color("contrast_color_2", "Editor"))
|
||||
#status_label.add_theme_color_override("font_color", get_color("contrast_color_2", "Editor"))
|
||||
#no_sessions_label.add_theme_color_override("font_color", get_color("contrast_color_2", "Editor"))
|
||||
|
||||
|
||||
# Context menu registrations ----------------------------------------------------------------------
|
||||
func add_file_system_dock_context_menu() -> void:
|
||||
var is_test_suite := func is_visible(script :Script, is_test_suite :bool):
|
||||
if script == null:
|
||||
return true
|
||||
return GdObjects.is_test_suite(script) == is_test_suite
|
||||
var menu :Array[GdUnitContextMenuItem] = [
|
||||
GdUnitContextMenuItem.new(GdUnitContextMenuItem.MENU_ID.TEST_RUN, "Run Testsuites", is_test_suite.bind(true), _command_handler.command(GdUnitCommandHandler.CMD_RUN_TESTSUITE)),
|
||||
GdUnitContextMenuItem.new(GdUnitContextMenuItem.MENU_ID.TEST_DEBUG, "Debug Testsuites", is_test_suite.bind(true), _command_handler.command(GdUnitCommandHandler.CMD_RUN_TESTSUITE_DEBUG)),
|
||||
]
|
||||
EditorFileSystemControls.register_context_menu(menu)
|
||||
|
||||
|
||||
func add_script_editor_context_menu():
|
||||
var is_test_suite := func is_visible(script :Script, is_test_suite :bool):
|
||||
return GdObjects.is_test_suite(script) == is_test_suite
|
||||
var menu :Array[GdUnitContextMenuItem] = [
|
||||
GdUnitContextMenuItem.new(GdUnitContextMenuItem.MENU_ID.TEST_RUN, "Run Tests", is_test_suite.bind(true), _command_handler.command(GdUnitCommandHandler.CMD_RUN_TESTCASE)),
|
||||
GdUnitContextMenuItem.new(GdUnitContextMenuItem.MENU_ID.TEST_DEBUG, "Debug Tests", is_test_suite.bind(true),_command_handler.command(GdUnitCommandHandler.CMD_RUN_TESTCASE_DEBUG)),
|
||||
GdUnitContextMenuItem.new(GdUnitContextMenuItem.MENU_ID.CREATE_TEST, "Create Test", is_test_suite.bind(false), _command_handler.command(GdUnitCommandHandler.CMD_CREATE_TESTCASE))
|
||||
]
|
||||
ScriptEditorControls.register_context_menu(menu)
|
||||
|
||||
|
||||
func _on_MainPanel_run_testsuite(test_suite_paths :Array, debug :bool):
|
||||
_command_handler.cmd_run_test_suites(test_suite_paths, debug)
|
||||
|
||||
|
||||
func _on_MainPanel_run_testcase(resource_path :String, test_case :String, test_param_index :int, debug :bool):
|
||||
_command_handler.cmd_run_test_case(resource_path, test_case, test_param_index, debug)
|
||||
58
addons/gdUnit4/src/ui/GdUnitInspector.tscn
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
[gd_scene load_steps=7 format=3 uid="uid://mpo5o6d4uybu"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://dx7xy4dgi3wwb" path="res://addons/gdUnit4/src/ui/parts/InspectorToolBar.tscn" id="1"]
|
||||
[ext_resource type="PackedScene" uid="uid://dva3tonxsxrlk" path="res://addons/gdUnit4/src/ui/parts/InspectorProgressBar.tscn" id="2"]
|
||||
[ext_resource type="PackedScene" path="res://addons/gdUnit4/src/ui/parts/InspectorStatusBar.tscn" id="3"]
|
||||
[ext_resource type="PackedScene" path="res://addons/gdUnit4/src/ui/parts/InspectorMonitor.tscn" id="4"]
|
||||
[ext_resource type="Script" path="res://addons/gdUnit4/src/ui/GdUnitInspector.gd" id="5"]
|
||||
[ext_resource type="PackedScene" uid="uid://bqfpidewtpeg0" path="res://addons/gdUnit4/src/ui/parts/InspectorTreePanel.tscn" id="7"]
|
||||
|
||||
[node name="GdUnit" type="Panel"]
|
||||
use_parent_material = true
|
||||
clip_contents = true
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
size_flags_horizontal = 11
|
||||
size_flags_vertical = 3
|
||||
focus_mode = 2
|
||||
script = ExtResource("5")
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="."]
|
||||
use_parent_material = true
|
||||
clip_contents = true
|
||||
layout_mode = 0
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
size_flags_vertical = 11
|
||||
|
||||
[node name="Header" type="VBoxContainer" parent="VBoxContainer"]
|
||||
use_parent_material = true
|
||||
clip_contents = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 9
|
||||
|
||||
[node name="ToolBar" parent="VBoxContainer/Header" instance=ExtResource("1")]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 1
|
||||
|
||||
[node name="ProgressBar" parent="VBoxContainer/Header" instance=ExtResource("2")]
|
||||
custom_minimum_size = Vector2(0, 20)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 5
|
||||
|
||||
[node name="StatusBar" parent="VBoxContainer/Header" instance=ExtResource("3")]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 11
|
||||
|
||||
[node name="MainPanel" parent="VBoxContainer" instance=ExtResource("7")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Monitor" parent="VBoxContainer" instance=ExtResource("4")]
|
||||
layout_mode = 2
|
||||
|
||||
[connection signal="failure_next" from="VBoxContainer/Header/StatusBar" to="VBoxContainer/MainPanel" method="_on_StatusBar_failure_next"]
|
||||
[connection signal="failure_prevous" from="VBoxContainer/Header/StatusBar" to="VBoxContainer/MainPanel" method="_on_StatusBar_failure_prevous"]
|
||||
[connection signal="run_testcase" from="VBoxContainer/MainPanel" to="." method="_on_MainPanel_run_testcase"]
|
||||
[connection signal="run_testsuite" from="VBoxContainer/MainPanel" to="." method="_on_MainPanel_run_testsuite"]
|
||||
[connection signal="jump_to_orphan_nodes" from="VBoxContainer/Monitor" to="VBoxContainer/MainPanel" method="_on_Monitor_jump_to_orphan_nodes"]
|
||||
128
addons/gdUnit4/src/ui/ScriptEditorControls.gd
Normal file
|
|
@ -0,0 +1,128 @@
|
|||
# A tool to provide extended script editor functionallity
|
||||
class_name ScriptEditorControls
|
||||
extends RefCounted
|
||||
|
||||
|
||||
# https://github.com/godotengine/godot/blob/master/editor/plugins/script_editor_plugin.h
|
||||
# the Editor menu popup items
|
||||
enum {
|
||||
FILE_NEW,
|
||||
FILE_NEW_TEXTFILE,
|
||||
FILE_OPEN,
|
||||
FILE_REOPEN_CLOSED,
|
||||
FILE_OPEN_RECENT,
|
||||
FILE_SAVE,
|
||||
FILE_SAVE_AS,
|
||||
FILE_SAVE_ALL,
|
||||
FILE_THEME,
|
||||
FILE_RUN,
|
||||
FILE_CLOSE,
|
||||
CLOSE_DOCS,
|
||||
CLOSE_ALL,
|
||||
CLOSE_OTHER_TABS,
|
||||
TOGGLE_SCRIPTS_PANEL,
|
||||
SHOW_IN_FILE_SYSTEM,
|
||||
FILE_COPY_PATH,
|
||||
FILE_TOOL_RELOAD_SOFT,
|
||||
SEARCH_IN_FILES,
|
||||
REPLACE_IN_FILES,
|
||||
SEARCH_HELP,
|
||||
SEARCH_WEBSITE,
|
||||
HELP_SEARCH_FIND,
|
||||
HELP_SEARCH_FIND_NEXT,
|
||||
HELP_SEARCH_FIND_PREVIOUS,
|
||||
WINDOW_MOVE_UP,
|
||||
WINDOW_MOVE_DOWN,
|
||||
WINDOW_NEXT,
|
||||
WINDOW_PREV,
|
||||
WINDOW_SORT,
|
||||
WINDOW_SELECT_BASE = 100
|
||||
}
|
||||
|
||||
|
||||
# Returns the EditorInterface instance
|
||||
static func editor_interface() -> EditorInterface:
|
||||
if not Engine.has_meta("GdUnitEditorPlugin"):
|
||||
return null
|
||||
var plugin :EditorPlugin = Engine.get_meta("GdUnitEditorPlugin")
|
||||
return plugin.get_editor_interface()
|
||||
|
||||
|
||||
# Returns the ScriptEditor instance
|
||||
static func script_editor() -> ScriptEditor:
|
||||
return editor_interface().get_script_editor()
|
||||
|
||||
|
||||
# Saves the given script and closes if requested by <close=true>
|
||||
# The script is saved when is opened in the editor.
|
||||
# The script is closed when <close> is set to true.
|
||||
static func save_an_open_script(script_path :String, close := false) -> bool:
|
||||
#prints("save_an_open_script", script_path, close)
|
||||
if !Engine.is_editor_hint():
|
||||
return false
|
||||
var interface := editor_interface()
|
||||
var editor := script_editor()
|
||||
var editor_popup := _menu_popup()
|
||||
# search for the script in all opened editor scrips
|
||||
for open_script in editor.get_open_scripts():
|
||||
if open_script.resource_path == script_path:
|
||||
# select the script in the editor
|
||||
interface.edit_script(open_script, 0);
|
||||
# save and close
|
||||
editor_popup.id_pressed.emit(FILE_SAVE)
|
||||
if close:
|
||||
editor_popup.id_pressed.emit(FILE_CLOSE)
|
||||
return true
|
||||
return false
|
||||
|
||||
|
||||
# Saves all opened script
|
||||
static func save_all_open_script() -> void:
|
||||
if Engine.is_editor_hint():
|
||||
_menu_popup().id_pressed.emit(FILE_SAVE_ALL)
|
||||
|
||||
|
||||
static func close_open_editor_scripts() -> void:
|
||||
if Engine.is_editor_hint():
|
||||
_menu_popup().id_pressed.emit(CLOSE_ALL)
|
||||
|
||||
|
||||
# Edits the given script.
|
||||
# The script is openend in the current editor and selected in the file system dock.
|
||||
# The line and column on which to open the script can also be specified.
|
||||
# The script will be open with the user-configured editor for the script's language which may be an external editor.
|
||||
static func edit_script(script_path :String, line_number :int = -1):
|
||||
var interface := editor_interface()
|
||||
var file_system := interface.get_resource_filesystem()
|
||||
file_system.update_file(script_path)
|
||||
var file_system_dock := interface.get_file_system_dock()
|
||||
file_system_dock.navigate_to_path(script_path)
|
||||
interface.select_file(script_path)
|
||||
var script = load(script_path)
|
||||
interface.edit_script(script, line_number)
|
||||
|
||||
|
||||
# Register the given context menu to the current script editor
|
||||
# Is called when the plugin is activated
|
||||
# The active script is connected to the ScriptEditorContextMenuHandler
|
||||
static func register_context_menu(menu :Array[GdUnitContextMenuItem]) -> void:
|
||||
Engine.get_main_loop().root.call_deferred("add_child", ScriptEditorContextMenuHandler.new(menu, script_editor()))
|
||||
|
||||
|
||||
# Unregisteres all registerend context menus and gives the ScriptEditorContextMenuHandler> free
|
||||
# Is called when the plugin is deactivated
|
||||
static func unregister_context_menu() -> void:
|
||||
ScriptEditorContextMenuHandler.dispose(script_editor())
|
||||
|
||||
|
||||
static func _menu_popup() -> PopupMenu:
|
||||
return script_editor().get_child(0).get_child(0).get_child(0).get_popup()
|
||||
|
||||
|
||||
static func _print_menu(popup :PopupMenu):
|
||||
for itemIndex in popup.item_count:
|
||||
prints( "get_item_id", popup.get_item_id(itemIndex))
|
||||
prints( "get_item_accelerator", popup.get_item_accelerator(itemIndex))
|
||||
prints( "get_item_shortcut", popup.get_item_shortcut(itemIndex))
|
||||
prints( "get_item_text", popup.get_item_text(itemIndex))
|
||||
prints()
|
||||
121
addons/gdUnit4/src/ui/assets/PlayDebug.svg
Normal file
|
|
@ -0,0 +1,121 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
height="16"
|
||||
viewBox="0 0 16 16"
|
||||
width="16"
|
||||
version="1.1"
|
||||
id="svg42"
|
||||
sodipodi:docname="PlayDebug.svg"
|
||||
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)">
|
||||
<metadata
|
||||
id="metadata48">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs46" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1340"
|
||||
inkscape:window-height="974"
|
||||
id="namedview44"
|
||||
showgrid="false"
|
||||
inkscape:zoom="45.9375"
|
||||
inkscape:cx="8"
|
||||
inkscape:cy="8"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg42" />
|
||||
<path
|
||||
d="m4.9883 1039.4c-.5469.01-.98717.4511-.98828.998v8c.0001163.7986.89011 1.275 1.5547.8321l6-4c.59362-.3959.59362-1.2682 0-1.6641l-6-4c-.1678-.1111-.3652-.1689-.56641-.166z"
|
||||
fill="#e0e0e0"
|
||||
fill-rule="evenodd"
|
||||
transform="translate(0 -1036.4)"
|
||||
id="path40" />
|
||||
<path
|
||||
d="m 15.832434,14.798769 -1.041286,-0.97058 c -0.07959,-0.07421 -0.19257,-0.09528 -0.291865,-0.05442 l -0.087,0.03579 c 0.04043,-0.212222 0.06199,-0.433631 0.06199,-0.66146 0,-0.435934 -0.07848,-0.848814 -0.21851,-1.217445 l 0.288713,-0.11868 0.911465,0.849646 c 0.05386,0.0502 0.121146,0.07495 0.188173,0.07495 0.07754,0 0.154706,-0.03307 0.210467,-0.098 0.103977,-0.121007 0.09407,-0.306965 -0.02211,-0.415256 l -1.041286,-0.970676 c -0.07959,-0.07421 -0.192525,-0.09528 -0.291888,-0.05442 l -0.502946,0.206758 C 13.769501,11.041203 13.473167,10.7496 13.132642,10.561487 l 0.192735,-0.465016 0.794905,0.295669 c 0.146826,0.05464 0.308353,-0.02506 0.360799,-0.178092 C 14.533527,10.061117 14.457,9.8928238 14.310148,9.8382126 L 13.266038,9.449858 C 13.125891,9.3976969 12.970924,9.46789 12.911916,9.6102126 l -0.311902,0.7524784 c -0.119122,-0.0247 -0.241373,-0.03771 -0.366022,-0.03771 -0.124647,0 -0.24692,0.01301 -0.366042,0.03771 L 11.556022,9.6102126 C 11.497039,9.4678412 11.342026,9.3976967 11.20188,9.449858 l -1.043968,0.3883546 c -0.146827,0.054611 -0.2233562,0.2229044 -0.1709333,0.3758844 0.052422,0.152931 0.2140193,0.232704 0.3608223,0.178068 l 0.794765,-0.29567 0.192758,0.465065 c -0.340477,0.188114 -0.63679,0.479717 -0.863674,0.843399 L 9.9687753,11.198226 c -0.099319,-0.04082 -0.212279,-0.01982 -0.2918663,0.05442 l -1.0413333,0.970678 c -0.1162055,0.108292 -0.1261303,0.2942 -0.022131,0.415256 0.055763,0.06492 0.1329508,0.098 0.210468,0.098 0.067028,0 0.1342913,-0.02474 0.1881489,-0.07495 l 0.9115579,-0.849671 0.2886435,0.118679 c -0.140053,0.368657 -0.2185347,0.781487 -0.2185347,1.217446 0,0.227829 0.021567,0.449238 0.061995,0.661411 l -0.086877,-0.03575 c -0.099366,-0.04082 -0.2122788,-0.01977 -0.2918658,0.05442 L 8.6355763,14.79877 c -0.116182,0.108291 -0.1261304,0.294248 -0.022155,0.415256 0.055763,0.06492 0.1329506,0.098 0.2104915,0.098 0.067028,0 0.1342913,-0.0247 0.1881489,-0.0749 l 0.9115579,-0.849621 0.3587764,0.147491 c 0.384529,0.857463 1.114431,1.43643 1.951596,1.43643 0.837288,0 1.567142,-0.578967 1.951599,-1.436381 l 0.358893,-0.147516 0.91149,0.849574 c 0.05388,0.05025 0.121121,0.07495 0.188148,0.07495 0.07754,0 0.154729,-0.03307 0.210467,-0.098 0.103977,-0.121032 0.09405,-0.306989 -0.02216,-0.415281 z m -4.48662,-2.558912 c 0,-0.21036 0.163853,-0.381054 0.366019,-0.381054 0.202096,0 0.365927,0.170694 0.365927,0.381054 0,0.210409 -0.163831,0.381004 -0.365927,0.381004 -0.202166,0 -0.366019,-0.170595 -0.366019,-0.381004 z m 0.731923,2.292716 c -0.202143,0 -0.365927,-0.170841 -0.365927,-0.381152 0,-0.21031 0.163784,-0.380906 0.365927,-0.380906 0.201906,0 0.36576,0.170596 0.36576,0.380906 0,0.210311 -0.163854,0.381152 -0.36576,0.381152 z m 0.720136,-1.42658 c 0,-0.235351 0.183494,-0.426208 0.409557,-0.426208 0.226107,0 0.40934,0.190882 0.40934,0.426208 0,0.235717 -0.183233,0.42655 -0.40934,0.42655 -0.226063,0 -0.409557,-0.190833 -0.409557,-0.42655 z"
|
||||
id="path89"
|
||||
style="fill:#e0e0e0;fill-opacity:1;stroke-width:0.0240045" />
|
||||
<g
|
||||
id="g91"
|
||||
transform="matrix(0.02351861,0,0,0.02450033,8.5414778,8.8553821)"
|
||||
style="fill:#e0e0e0;fill-opacity:1" />
|
||||
<g
|
||||
id="g93"
|
||||
transform="matrix(0.02351861,0,0,0.02450033,8.5414778,8.8553821)"
|
||||
style="fill:#e0e0e0;fill-opacity:1" />
|
||||
<g
|
||||
id="g95"
|
||||
transform="matrix(0.02351861,0,0,0.02450033,8.5414778,8.8553821)"
|
||||
style="fill:#e0e0e0;fill-opacity:1" />
|
||||
<g
|
||||
id="g97"
|
||||
transform="matrix(0.02351861,0,0,0.02450033,8.5414778,8.8553821)"
|
||||
style="fill:#e0e0e0;fill-opacity:1" />
|
||||
<g
|
||||
id="g99"
|
||||
transform="matrix(0.02351861,0,0,0.02450033,8.5414778,8.8553821)"
|
||||
style="fill:#e0e0e0;fill-opacity:1" />
|
||||
<g
|
||||
id="g101"
|
||||
transform="matrix(0.02351861,0,0,0.02450033,8.5414778,8.8553821)"
|
||||
style="fill:#e0e0e0;fill-opacity:1" />
|
||||
<g
|
||||
id="g103"
|
||||
transform="matrix(0.02351861,0,0,0.02450033,8.5414778,8.8553821)"
|
||||
style="fill:#e0e0e0;fill-opacity:1" />
|
||||
<g
|
||||
id="g105"
|
||||
transform="matrix(0.02351861,0,0,0.02450033,8.5414778,8.8553821)"
|
||||
style="fill:#e0e0e0;fill-opacity:1" />
|
||||
<g
|
||||
id="g107"
|
||||
transform="matrix(0.02351861,0,0,0.02450033,8.5414778,8.8553821)"
|
||||
style="fill:#e0e0e0;fill-opacity:1" />
|
||||
<g
|
||||
id="g109"
|
||||
transform="matrix(0.02351861,0,0,0.02450033,8.5414778,8.8553821)"
|
||||
style="fill:#e0e0e0;fill-opacity:1" />
|
||||
<g
|
||||
id="g111"
|
||||
transform="matrix(0.02351861,0,0,0.02450033,8.5414778,8.8553821)"
|
||||
style="fill:#e0e0e0;fill-opacity:1" />
|
||||
<g
|
||||
id="g113"
|
||||
transform="matrix(0.02351861,0,0,0.02450033,8.5414778,8.8553821)"
|
||||
style="fill:#e0e0e0;fill-opacity:1" />
|
||||
<g
|
||||
id="g115"
|
||||
transform="matrix(0.02351861,0,0,0.02450033,8.5414778,8.8553821)"
|
||||
style="fill:#e0e0e0;fill-opacity:1" />
|
||||
<g
|
||||
id="g117"
|
||||
transform="matrix(0.02351861,0,0,0.02450033,8.5414778,8.8553821)"
|
||||
style="fill:#e0e0e0;fill-opacity:1" />
|
||||
<g
|
||||
id="g119"
|
||||
transform="matrix(0.02351861,0,0,0.02450033,8.5414778,8.8553821)"
|
||||
style="fill:#e0e0e0;fill-opacity:1" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 6.6 KiB |
38
addons/gdUnit4/src/ui/assets/PlayDebug.svg.import
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://tkrsqx2oxw6o"
|
||||
path="res://.godot/imported/PlayDebug.svg-d3618ec14e2e4cb6b467c3249916f8dd.ctex"
|
||||
metadata={
|
||||
"has_editor_variant": true,
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/gdUnit4/src/ui/assets/PlayDebug.svg"
|
||||
dest_files=["res://.godot/imported/PlayDebug.svg-d3618ec14e2e4cb6b467c3249916f8dd.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
svg/scale=1.0
|
||||
editor/scale_with_editor_scale=true
|
||||
editor/convert_colors_with_editor_theme=true
|
||||
61
addons/gdUnit4/src/ui/assets/PlayOverall.svg
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
height="16"
|
||||
viewBox="0 0 16 16"
|
||||
width="16"
|
||||
version="1.1"
|
||||
id="svg4"
|
||||
sodipodi:docname="Play.svg"
|
||||
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)">
|
||||
<metadata
|
||||
id="metadata10">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs8" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="2162"
|
||||
inkscape:window-height="1143"
|
||||
id="namedview6"
|
||||
showgrid="false"
|
||||
inkscape:zoom="45.9375"
|
||||
inkscape:cx="5.1591837"
|
||||
inkscape:cy="7.0663173"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg4" />
|
||||
<path
|
||||
d="m 7.1651707,3 c -0.5469,0.01 -0.98717,0.4511 -0.98828,0.998 v 8 c 1.163e-4,0.7986 0.89011,1.275 1.5547,0.8321 l 6.0000003,-4 c 0.59362,-0.3959 0.59362,-1.2682 0,-1.6641 l -6.0000003,-4 C 7.5637907,3.0549 7.3663907,2.9971 7.1651807,3 Z"
|
||||
fill="#e0e0e0"
|
||||
fill-rule="evenodd"
|
||||
id="path2" />
|
||||
<path
|
||||
d="m 3.0835609,2.9675742 c -0.5469004,0.01 -0.9871704,0.4511 -0.9882804,0.998 v 7.9999998 c 1.163e-4,0.7986 0.8901104,1.275 1.5547004,0.8321 l 6,-3.9999998 c 0.5936201,-0.3959 0.5936201,-1.2682 0,-1.6641 l -6,-4 c -0.1678,-0.1111 -0.3652,-0.1689 -0.56641,-0.166 z"
|
||||
fill="#e0e0e0"
|
||||
fill-rule="evenodd"
|
||||
id="path2-5"
|
||||
style="mix-blend-mode:multiply" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.1 KiB |
38
addons/gdUnit4/src/ui/assets/PlayOverall.svg.import
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://de1q5raia84bn"
|
||||
path="res://.godot/imported/PlayOverall.svg-d07157735d6bab5d74465733e8213328.ctex"
|
||||
metadata={
|
||||
"has_editor_variant": true,
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/gdUnit4/src/ui/assets/PlayOverall.svg"
|
||||
dest_files=["res://.godot/imported/PlayOverall.svg-d07157735d6bab5d74465733e8213328.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
svg/scale=1.0
|
||||
editor/scale_with_editor_scale=true
|
||||
editor/convert_colors_with_editor_theme=true
|
||||
62
addons/gdUnit4/src/ui/assets/TestCase.svg
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="32"
|
||||
height="32"
|
||||
version="1.1"
|
||||
id="svg6"
|
||||
sodipodi:docname="_TestCase.svg"
|
||||
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)">
|
||||
<metadata
|
||||
id="metadata12">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs10" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1527"
|
||||
inkscape:window-height="1058"
|
||||
id="namedview8"
|
||||
showgrid="false"
|
||||
inkscape:zoom="22.96875"
|
||||
inkscape:cx="9.3387755"
|
||||
inkscape:cy="16"
|
||||
inkscape:window-x="219"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg6"
|
||||
inkscape:document-rotation="0" />
|
||||
<path
|
||||
d="M25.396 9.18c-.736-1.016-4.435-1.245-6.172-1.093.068-2.126.983-3.676-1.186-5.532M5.059 1.536H14.5c2.41-.063 3.955 1.182 5.576 2.652l3.865 3.433c1.994 1.779 2.785 3.457 3 5.88v16.965H5.059z"
|
||||
fill="#eff1f5"
|
||||
stroke="#9f9fa1"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
id="path2" />
|
||||
<path
|
||||
d="M15.057 11.397l-.532 2.13a4.716 4.716 0 0 0-.65.263l-1.876-1.126-1.334 1.334 1.128 1.881a4.716 4.716 0 0 0-.27.647l-2.125.53v1.887l2.13.532a4.716 4.716 0 0 0 .263.649L10.665 22 12 23.335l1.881-1.127a4.716 4.716 0 0 0 .647.269l.53 2.125h1.887l.532-2.13a4.716 4.716 0 0 0 .649-.263l1.877 1.126 1.334-1.334-1.128-1.88a4.716 4.716 0 0 0 .27-.647l2.125-.531v-1.886l-2.13-.533a4.716 4.716 0 0 0-.263-.648l1.126-1.878-1.334-1.333-1.881 1.127a4.716 4.716 0 0 0-.647-.269l-.53-2.126h-1.887zm.944 4.716A1.887 1.887 0 0 1 17.887 18a1.887 1.887 0 0 1-1.886 1.886A1.887 1.887 0 0 1 14.114 18a1.887 1.887 0 0 1 1.887-1.887z"
|
||||
fill="#478cbf"
|
||||
id="path4" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.4 KiB |
38
addons/gdUnit4/src/ui/assets/TestCase.svg.import
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://chwatiivlcovb"
|
||||
path="res://.godot/imported/TestCase.svg-f6ee172ad0e725d3612bec1b6f3c8078.ctex"
|
||||
metadata={
|
||||
"has_editor_variant": true,
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/gdUnit4/src/ui/assets/TestCase.svg"
|
||||
dest_files=["res://.godot/imported/TestCase.svg-f6ee172ad0e725d3612bec1b6f3c8078.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
svg/scale=1.0
|
||||
editor/scale_with_editor_scale=true
|
||||
editor/convert_colors_with_editor_theme=true
|
||||
65
addons/gdUnit4/src/ui/assets/TestCaseError.svg
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="32"
|
||||
height="32"
|
||||
version="1.1"
|
||||
id="svg6"
|
||||
sodipodi:docname="TestCaseFail.svg"
|
||||
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)">
|
||||
<metadata
|
||||
id="metadata12">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs10" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1527"
|
||||
inkscape:window-height="1058"
|
||||
id="namedview8"
|
||||
showgrid="false"
|
||||
inkscape:zoom="22.96875"
|
||||
inkscape:cx="9.3387755"
|
||||
inkscape:cy="16"
|
||||
inkscape:window-x="219"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg6" />
|
||||
<path
|
||||
d="M25.396 9.18c-.736-1.016-4.435-1.245-6.172-1.093.068-2.126.983-3.676-1.186-5.532M5.059 1.536H14.5c2.41-.063 3.955 1.182 5.576 2.652l3.865 3.433c1.994 1.779 2.785 3.457 3 5.88v16.965H5.059z"
|
||||
fill="#eff1f5"
|
||||
stroke="#9f9fa1"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
id="path2" />
|
||||
<path
|
||||
d="M15.057 11.397l-.532 2.13a4.716 4.716 0 0 0-.65.263l-1.876-1.126-1.334 1.334 1.128 1.881a4.716 4.716 0 0 0-.27.647l-2.125.53v1.887l2.13.532a4.716 4.716 0 0 0 .263.649L10.665 22 12 23.335l1.881-1.127a4.716 4.716 0 0 0 .647.269l.53 2.125h1.887l.532-2.13a4.716 4.716 0 0 0 .649-.263l1.877 1.126 1.334-1.334-1.128-1.88a4.716 4.716 0 0 0 .27-.647l2.125-.531v-1.886l-2.13-.533a4.716 4.716 0 0 0-.263-.648l1.126-1.878-1.334-1.333-1.881 1.127a4.716 4.716 0 0 0-.647-.269l-.53-2.126h-1.887zm.944 4.716A1.887 1.887 0 0 1 17.887 18a1.887 1.887 0 0 1-1.886 1.886A1.887 1.887 0 0 1 14.114 18a1.887 1.887 0 0 1 1.887-1.887z"
|
||||
fill="#478cbf"
|
||||
id="path4" />
|
||||
<path
|
||||
d="m 7.0965983,17.990476 c -3.866,0 -6.99999997,3.134 -6.99999997,7 0,3.866 3.13399997,7 6.99999997,7 3.8659997,0 6.9999997,-3.134 6.9999997,-7 0,-3.866 -3.134,-7 -6.9999997,-7 z m -2.8281,2.7578 2.8281,2.8281 2.8281,-2.8281 1.4140997,1.4141 -2.8280997,2.8281 2.8280997,2.8281 -1.4140997,1.4141 -2.8281,-2.8281 -2.8281,2.8281 -1.4141,-1.4141 2.8281,-2.8281 -2.8281,-2.8281 z"
|
||||
fill="#ff5d5d"
|
||||
id="path14" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.8 KiB |
38
addons/gdUnit4/src/ui/assets/TestCaseError.svg.import
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bafys3jjkjhqw"
|
||||
path="res://.godot/imported/TestCaseError.svg-373307086979f3f0e012eb3660cc91ec.ctex"
|
||||
metadata={
|
||||
"has_editor_variant": true,
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/gdUnit4/src/ui/assets/TestCaseError.svg"
|
||||
dest_files=["res://.godot/imported/TestCaseError.svg-373307086979f3f0e012eb3660cc91ec.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
svg/scale=1.0
|
||||
editor/scale_with_editor_scale=true
|
||||
editor/convert_colors_with_editor_theme=true
|
||||
66
addons/gdUnit4/src/ui/assets/TestCaseFailed.svg
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="32"
|
||||
height="32"
|
||||
version="1.1"
|
||||
id="svg6"
|
||||
sodipodi:docname="TestCaseError.svg"
|
||||
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)">
|
||||
<metadata
|
||||
id="metadata12">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs10" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1527"
|
||||
inkscape:window-height="1058"
|
||||
id="namedview8"
|
||||
showgrid="false"
|
||||
inkscape:zoom="22.96875"
|
||||
inkscape:cx="9.3387755"
|
||||
inkscape:cy="16"
|
||||
inkscape:window-x="219"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg6" />
|
||||
<path
|
||||
d="M25.396 9.18c-.736-1.016-4.435-1.245-6.172-1.093.068-2.126.983-3.676-1.186-5.532M5.059 1.536H14.5c2.41-.063 3.955 1.182 5.576 2.652l3.865 3.433c1.994 1.779 2.785 3.457 3 5.88v16.965H5.059z"
|
||||
fill="#eff1f5"
|
||||
stroke="#9f9fa1"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
id="path2" />
|
||||
<path
|
||||
d="M15.057 11.397l-.532 2.13a4.716 4.716 0 0 0-.65.263l-1.876-1.126-1.334 1.334 1.128 1.881a4.716 4.716 0 0 0-.27.647l-2.125.53v1.887l2.13.532a4.716 4.716 0 0 0 .263.649L10.665 22 12 23.335l1.881-1.127a4.716 4.716 0 0 0 .647.269l.53 2.125h1.887l.532-2.13a4.716 4.716 0 0 0 .649-.263l1.877 1.126 1.334-1.334-1.128-1.88a4.716 4.716 0 0 0 .27-.647l2.125-.531v-1.886l-2.13-.533a4.716 4.716 0 0 0-.263-.648l1.126-1.878-1.334-1.333-1.881 1.127a4.716 4.716 0 0 0-.647-.269l-.53-2.126h-1.887zm.944 4.716A1.887 1.887 0 0 1 17.887 18a1.887 1.887 0 0 1-1.886 1.886A1.887 1.887 0 0 1 14.114 18a1.887 1.887 0 0 1 1.887-1.887z"
|
||||
fill="#478cbf"
|
||||
id="path4" />
|
||||
<path
|
||||
d="m 7.0965983,17.990476 c -3.866,0 -6.99999997,3.134 -6.99999997,7 0,3.866 3.13399997,7 6.99999997,7 3.8659997,0 6.9999997,-3.134 6.9999997,-7 0,-3.866 -3.134,-7 -6.9999997,-7 z m -2.8281,2.7578 2.8281,2.8281 2.8281,-2.8281 1.4140997,1.4141 -2.8280997,2.8281 2.8280997,2.8281 -1.4140997,1.4141 -2.8281,-2.8281 -2.8281,2.8281 -1.4141,-1.4141 2.8281,-2.8281 -2.8281,-2.8281 z"
|
||||
fill="#ff5d5d"
|
||||
id="path14"
|
||||
style="fill:#0000ff" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.8 KiB |
38
addons/gdUnit4/src/ui/assets/TestCaseFailed.svg.import
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b4ej20o0cedro"
|
||||
path="res://.godot/imported/TestCaseFailed.svg-df47525fd14d5e4149690cacd8eb08db.ctex"
|
||||
metadata={
|
||||
"has_editor_variant": true,
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/gdUnit4/src/ui/assets/TestCaseFailed.svg"
|
||||
dest_files=["res://.godot/imported/TestCaseFailed.svg-df47525fd14d5e4149690cacd8eb08db.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
svg/scale=1.0
|
||||
editor/scale_with_editor_scale=true
|
||||
editor/convert_colors_with_editor_theme=true
|
||||
66
addons/gdUnit4/src/ui/assets/TestCaseSuccess.svg
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="32"
|
||||
height="32"
|
||||
version="1.1"
|
||||
id="svg6"
|
||||
sodipodi:docname="TestCaseSuccess.svg"
|
||||
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)">
|
||||
<metadata
|
||||
id="metadata12">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs10" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1527"
|
||||
inkscape:window-height="1058"
|
||||
id="namedview8"
|
||||
showgrid="false"
|
||||
inkscape:zoom="22.96875"
|
||||
inkscape:cx="9.3387755"
|
||||
inkscape:cy="16"
|
||||
inkscape:window-x="219"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg6" />
|
||||
<path
|
||||
d="M25.396 9.18c-.736-1.016-4.435-1.245-6.172-1.093.068-2.126.983-3.676-1.186-5.532M5.059 1.536H14.5c2.41-.063 3.955 1.182 5.576 2.652l3.865 3.433c1.994 1.779 2.785 3.457 3 5.88v16.965H5.059z"
|
||||
fill="#eff1f5"
|
||||
stroke="#9f9fa1"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
id="path2" />
|
||||
<path
|
||||
d="M15.057 11.397l-.532 2.13a4.716 4.716 0 0 0-.65.263l-1.876-1.126-1.334 1.334 1.128 1.881a4.716 4.716 0 0 0-.27.647l-2.125.53v1.887l2.13.532a4.716 4.716 0 0 0 .263.649L10.665 22 12 23.335l1.881-1.127a4.716 4.716 0 0 0 .647.269l.53 2.125h1.887l.532-2.13a4.716 4.716 0 0 0 .649-.263l1.877 1.126 1.334-1.334-1.128-1.88a4.716 4.716 0 0 0 .27-.647l2.125-.531v-1.886l-2.13-.533a4.716 4.716 0 0 0-.263-.648l1.126-1.878-1.334-1.333-1.881 1.127a4.716 4.716 0 0 0-.647-.269l-.53-2.126h-1.887zm.944 4.716A1.887 1.887 0 0 1 17.887 18a1.887 1.887 0 0 1-1.886 1.886A1.887 1.887 0 0 1 14.114 18a1.887 1.887 0 0 1 1.887-1.887z"
|
||||
fill="#478cbf"
|
||||
id="path4" />
|
||||
<path
|
||||
d="m 7.2929,18.0439 c -3.8659996,0 -6.9999996,3.134 -6.9999996,7 0,3.866 3.134,7 6.9999996,7 3.866,0 7,-3.134 7,-7 0,-3.866 -3.134,-7 -7,-7 z m 3.293,3.877 L 12,23.335 6.293,29.044 2.5860004,25.335 4.0001,23.9209 l 2.293,2.293 z"
|
||||
fill="#45ff8b"
|
||||
id="path39"
|
||||
style="fill:#008000" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.7 KiB |
38
addons/gdUnit4/src/ui/assets/TestCaseSuccess.svg.import
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://4yciagtse0nx"
|
||||
path="res://.godot/imported/TestCaseSuccess.svg-aaf852c6aeda68c93a410c7480502895.ctex"
|
||||
metadata={
|
||||
"has_editor_variant": true,
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/gdUnit4/src/ui/assets/TestCaseSuccess.svg"
|
||||
dest_files=["res://.godot/imported/TestCaseSuccess.svg-aaf852c6aeda68c93a410c7480502895.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
svg/scale=1.0
|
||||
editor/scale_with_editor_scale=true
|
||||
editor/convert_colors_with_editor_theme=true
|
||||
12
addons/gdUnit4/src/ui/assets/TestCase_error_orphan.tres
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
[gd_resource type="AnimatedTexture" load_steps=3 format=2]
|
||||
|
||||
[ext_resource path="res://addons/gdUnit4/src/ui/assets/orphan/TestCaseError1.svg" type="Texture2D" id=1]
|
||||
[ext_resource path="res://addons/gdUnit4/src/ui/assets/orphan/TestCaseError2.svg" type="Texture2D" id=2]
|
||||
|
||||
[resource]
|
||||
flags = 4
|
||||
frames = 2
|
||||
fps = 1.1
|
||||
frame_0/texture = ExtResource( 1 )
|
||||
frame_1/texture = ExtResource( 2 )
|
||||
frame_1/delay_sec = 0.0
|
||||
12
addons/gdUnit4/src/ui/assets/TestCase_failed_orphan.tres
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
[gd_resource type="AnimatedTexture" load_steps=3 format=2]
|
||||
|
||||
[ext_resource path="res://addons/gdUnit4/src/ui/assets/orphan/TestCaseFailed2.svg" type="Texture2D" id=1]
|
||||
[ext_resource path="res://addons/gdUnit4/src/ui/assets/orphan/TestCaseFailed1.svg" type="Texture2D" id=2]
|
||||
|
||||
[resource]
|
||||
flags = 4
|
||||
frames = 2
|
||||
fps = 1.1
|
||||
frame_0/texture = ExtResource( 2 )
|
||||
frame_1/texture = ExtResource( 1 )
|
||||
frame_1/delay_sec = 0.0
|
||||
12
addons/gdUnit4/src/ui/assets/TestCase_success_orphan.tres
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
[gd_resource type="AnimatedTexture" load_steps=3 format=2]
|
||||
|
||||
[ext_resource path="res://addons/gdUnit4/src/ui/assets/orphan/TestCaseSuccess1.svg" type="Texture2D" id=1]
|
||||
[ext_resource path="res://addons/gdUnit4/src/ui/assets/orphan/TestCaseSuccess2.svg" type="Texture2D" id=2]
|
||||
|
||||
[resource]
|
||||
flags = 4
|
||||
frames = 2
|
||||
fps = 1.1
|
||||
frame_0/texture = ExtResource( 1 )
|
||||
frame_1/texture = ExtResource( 2 )
|
||||
frame_1/delay_sec = 0.0
|
||||
70
addons/gdUnit4/src/ui/assets/TestSuite.svg
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="32"
|
||||
height="32"
|
||||
version="1.1"
|
||||
id="svg6"
|
||||
sodipodi:docname="GdUnitTestSuite.svg"
|
||||
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)">
|
||||
<metadata
|
||||
id="metadata12">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs10" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1527"
|
||||
inkscape:window-height="1058"
|
||||
id="namedview8"
|
||||
showgrid="false"
|
||||
inkscape:zoom="22.96875"
|
||||
inkscape:cx="9.3387755"
|
||||
inkscape:cy="14.258503"
|
||||
inkscape:window-x="219"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg6" />
|
||||
<path
|
||||
d="m 27.851947,15.436304 c -0.49781,-0.76277 -2.999715,-0.934693 -4.174576,-0.820578 0.04599,-1.596111 0.664876,-2.759786 -0.802177,-4.153192 M 14.096547,9.697512 h 6.385638 c 1.63006,-0.047298 2.675056,0.887395 3.771457,1.991009 l 2.614182,2.577352 c 1.348689,1.335598 1.8837,2.595369 2.02912,4.414455 V 31.416934 H 14.096547 Z"
|
||||
fill="#eff1f5"
|
||||
stroke="#9f9fa1"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
id="path2-4"
|
||||
style="stroke-width:0.712595" />
|
||||
<path
|
||||
d="M 21.016649,7.8273747 C 20.376114,6.8985441 17.1569,6.6891916 15.645202,6.8281505 15.704381,4.8845543 16.5007,3.4675392 14.613035,1.770778 M 3.3175034,0.83920479 h 8.2164356 c 2.097405,-0.0575948 3.442008,1.08058831 4.852753,2.42446711 l 3.363682,3.1384598 c 1.735364,1.6263677 2.423766,3.1604004 2.610878,5.3755153 V 27.287105 H 3.3175034 Z"
|
||||
fill="#eff1f5"
|
||||
stroke="#9f9fa1"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
id="path2"
|
||||
style="stroke-width:0.891978" />
|
||||
<path
|
||||
d="m 12.208547,9.697512 -0.532,2.13 a 4.716,4.716 0 0 0 -0.65,0.263 l -1.8759999,-1.126 -1.334,1.334 1.128,1.881 a 4.716,4.716 0 0 0 -0.27,0.647 l -2.125,0.53 v 1.887 l 2.13,0.532 a 4.716,4.716 0 0 0 0.263,0.649 l -1.126,1.876 1.335,1.335 1.8809999,-1.127 a 4.716,4.716 0 0 0 0.647,0.269 l 0.53,2.125 h 1.887 l 0.532,-2.13 a 4.716,4.716 0 0 0 0.649,-0.263 l 1.877,1.126 1.334,-1.334 -1.128,-1.88 a 4.716,4.716 0 0 0 0.27,-0.647 l 2.125,-0.531 v -1.886 l -2.13,-0.533 a 4.716,4.716 0 0 0 -0.263,-0.648 l 1.126,-1.878 -1.334,-1.333 -1.881,1.127 a 4.716,4.716 0 0 0 -0.647,-0.269 l -0.53,-2.126 h -1.887 z m 0.944,4.716 a 1.887,1.887 0 0 1 1.886,1.887 1.887,1.887 0 0 1 -1.886,1.886 1.887,1.887 0 0 1 -1.887,-1.886 1.887,1.887 0 0 1 1.887,-1.887 z"
|
||||
fill="#478cbf"
|
||||
id="path4" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.2 KiB |
38
addons/gdUnit4/src/ui/assets/TestSuite.svg.import
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bo6xbdqouosbs"
|
||||
path="res://.godot/imported/TestSuite.svg-f3ba31540dedae19e6c1b7b050a1b5d7.ctex"
|
||||
metadata={
|
||||
"has_editor_variant": true,
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/gdUnit4/src/ui/assets/TestSuite.svg"
|
||||
dest_files=["res://.godot/imported/TestSuite.svg-f3ba31540dedae19e6c1b7b050a1b5d7.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
svg/scale=1.0
|
||||
editor/scale_with_editor_scale=true
|
||||
editor/convert_colors_with_editor_theme=true
|
||||
151
addons/gdUnit4/src/ui/assets/clock.svg
Normal file
|
|
@ -0,0 +1,151 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
id="Capa_1"
|
||||
x="0px"
|
||||
y="0px"
|
||||
width="12"
|
||||
height="12"
|
||||
viewBox="0 0 12 12"
|
||||
xml:space="preserve"
|
||||
sodipodi:docname="clock.svg"
|
||||
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)"><metadata
|
||||
id="metadata111"><rdf:RDF><cc:Work
|
||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
|
||||
id="defs109" /><sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1822"
|
||||
inkscape:window-height="1030"
|
||||
id="namedview107"
|
||||
showgrid="false"
|
||||
inkscape:zoom="66.499984"
|
||||
inkscape:cx="6.0000003"
|
||||
inkscape:cy="6.3232657"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="Capa_1" />
|
||||
<g
|
||||
id="g74"
|
||||
transform="matrix(0.01960807,0,0,0.0196288,0,0.31691904)"
|
||||
style="fill:#800080">
|
||||
<g
|
||||
id="g72"
|
||||
style="fill:#800080">
|
||||
<path
|
||||
d="m 254.229,180.732 c -9.465,-13.319 -27.982,-16.487 -41.34,-6.993 -13.349,9.474 -16.487,27.992 -7.003,41.35 l 56.503,79.552 c -0.618,2.933 -0.971,5.983 -0.971,9.111 0,24.226 19.616,43.861 43.831,43.861 12.75,0 24.127,-5.521 32.14,-14.201 h 63.565 c 16.379,0 29.648,-13.28 29.648,-29.65 0,-16.369 -13.27,-29.649 -29.648,-29.649 H 337.38 c -6.807,-7.375 -16.065,-12.299 -26.511,-13.652 z"
|
||||
id="path60"
|
||||
style="fill:#800080" />
|
||||
<path
|
||||
d="m 514.216,209.282 c 7.797,16.909 13.564,34.926 17.026,53.767 1.108,6.062 6.649,10.229 12.789,9.671 l 55.238,-5.081 c 3.295,-0.294 6.307,-1.952 8.327,-4.57 2.03,-2.629 2.854,-5.963 2.314,-9.229 -5.316,-32.022 -15.585,-62.339 -30.022,-90.193 -1.628,-3.168 -4.59,-5.424 -8.071,-6.179 -3.481,-0.735 -7.11,0.098 -9.906,2.315 l -44.302,35.19 c -4.266,3.423 -5.688,9.327 -3.393,14.309 z"
|
||||
id="path62"
|
||||
style="fill:#800080" />
|
||||
<path
|
||||
d="m 472.974,474.026 c -4.512,-3.09 -10.533,-2.707 -14.623,0.922 -35.642,31.64 -81.209,52.314 -131.416,56.66 V 504.97 c 0,-10.926 -8.847,-19.763 -19.763,-19.763 -10.916,0 -19.772,8.847 -19.772,19.763 v 26.619 C 177.395,522.095 89.566,434.275 80.072,324.261 H 106.7 c 10.916,0 19.763,-8.837 19.763,-19.764 0,-10.926 -8.847,-19.763 -19.763,-19.763 H 79.993 c 8.925,-103.345 87.045,-187.025 187.683,-204.67 5.688,-1 9.847,-5.924 9.847,-11.701 v -56.15 c 0,-3.433 -1.491,-6.719 -4.1,-8.975 -2.599,-2.255 -6.052,-3.285 -9.465,-2.795 C 114.771,21.433 0,149.542 0,304.497 0,474.144 137.526,611.67 307.172,611.67 c 83.338,0 158.721,-33.377 214.037,-87.28 2.55,-2.491 3.854,-5.983 3.55,-9.533 -0.313,-3.551 -2.177,-6.797 -5.119,-8.808 z"
|
||||
id="path64"
|
||||
style="fill:#800080" />
|
||||
<path
|
||||
d="m 346.668,80.044 c 7.769,1.354 15.398,3.089 22.862,5.208 5.718,1.618 11.711,-1.216 14.113,-6.64 l 22.539,-50.824 c 1.373,-3.089 1.354,-6.62 -0.04,-9.71 -1.383,-3.07 -4.021,-5.443 -7.247,-6.473 -15.663,-4.963 -31.847,-8.768 -48.48,-11.161 -3.413,-0.48 -6.886,0.54 -9.484,2.795 -2.608,2.256 -4.1,5.542 -4.1,8.994 v 56.081 c -0.01,5.807 4.139,10.74 9.837,11.73 z"
|
||||
id="path66"
|
||||
style="fill:#800080" />
|
||||
<path
|
||||
d="m 469.031,144.266 c 4.267,4.345 11.103,4.747 15.869,0.971 l 43.527,-34.592 c 2.618,-2.07 4.236,-5.159 4.472,-8.494 0.235,-3.345 -0.951,-6.601 -3.256,-9.033 -15.84,-16.644 -33.523,-31.483 -52.737,-44.243 -2.912,-1.932 -6.541,-2.491 -9.915,-1.51 -3.364,0.98 -6.13,3.394 -7.543,6.601 l -22.754,51.295 c -2.266,5.139 -0.667,11.161 3.874,14.437 10.161,7.394 19.665,15.633 28.463,24.568 z"
|
||||
id="path68"
|
||||
style="fill:#800080" />
|
||||
<path
|
||||
d="m 608.616,330.782 c -2.511,-2.569 -6.032,-3.884 -9.602,-3.55 l -56.444,5.188 c -5.385,0.481 -9.739,4.542 -10.642,9.867 -4.228,25.196 -12.603,48.941 -24.392,70.597 -2.913,5.346 -1.324,12.044 3.707,15.486 l 45.812,31.444 c 2.746,1.893 6.159,2.55 9.405,1.795 3.247,-0.755 6.022,-2.835 7.67,-5.728 19.782,-34.809 32.925,-73.824 37.78,-115.399 0.424,-3.58 -0.793,-7.129 -3.294,-9.7 z"
|
||||
id="path70"
|
||||
style="fill:#800080" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g76"
|
||||
transform="matrix(0.01960807,0,0,0.0196288,0,0.31691904)"
|
||||
style="fill:#800080">
|
||||
</g>
|
||||
<g
|
||||
id="g78"
|
||||
transform="matrix(0.01960807,0,0,0.0196288,0,0.31691904)"
|
||||
style="fill:#800080">
|
||||
</g>
|
||||
<g
|
||||
id="g80"
|
||||
transform="matrix(0.01960807,0,0,0.0196288,0,0.31691904)"
|
||||
style="fill:#800080">
|
||||
</g>
|
||||
<g
|
||||
id="g82"
|
||||
transform="matrix(0.01960807,0,0,0.0196288,0,0.31691904)"
|
||||
style="fill:#800080">
|
||||
</g>
|
||||
<g
|
||||
id="g84"
|
||||
transform="matrix(0.01960807,0,0,0.0196288,0,0.31691904)"
|
||||
style="fill:#800080">
|
||||
</g>
|
||||
<g
|
||||
id="g86"
|
||||
transform="matrix(0.01960807,0,0,0.0196288,0,0.31691904)"
|
||||
style="fill:#800080">
|
||||
</g>
|
||||
<g
|
||||
id="g88"
|
||||
transform="matrix(0.01960807,0,0,0.0196288,0,0.31691904)"
|
||||
style="fill:#800080">
|
||||
</g>
|
||||
<g
|
||||
id="g90"
|
||||
transform="matrix(0.01960807,0,0,0.0196288,0,0.31691904)"
|
||||
style="fill:#800080">
|
||||
</g>
|
||||
<g
|
||||
id="g92"
|
||||
transform="matrix(0.01960807,0,0,0.0196288,0,0.31691904)"
|
||||
style="fill:#800080">
|
||||
</g>
|
||||
<g
|
||||
id="g94"
|
||||
transform="matrix(0.01960807,0,0,0.0196288,0,0.31691904)"
|
||||
style="fill:#800080">
|
||||
</g>
|
||||
<g
|
||||
id="g96"
|
||||
transform="matrix(0.01960807,0,0,0.0196288,0,0.31691904)"
|
||||
style="fill:#800080">
|
||||
</g>
|
||||
<g
|
||||
id="g98"
|
||||
transform="matrix(0.01960807,0,0,0.0196288,0,0.31691904)"
|
||||
style="fill:#800080">
|
||||
</g>
|
||||
<g
|
||||
id="g100"
|
||||
transform="matrix(0.01960807,0,0,0.0196288,0,0.31691904)"
|
||||
style="fill:#800080">
|
||||
</g>
|
||||
<g
|
||||
id="g102"
|
||||
transform="matrix(0.01960807,0,0,0.0196288,0,0.31691904)"
|
||||
style="fill:#800080">
|
||||
</g>
|
||||
<g
|
||||
id="g104"
|
||||
transform="matrix(0.01960807,0,0,0.0196288,0,0.31691904)"
|
||||
style="fill:#800080">
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 6 KiB |
38
addons/gdUnit4/src/ui/assets/clock.svg.import
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dmu35vmwstrwg"
|
||||
path="res://.godot/imported/clock.svg-b16f5d68e1dedc017f1ce1df1e590248.ctex"
|
||||
metadata={
|
||||
"has_editor_variant": true,
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/gdUnit4/src/ui/assets/clock.svg"
|
||||
dest_files=["res://.godot/imported/clock.svg-b16f5d68e1dedc017f1ce1df1e590248.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
svg/scale=1.0
|
||||
editor/scale_with_editor_scale=true
|
||||
editor/convert_colors_with_editor_theme=true
|
||||
57
addons/gdUnit4/src/ui/assets/errors.svg
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="12"
|
||||
height="12"
|
||||
version="1.1"
|
||||
id="svg6"
|
||||
sodipodi:docname="failed_icon.svg"
|
||||
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)">
|
||||
<metadata
|
||||
id="metadata12">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs10" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1527"
|
||||
inkscape:window-height="1058"
|
||||
id="namedview8"
|
||||
showgrid="false"
|
||||
inkscape:zoom="22.96875"
|
||||
inkscape:cx="9.6521245"
|
||||
inkscape:cy="12.517006"
|
||||
inkscape:window-x="219"
|
||||
inkscape:window-y="7"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg6"
|
||||
inkscape:document-rotation="0"
|
||||
inkscape:pagecheckerboard="true" />
|
||||
<path
|
||||
d="M 6,0 C 2.6862855,0 0,2.6862856 0,6.0000003 0,9.3137145 2.6862855,12 6,12 9.3137138,12 12,9.3137145 12,6.0000003 12,2.6862856 9.3137138,0 6,0 Z M 3.5759145,2.3638286 6,4.7879142 8.4240855,2.3638286 9.636171,3.5759144 7.2120855,6.0000003 9.636171,8.4240863 8.4240855,9.6361717 6,7.2120858 3.5759145,9.6361717 2.3638283,8.4240863 4.7879145,6.0000003 2.3638283,3.5759144 Z"
|
||||
fill="#ff5d5d"
|
||||
id="path79"
|
||||
style="fill:#ff0000;stroke-width:0.857145" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2 KiB |
38
addons/gdUnit4/src/ui/assets/errors.svg.import
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bftg23n8uymlk"
|
||||
path="res://.godot/imported/errors.svg-53aa38a5c5d3309095cd34f36952f16b.ctex"
|
||||
metadata={
|
||||
"has_editor_variant": true,
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/gdUnit4/src/ui/assets/errors.svg"
|
||||
dest_files=["res://.godot/imported/errors.svg-53aa38a5c5d3309095cd34f36952f16b.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
svg/scale=1.0
|
||||
editor/scale_with_editor_scale=true
|
||||
editor/convert_colors_with_editor_theme=true
|
||||
56
addons/gdUnit4/src/ui/assets/failures.svg
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="12"
|
||||
height="12"
|
||||
version="1.1"
|
||||
id="svg6"
|
||||
sodipodi:docname="error_icon.svg"
|
||||
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)">
|
||||
<metadata
|
||||
id="metadata12">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs10" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1527"
|
||||
inkscape:window-height="1058"
|
||||
id="namedview8"
|
||||
showgrid="false"
|
||||
inkscape:zoom="22.96875"
|
||||
inkscape:cx="9.6521245"
|
||||
inkscape:cy="14.258503"
|
||||
inkscape:window-x="181"
|
||||
inkscape:window-y="43"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg6"
|
||||
inkscape:document-rotation="0" />
|
||||
<path
|
||||
d="M 5.9999999,0 C 2.6862856,0 0,2.6862858 0,6.0000005 0,9.3137148 2.6862856,12 5.9999999,12 9.3137142,12 12,9.3137148 12,6.0000005 12,2.6862858 9.3137144,0 5.9999999,0 Z M 3.5759143,2.3638287 5.9999999,4.7879143 8.4240858,2.3638287 9.6361713,3.5759147 7.2120857,6.0000005 9.6361713,8.4240863 8.4240858,9.6361719 5.9999999,7.2120861 3.5759143,9.6361719 2.3638285,8.4240863 4.7879141,6.0000005 2.3638285,3.5759147 Z"
|
||||
fill="#ff5d5d"
|
||||
id="path79"
|
||||
style="fill:#0000ff;stroke-width:0.857145" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2 KiB |
38
addons/gdUnit4/src/ui/assets/failures.svg.import
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://davt5rxc7ao4s"
|
||||
path="res://.godot/imported/failures.svg-8659a946adf9b0616e867a8bf0855d3d.ctex"
|
||||
metadata={
|
||||
"has_editor_variant": true,
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/gdUnit4/src/ui/assets/failures.svg"
|
||||
dest_files=["res://.godot/imported/failures.svg-8659a946adf9b0616e867a8bf0855d3d.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
svg/scale=1.0
|
||||
editor/scale_with_editor_scale=true
|
||||
editor/convert_colors_with_editor_theme=true
|
||||
BIN
addons/gdUnit4/src/ui/assets/icon.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
34
addons/gdUnit4/src/ui/assets/icon.png.import
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://c7sk0yhd52lg3"
|
||||
path="res://.godot/imported/icon.png-3b59f326b0d0310df661a9bddfa24566.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/gdUnit4/src/ui/assets/icon.png"
|
||||
dest_files=["res://.godot/imported/icon.png-3b59f326b0d0310df661a9bddfa24566.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
69
addons/gdUnit4/src/ui/assets/orphan/TestCaseError1.svg
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="16"
|
||||
height="16"
|
||||
version="1.1"
|
||||
id="svg6"
|
||||
sodipodi:docname="TestCaseError1.svg"
|
||||
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)">
|
||||
<metadata
|
||||
id="metadata12">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs10" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1527"
|
||||
inkscape:window-height="1058"
|
||||
id="namedview8"
|
||||
showgrid="false"
|
||||
inkscape:zoom="22.96875"
|
||||
inkscape:cx="9.3387755"
|
||||
inkscape:cy="16"
|
||||
inkscape:window-x="219"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg6"
|
||||
inkscape:document-rotation="0" />
|
||||
<path
|
||||
d="M 14.819989,4.222794 C 14.388851,3.6982241 12.222036,3.5799894 11.204528,3.6584683 11.244362,2.5607956 11.780355,1.7605168 10.509789,0.80224754 M 2.9068963,0.27612874 h 5.530388 C 9.849024,0.24360124 10.754061,0.88640584 11.703617,1.6453799 l 2.264055,1.7724885 c 1.168054,0.9185135 1.63141,1.78488 1.757353,3.0358962 V 15.212946 H 2.9068963 Z"
|
||||
fill="#eff1f5"
|
||||
stroke="#9f9fa1"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
id="path2"
|
||||
style="stroke-width:0.54995" />
|
||||
<path
|
||||
d="M 8.763566,5.3674506 8.4519289,6.4671889 A 2.762558,2.4349128 0 0 0 8.0711692,6.6029782 L 6.9722381,6.0216143 6.1908021,6.7103704 6.8515667,7.6815476 A 2.762558,2.4349128 0 0 0 6.6934049,8.0155994 L 5.4486136,8.2892431 v 0.9742747 l 1.2477202,0.274677 a 2.762558,2.4349128 0 0 0 0.1540613,0.335084 l -0.659593,0.9685952 0.7820218,0.689273 1.10186,-0.58188 a 2.762558,2.4349128 0 0 0 0.3790023,0.138887 l 0.3104656,1.097156 h 1.1053747 l 0.3116375,-1.099738 a 2.762558,2.4349128 0 0 0 0.380174,-0.135789 l 1.099517,0.581364 0.781436,-0.688756 -0.660764,-0.9706612 a 2.762558,2.4349128 0 0 0 0.158161,-0.334052 l 1.244791,-0.27416 V 8.2897594 L 11.936759,8.0145667 A 2.762558,2.4349128 0 0 0 11.782698,7.6799985 L 12.442291,6.7103704 11.660855,6.0221306 10.558994,6.6040104 A 2.762558,2.4349128 0 0 0 10.179992,6.4651234 L 9.8695265,5.3674506 H 8.7641518 Z M 9.3165462,7.8023635 A 1.1053747,0.97427488 0 0 1 10.421335,8.7766384 1.1053747,0.97427488 0 0 1 9.3165462,9.7503968 1.1053747,0.97427488 0 0 1 8.2111716,8.7766384 1.1053747,0.97427488 0 0 1 9.3165462,7.8023635 Z"
|
||||
fill="#478cbf"
|
||||
id="path4"
|
||||
style="stroke-width:0.54995" />
|
||||
<path
|
||||
d="M 4.100489,8.771721 C 1.8358475,8.771721 0,10.389834 0,12.385884 c 0,1.99605 1.8358475,3.614162 4.100489,3.614162 2.2646413,0 4.1004888,-1.618112 4.1004888,-3.614162 0,-1.99605 -1.8358475,-3.614163 -4.1004888,-3.614163 z m -1.6566561,1.423877 1.6566561,1.460173 1.6566561,-1.460173 0.8283572,0.730112 -1.656656,1.460174 1.656656,1.460173 L 5.7571451,14.57617 4.100489,13.115996 2.4438329,14.57617 1.6154755,13.846057 3.2721316,12.385884 1.6154755,10.92571 Z"
|
||||
fill="#ff5d5d"
|
||||
id="path14"
|
||||
style="stroke-width:0.54995" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.6 KiB |
|
|
@ -0,0 +1,38 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bdl7p3rf6wpfw"
|
||||
path="res://.godot/imported/TestCaseError1.svg-43d13ea25f9f8c66fecf5a0ab4a752ad.ctex"
|
||||
metadata={
|
||||
"has_editor_variant": true,
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/gdUnit4/src/ui/assets/orphan/TestCaseError1.svg"
|
||||
dest_files=["res://.godot/imported/TestCaseError1.svg-43d13ea25f9f8c66fecf5a0ab4a752ad.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
svg/scale=1.0
|
||||
editor/scale_with_editor_scale=true
|
||||
editor/convert_colors_with_editor_theme=true
|
||||
166
addons/gdUnit4/src/ui/assets/orphan/TestCaseError2.svg
Normal file
|
|
@ -0,0 +1,166 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="16"
|
||||
height="16"
|
||||
version="1.1"
|
||||
id="svg6"
|
||||
sodipodi:docname="TestCaseError2.svg"
|
||||
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)">
|
||||
<metadata
|
||||
id="metadata12">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs10" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1527"
|
||||
inkscape:window-height="1058"
|
||||
id="namedview8"
|
||||
showgrid="false"
|
||||
inkscape:zoom="22.96875"
|
||||
inkscape:cx="9.3387755"
|
||||
inkscape:cy="16"
|
||||
inkscape:window-x="219"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg6"
|
||||
inkscape:document-rotation="0" />
|
||||
<path
|
||||
d="M 14.819989,4.222794 C 14.388851,3.6982241 12.222036,3.5799894 11.204528,3.6584683 11.244362,2.5607956 11.780355,1.7605168 10.509789,0.80224754 M 2.9068963,0.27612874 h 5.530388 C 9.849024,0.24360124 10.754061,0.88640584 11.703617,1.6453799 l 2.264055,1.7724885 c 1.168054,0.9185135 1.63141,1.78488 1.757353,3.0358962 V 15.212946 H 2.9068963 Z"
|
||||
fill="#eff1f5"
|
||||
stroke="#9f9fa1"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
id="path2"
|
||||
style="stroke-width:0.54995" />
|
||||
<path
|
||||
d="M 8.763566,5.3674506 8.4519289,6.4671889 A 2.762558,2.4349128 0 0 0 8.0711692,6.6029782 L 6.9722381,6.0216143 6.1908021,6.7103704 6.8515667,7.6815476 A 2.762558,2.4349128 0 0 0 6.6934049,8.0155994 L 5.4486136,8.2892431 v 0.9742747 l 1.2477202,0.274677 a 2.762558,2.4349128 0 0 0 0.1540613,0.335084 l -0.659593,0.9685952 0.7820218,0.689273 1.10186,-0.58188 a 2.762558,2.4349128 0 0 0 0.3790023,0.138887 l 0.3104656,1.097156 h 1.1053747 l 0.3116375,-1.099738 a 2.762558,2.4349128 0 0 0 0.380174,-0.135789 l 1.099517,0.581364 0.781436,-0.688756 -0.660764,-0.9706612 a 2.762558,2.4349128 0 0 0 0.158161,-0.334052 l 1.244791,-0.27416 V 8.2897594 L 11.936759,8.0145667 A 2.762558,2.4349128 0 0 0 11.782698,7.6799985 L 12.442291,6.7103704 11.660855,6.0221306 10.558994,6.6040104 A 2.762558,2.4349128 0 0 0 10.179992,6.4651234 L 9.8695265,5.3674506 H 8.7641518 Z M 9.3165462,7.8023635 A 1.1053747,0.97427488 0 0 1 10.421335,8.7766384 1.1053747,0.97427488 0 0 1 9.3165462,9.7503968 1.1053747,0.97427488 0 0 1 8.2111716,8.7766384 1.1053747,0.97427488 0 0 1 9.3165462,7.8023635 Z"
|
||||
fill="#478cbf"
|
||||
id="path4"
|
||||
style="stroke-width:0.54995" />
|
||||
<path
|
||||
d="M 4.100489,8.771721 C 1.8358475,8.771721 0,10.389834 0,12.385884 c 0,1.99605 1.8358475,3.614162 4.100489,3.614162 2.2646413,0 4.1004888,-1.618112 4.1004888,-3.614162 0,-1.99605 -1.8358475,-3.614163 -4.1004888,-3.614163 z m -1.6566561,1.423877 1.6566561,1.460173 1.6566561,-1.460173 0.8283572,0.730112 -1.656656,1.460174 1.656656,1.460173 L 5.7571451,14.57617 4.100489,13.115996 2.4438329,14.57617 1.6154755,13.846057 3.2721316,12.385884 1.6154755,10.92571 Z"
|
||||
fill="#ff5d5d"
|
||||
id="path14"
|
||||
style="stroke-width:0.54995" />
|
||||
<g
|
||||
id="g18"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,2.8659151,-1.8976673)"
|
||||
style="fill:#ff0000">
|
||||
<g
|
||||
id="g16"
|
||||
style="fill:#ff0000">
|
||||
<g
|
||||
id="g8"
|
||||
style="fill:#ff0000">
|
||||
<path
|
||||
d="m 443.6,131.35 c -16.5,0 -30,13.5 -30,30 v 111.9 c 0,16.5 13.5,30 30,30 16.5,0 30,-13.5 30,-30 v -111.9 c 0,-16.5 -13.4,-30 -30,-30 z"
|
||||
id="path2-3"
|
||||
style="fill:#ff0000" />
|
||||
<path
|
||||
d="m 287.3,199.75 c -5.7,-5.7 -13.2,-8.8 -21.2,-8.8 -8,0 -15.5,3.1 -21.2,8.8 -11.7,11.7 -11.7,30.7 0,42.4 l 79.1,79.1 c 5.7,5.7 13.2,8.8 21.2,8.8 8,0 15.5,-3.1 21.199,-8.8 11.7,-11.7 11.7,-30.7 0,-42.4 z"
|
||||
id="path4-8"
|
||||
style="fill:#ff0000" />
|
||||
<path
|
||||
d="m 566.1,321.25 79.101,-79.1 c 11.699,-11.7 11.699,-30.7 0,-42.4 -5.7,-5.7 -13.2,-8.8 -21.2,-8.8 -8,0 -15.5,3.1 -21.2,8.8 l -79.1,79.1 c -11.7,11.7 -11.7,30.7 0,42.4 5.699,5.7 13.199,8.8 21.199,8.8 8,0 15.499,-3.1 21.2,-8.8 z"
|
||||
id="path6"
|
||||
style="fill:#ff0000" />
|
||||
</g>
|
||||
<g
|
||||
id="g14"
|
||||
style="fill:#ff0000">
|
||||
<path
|
||||
d="m 834.899,434.349 c -35.6,-35.6 -82.899,-55.2 -133.199,-55.2 H 546 c -11,0 -20,9 -20,20 v 87.601 c 0,11 9,20 20,20 h 48.1 c 11,0 20,-9 20,-20 v -19.5 h 87.6 c 55.399,0 100.199,44.9 100.199,100.199 v 1.4 0 1.4 c 0,55.4 -44.899,100.199 -100.199,100.199 h -87.6 v -19.5 c 0,-11 -9,-20 -20,-20 H 546 c -11,0 -20,9 -20,20 v 87.801 c 0,11 9,20 20,20 h 155.7 c 50.3,0 97.6,-19.6 133.199,-55.201 35.601,-35.6 55.2,-82.898 55.2,-133.199 v -1.4 0 -1.4 C 890,517.25 870.5,469.949 834.899,434.349 Z"
|
||||
id="path10"
|
||||
style="fill:#ff0000" />
|
||||
<path
|
||||
d="m 55.2,434.349 c 35.6,-35.6 82.9,-55.2 133.2,-55.2 h 155.7 c 11,0 20,9 20,20 v 87.601 c 0,11 -9,20 -20,20 H 296 c -11,0 -20,-9 -20,-20 v -19.5 h -87.7 c -55.4,0 -100.2,44.9 -100.2,100.199 v 1.4 0 1.4 c 0,55.4 44.9,100.199 100.2,100.199 h 87.6 v -19.5 c 0,-11 9,-20 20,-20 H 344 c 11,0 20,9 20,20 v 87.801 c 0,11 -9,20 -20,20 H 188.3 c -50.3,0 -97.6,-19.6 -133.2,-55.201 C 19.6,668.049 0,620.75 0,570.449 v -1.4 0 -1.398 C 0,517.25 19.6,469.949 55.2,434.349 Z"
|
||||
id="path12"
|
||||
style="fill:#ff0000" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g20"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,2.8659151,-1.8976673)"
|
||||
style="fill:#ff0000" />
|
||||
<g
|
||||
id="g22"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,2.8659151,-1.8976673)"
|
||||
style="fill:#ff0000" />
|
||||
<g
|
||||
id="g24"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,2.8659151,-1.8976673)"
|
||||
style="fill:#ff0000" />
|
||||
<g
|
||||
id="g26"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,2.8659151,-1.8976673)"
|
||||
style="fill:#ff0000" />
|
||||
<g
|
||||
id="g28"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,2.8659151,-1.8976673)"
|
||||
style="fill:#ff0000" />
|
||||
<g
|
||||
id="g30"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,2.8659151,-1.8976673)"
|
||||
style="fill:#ff0000" />
|
||||
<g
|
||||
id="g32"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,2.8659151,-1.8976673)"
|
||||
style="fill:#ff0000" />
|
||||
<g
|
||||
id="g34"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,2.8659151,-1.8976673)"
|
||||
style="fill:#ff0000" />
|
||||
<g
|
||||
id="g36"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,2.8659151,-1.8976673)"
|
||||
style="fill:#ff0000" />
|
||||
<g
|
||||
id="g38"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,2.8659151,-1.8976673)"
|
||||
style="fill:#ff0000" />
|
||||
<g
|
||||
id="g40"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,2.8659151,-1.8976673)"
|
||||
style="fill:#ff0000" />
|
||||
<g
|
||||
id="g42"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,2.8659151,-1.8976673)"
|
||||
style="fill:#ff0000" />
|
||||
<g
|
||||
id="g44"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,2.8659151,-1.8976673)"
|
||||
style="fill:#ff0000" />
|
||||
<g
|
||||
id="g46"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,2.8659151,-1.8976673)"
|
||||
style="fill:#ff0000" />
|
||||
<g
|
||||
id="g48"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,2.8659151,-1.8976673)"
|
||||
style="fill:#ff0000" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 7.6 KiB |
|
|
@ -0,0 +1,38 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://fqf674gwq375"
|
||||
path="res://.godot/imported/TestCaseError2.svg-27dc52b88f226d741b1f9c1294295841.ctex"
|
||||
metadata={
|
||||
"has_editor_variant": true,
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/gdUnit4/src/ui/assets/orphan/TestCaseError2.svg"
|
||||
dest_files=["res://.godot/imported/TestCaseError2.svg-27dc52b88f226d741b1f9c1294295841.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
svg/scale=1.0
|
||||
editor/scale_with_editor_scale=true
|
||||
editor/convert_colors_with_editor_theme=true
|
||||
66
addons/gdUnit4/src/ui/assets/orphan/TestCaseFailed.svg
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="32"
|
||||
height="32"
|
||||
version="1.1"
|
||||
id="svg6"
|
||||
sodipodi:docname="TestCaseError.svg"
|
||||
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)">
|
||||
<metadata
|
||||
id="metadata12">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs10" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1527"
|
||||
inkscape:window-height="1058"
|
||||
id="namedview8"
|
||||
showgrid="false"
|
||||
inkscape:zoom="22.96875"
|
||||
inkscape:cx="9.3387755"
|
||||
inkscape:cy="16"
|
||||
inkscape:window-x="219"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg6" />
|
||||
<path
|
||||
d="M25.396 9.18c-.736-1.016-4.435-1.245-6.172-1.093.068-2.126.983-3.676-1.186-5.532M5.059 1.536H14.5c2.41-.063 3.955 1.182 5.576 2.652l3.865 3.433c1.994 1.779 2.785 3.457 3 5.88v16.965H5.059z"
|
||||
fill="#eff1f5"
|
||||
stroke="#9f9fa1"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
id="path2" />
|
||||
<path
|
||||
d="M15.057 11.397l-.532 2.13a4.716 4.716 0 0 0-.65.263l-1.876-1.126-1.334 1.334 1.128 1.881a4.716 4.716 0 0 0-.27.647l-2.125.53v1.887l2.13.532a4.716 4.716 0 0 0 .263.649L10.665 22 12 23.335l1.881-1.127a4.716 4.716 0 0 0 .647.269l.53 2.125h1.887l.532-2.13a4.716 4.716 0 0 0 .649-.263l1.877 1.126 1.334-1.334-1.128-1.88a4.716 4.716 0 0 0 .27-.647l2.125-.531v-1.886l-2.13-.533a4.716 4.716 0 0 0-.263-.648l1.126-1.878-1.334-1.333-1.881 1.127a4.716 4.716 0 0 0-.647-.269l-.53-2.126h-1.887zm.944 4.716A1.887 1.887 0 0 1 17.887 18a1.887 1.887 0 0 1-1.886 1.886A1.887 1.887 0 0 1 14.114 18a1.887 1.887 0 0 1 1.887-1.887z"
|
||||
fill="#478cbf"
|
||||
id="path4" />
|
||||
<path
|
||||
d="m 7.0965983,17.990476 c -3.866,0 -6.99999997,3.134 -6.99999997,7 0,3.866 3.13399997,7 6.99999997,7 3.8659997,0 6.9999997,-3.134 6.9999997,-7 0,-3.866 -3.134,-7 -6.9999997,-7 z m -2.8281,2.7578 2.8281,2.8281 2.8281,-2.8281 1.4140997,1.4141 -2.8280997,2.8281 2.8280997,2.8281 -1.4140997,1.4141 -2.8281,-2.8281 -2.8281,2.8281 -1.4141,-1.4141 2.8281,-2.8281 -2.8281,-2.8281 z"
|
||||
fill="#ff5d5d"
|
||||
id="path14"
|
||||
style="fill:#0000ff" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.8 KiB |
|
|
@ -0,0 +1,38 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bqvlmgi6qpre0"
|
||||
path="res://.godot/imported/TestCaseFailed.svg-151182f42f6b32bd8c6dc168e9469b54.ctex"
|
||||
metadata={
|
||||
"has_editor_variant": true,
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/gdUnit4/src/ui/assets/orphan/TestCaseFailed.svg"
|
||||
dest_files=["res://.godot/imported/TestCaseFailed.svg-151182f42f6b32bd8c6dc168e9469b54.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
svg/scale=1.0
|
||||
editor/scale_with_editor_scale=true
|
||||
editor/convert_colors_with_editor_theme=true
|
||||
69
addons/gdUnit4/src/ui/assets/orphan/TestCaseFailed1.svg
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="16"
|
||||
height="16"
|
||||
version="1.1"
|
||||
id="svg6"
|
||||
sodipodi:docname="TestCaseFailed1.svg"
|
||||
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)">
|
||||
<metadata
|
||||
id="metadata12">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs10" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1527"
|
||||
inkscape:window-height="1058"
|
||||
id="namedview8"
|
||||
showgrid="false"
|
||||
inkscape:zoom="22.96875"
|
||||
inkscape:cx="9.3387755"
|
||||
inkscape:cy="16"
|
||||
inkscape:window-x="219"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg6"
|
||||
inkscape:document-rotation="0" />
|
||||
<path
|
||||
d="M 14.819989,4.2228126 C 14.388851,3.6982427 12.222036,3.580008 11.204528,3.658487 11.244362,2.5608142 11.780355,1.7605354 10.509789,0.80226604 M 2.9068962,0.27614726 H 8.4372844 C 9.8490241,0.2436198 10.75406,0.88642443 11.703617,1.6453985 l 2.264055,1.7724885 c 1.168054,0.9185136 1.631409,1.7848797 1.757353,3.0358961 V 15.212964 H 2.9068962 Z"
|
||||
fill="#eff1f5"
|
||||
stroke="#9f9fa1"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
id="path2"
|
||||
style="stroke-width:0.54995" />
|
||||
<path
|
||||
d="M 8.7635661,5.3674691 8.451929,6.4672073 A 2.7625579,2.4349128 0 0 0 8.0711692,6.6029966 L 6.9722382,6.0216327 6.1908022,6.7103889 6.8515667,7.6815661 A 2.7625579,2.4349128 0 0 0 6.693405,8.0156179 L 5.4486136,8.2892615 v 0.9742749 l 1.2477203,0.2746764 a 2.7625579,2.4349128 0 0 0 0.1540612,0.3350841 l -0.6595929,0.9685961 0.7820218,0.689272 1.10186,-0.58188 a 2.7625579,2.4349128 0 0 0 0.3790023,0.138887 l 0.3104656,1.097156 h 1.1053746 l 0.3116375,-1.099737 a 2.7625579,2.4349128 0 0 0 0.380173,-0.13579 l 1.099518,0.581364 0.781436,-0.688756 -0.660765,-0.9706607 a 2.7625579,2.4349128 0 0 0 0.158161,-0.3340519 l 1.244792,-0.27416 V 8.2897779 L 11.936758,8.0145852 A 2.7625579,2.4349128 0 0 0 11.782698,7.6800169 L 12.442291,6.7103889 11.660855,6.0221491 10.558994,6.6040289 A 2.7625579,2.4349128 0 0 0 10.179992,6.4651418 L 9.8695265,5.3674691 H 8.7641519 Z M 9.3165463,7.802382 A 1.1053746,0.9742749 0 0 1 10.421335,8.7766569 1.1053746,0.9742749 0 0 1 9.3165463,9.7504154 1.1053746,0.9742749 0 0 1 8.2111717,8.7766569 1.1053746,0.9742749 0 0 1 9.3165463,7.802382 Z"
|
||||
fill="#478cbf"
|
||||
id="path4"
|
||||
style="stroke-width:0.54995" />
|
||||
<path
|
||||
d="M 4.1004889,8.7717395 C 1.8358474,8.7717395 0,10.389852 0,12.385902 c 0,1.99605 1.8358474,3.614162 4.1004889,3.614162 2.2646414,0 4.100489,-1.618112 4.100489,-3.614162 0,-1.99605 -1.8358476,-3.6141625 -4.100489,-3.6141625 z M 2.4438328,10.195617 4.1004889,11.65579 5.7571451,10.195617 6.5855024,10.925729 4.9288462,12.385902 6.5855024,13.846075 5.7571451,14.576188 4.1004889,13.116015 2.4438328,14.576188 1.6154755,13.846075 3.2721316,12.385902 1.6154755,10.925729 Z"
|
||||
fill="#ff5d5d"
|
||||
id="path14"
|
||||
style="fill:#0000ff;stroke-width:0.54995" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.7 KiB |
|
|
@ -0,0 +1,38 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://deo4r8koimsfd"
|
||||
path="res://.godot/imported/TestCaseFailed1.svg-32464e8f6fa7f74ad74a7534dfaba019.ctex"
|
||||
metadata={
|
||||
"has_editor_variant": true,
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/gdUnit4/src/ui/assets/orphan/TestCaseFailed1.svg"
|
||||
dest_files=["res://.godot/imported/TestCaseFailed1.svg-32464e8f6fa7f74ad74a7534dfaba019.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
svg/scale=1.0
|
||||
editor/scale_with_editor_scale=true
|
||||
editor/convert_colors_with_editor_theme=true
|
||||
166
addons/gdUnit4/src/ui/assets/orphan/TestCaseFailed2.svg
Normal file
|
|
@ -0,0 +1,166 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="16"
|
||||
height="16"
|
||||
version="1.1"
|
||||
id="svg6"
|
||||
sodipodi:docname="TestCaseFailed2.svg"
|
||||
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)">
|
||||
<metadata
|
||||
id="metadata12">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs10" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1527"
|
||||
inkscape:window-height="1058"
|
||||
id="namedview8"
|
||||
showgrid="false"
|
||||
inkscape:zoom="22.96875"
|
||||
inkscape:cx="9.3387755"
|
||||
inkscape:cy="16"
|
||||
inkscape:window-x="219"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg6"
|
||||
inkscape:document-rotation="0" />
|
||||
<path
|
||||
d="M 14.819989,4.2228126 C 14.388851,3.6982427 12.222036,3.580008 11.204528,3.658487 11.244362,2.5608142 11.780355,1.7605354 10.509789,0.80226604 M 2.9068962,0.27614726 H 8.4372844 C 9.8490241,0.2436198 10.75406,0.88642443 11.703617,1.6453985 l 2.264055,1.7724885 c 1.168054,0.9185136 1.631409,1.7848797 1.757353,3.0358961 V 15.212964 H 2.9068962 Z"
|
||||
fill="#eff1f5"
|
||||
stroke="#9f9fa1"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
id="path2"
|
||||
style="stroke-width:0.54995" />
|
||||
<path
|
||||
d="M 8.7635661,5.3674691 8.451929,6.4672073 A 2.7625579,2.4349128 0 0 0 8.0711692,6.6029966 L 6.9722382,6.0216327 6.1908022,6.7103889 6.8515667,7.6815661 A 2.7625579,2.4349128 0 0 0 6.693405,8.0156179 L 5.4486136,8.2892615 v 0.9742749 l 1.2477203,0.2746764 a 2.7625579,2.4349128 0 0 0 0.1540612,0.3350841 l -0.6595929,0.9685961 0.7820218,0.689272 1.10186,-0.58188 a 2.7625579,2.4349128 0 0 0 0.3790023,0.138887 l 0.3104656,1.097156 h 1.1053746 l 0.3116375,-1.099737 a 2.7625579,2.4349128 0 0 0 0.380173,-0.13579 l 1.099518,0.581364 0.781436,-0.688756 -0.660765,-0.9706607 a 2.7625579,2.4349128 0 0 0 0.158161,-0.3340519 l 1.244792,-0.27416 V 8.2897779 L 11.936758,8.0145852 A 2.7625579,2.4349128 0 0 0 11.782698,7.6800169 L 12.442291,6.7103889 11.660855,6.0221491 10.558994,6.6040289 A 2.7625579,2.4349128 0 0 0 10.179992,6.4651418 L 9.8695265,5.3674691 H 8.7641519 Z M 9.3165463,7.802382 A 1.1053746,0.9742749 0 0 1 10.421335,8.7766569 1.1053746,0.9742749 0 0 1 9.3165463,9.7504154 1.1053746,0.9742749 0 0 1 8.2111717,8.7766569 1.1053746,0.9742749 0 0 1 9.3165463,7.802382 Z"
|
||||
fill="#478cbf"
|
||||
id="path4"
|
||||
style="stroke-width:0.54995" />
|
||||
<path
|
||||
d="M 4.1004889,8.7717395 C 1.8358474,8.7717395 0,10.389852 0,12.385902 c 0,1.99605 1.8358474,3.614162 4.1004889,3.614162 2.2646414,0 4.100489,-1.618112 4.100489,-3.614162 0,-1.99605 -1.8358476,-3.6141625 -4.100489,-3.6141625 z M 2.4438328,10.195617 4.1004889,11.65579 5.7571451,10.195617 6.5855024,10.925729 4.9288462,12.385902 6.5855024,13.846075 5.7571451,14.576188 4.1004889,13.116015 2.4438328,14.576188 1.6154755,13.846075 3.2721316,12.385902 1.6154755,10.925729 Z"
|
||||
fill="#ff5d5d"
|
||||
id="path14"
|
||||
style="fill:#0000ff;stroke-width:0.54995" />
|
||||
<g
|
||||
id="g18"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,3.3823113,-1.8728191)"
|
||||
style="fill:#ff0000">
|
||||
<g
|
||||
id="g16"
|
||||
style="fill:#ff0000">
|
||||
<g
|
||||
id="g8"
|
||||
style="fill:#ff0000">
|
||||
<path
|
||||
d="m 443.6,131.35 c -16.5,0 -30,13.5 -30,30 v 111.9 c 0,16.5 13.5,30 30,30 16.5,0 30,-13.5 30,-30 v -111.9 c 0,-16.5 -13.4,-30 -30,-30 z"
|
||||
id="path2-1"
|
||||
style="fill:#ff0000" />
|
||||
<path
|
||||
d="m 287.3,199.75 c -5.7,-5.7 -13.2,-8.8 -21.2,-8.8 -8,0 -15.5,3.1 -21.2,8.8 -11.7,11.7 -11.7,30.7 0,42.4 l 79.1,79.1 c 5.7,5.7 13.2,8.8 21.2,8.8 8,0 15.5,-3.1 21.199,-8.8 11.7,-11.7 11.7,-30.7 0,-42.4 z"
|
||||
id="path4-9"
|
||||
style="fill:#ff0000" />
|
||||
<path
|
||||
d="m 566.1,321.25 79.101,-79.1 c 11.699,-11.7 11.699,-30.7 0,-42.4 -5.7,-5.7 -13.2,-8.8 -21.2,-8.8 -8,0 -15.5,3.1 -21.2,8.8 l -79.1,79.1 c -11.7,11.7 -11.7,30.7 0,42.4 5.699,5.7 13.199,8.8 21.199,8.8 8,0 15.499,-3.1 21.2,-8.8 z"
|
||||
id="path6"
|
||||
style="fill:#ff0000" />
|
||||
</g>
|
||||
<g
|
||||
id="g14"
|
||||
style="fill:#ff0000">
|
||||
<path
|
||||
d="m 834.899,434.349 c -35.6,-35.6 -82.899,-55.2 -133.199,-55.2 H 546 c -11,0 -20,9 -20,20 v 87.601 c 0,11 9,20 20,20 h 48.1 c 11,0 20,-9 20,-20 v -19.5 h 87.6 c 55.399,0 100.199,44.9 100.199,100.199 v 1.4 0 1.4 c 0,55.4 -44.899,100.199 -100.199,100.199 h -87.6 v -19.5 c 0,-11 -9,-20 -20,-20 H 546 c -11,0 -20,9 -20,20 v 87.801 c 0,11 9,20 20,20 h 155.7 c 50.3,0 97.6,-19.6 133.199,-55.201 35.601,-35.6 55.2,-82.898 55.2,-133.199 v -1.4 0 -1.4 C 890,517.25 870.5,469.949 834.899,434.349 Z"
|
||||
id="path10"
|
||||
style="fill:#ff0000" />
|
||||
<path
|
||||
d="m 55.2,434.349 c 35.6,-35.6 82.9,-55.2 133.2,-55.2 h 155.7 c 11,0 20,9 20,20 v 87.601 c 0,11 -9,20 -20,20 H 296 c -11,0 -20,-9 -20,-20 v -19.5 h -87.7 c -55.4,0 -100.2,44.9 -100.2,100.199 v 1.4 0 1.4 c 0,55.4 44.9,100.199 100.2,100.199 h 87.6 v -19.5 c 0,-11 9,-20 20,-20 H 344 c 11,0 20,9 20,20 v 87.801 c 0,11 -9,20 -20,20 H 188.3 c -50.3,0 -97.6,-19.6 -133.2,-55.201 C 19.6,668.049 0,620.75 0,570.449 v -1.4 0 -1.398 C 0,517.25 19.6,469.949 55.2,434.349 Z"
|
||||
id="path12"
|
||||
style="fill:#ff0000" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g20"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,3.3387739,7.4877251)"
|
||||
style="fill:#ff0000" />
|
||||
<g
|
||||
id="g22"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,3.3387739,7.4877251)"
|
||||
style="fill:#ff0000" />
|
||||
<g
|
||||
id="g24"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,3.3387739,7.4877251)"
|
||||
style="fill:#ff0000" />
|
||||
<g
|
||||
id="g26"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,3.3387739,7.4877251)"
|
||||
style="fill:#ff0000" />
|
||||
<g
|
||||
id="g28"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,3.3387739,7.4877251)"
|
||||
style="fill:#ff0000" />
|
||||
<g
|
||||
id="g30"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,3.3387739,7.4877251)"
|
||||
style="fill:#ff0000" />
|
||||
<g
|
||||
id="g32"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,3.3387739,7.4877251)"
|
||||
style="fill:#ff0000" />
|
||||
<g
|
||||
id="g34"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,3.3387739,7.4877251)"
|
||||
style="fill:#ff0000" />
|
||||
<g
|
||||
id="g36"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,3.3387739,7.4877251)"
|
||||
style="fill:#ff0000" />
|
||||
<g
|
||||
id="g38"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,3.3387739,7.4877251)"
|
||||
style="fill:#ff0000" />
|
||||
<g
|
||||
id="g40"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,3.3387739,7.4877251)"
|
||||
style="fill:#ff0000" />
|
||||
<g
|
||||
id="g42"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,3.3387739,7.4877251)"
|
||||
style="fill:#ff0000" />
|
||||
<g
|
||||
id="g44"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,3.3387739,7.4877251)"
|
||||
style="fill:#ff0000" />
|
||||
<g
|
||||
id="g46"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,3.3387739,7.4877251)"
|
||||
style="fill:#ff0000" />
|
||||
<g
|
||||
id="g48"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,3.3387739,7.4877251)"
|
||||
style="fill:#ff0000" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 7.6 KiB |
|
|
@ -0,0 +1,38 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://ctl52ddcptdxb"
|
||||
path="res://.godot/imported/TestCaseFailed2.svg-aa38e10f09edf43b31b1c0a4caf549c5.ctex"
|
||||
metadata={
|
||||
"has_editor_variant": true,
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/gdUnit4/src/ui/assets/orphan/TestCaseFailed2.svg"
|
||||
dest_files=["res://.godot/imported/TestCaseFailed2.svg-aa38e10f09edf43b31b1c0a4caf549c5.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
svg/scale=1.0
|
||||
editor/scale_with_editor_scale=true
|
||||
editor/convert_colors_with_editor_theme=true
|
||||
129
addons/gdUnit4/src/ui/assets/orphan/TestCaseSuccess1.svg
Normal file
|
|
@ -0,0 +1,129 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="16"
|
||||
height="16"
|
||||
version="1.1"
|
||||
id="svg6"
|
||||
sodipodi:docname="TestCaseSuccess1.svg"
|
||||
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)">
|
||||
<metadata
|
||||
id="metadata12">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs10" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1527"
|
||||
inkscape:window-height="1058"
|
||||
id="namedview8"
|
||||
showgrid="false"
|
||||
inkscape:zoom="22.96875"
|
||||
inkscape:cx="9.3387755"
|
||||
inkscape:cy="16"
|
||||
inkscape:window-x="-4"
|
||||
inkscape:window-y="32"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg6"
|
||||
inkscape:document-rotation="0" />
|
||||
<path
|
||||
d="M 14.812609,4.2164477 C 14.378318,3.6928216 12.195645,3.5747995 11.170691,3.6531373 11.210816,2.5574393 11.750732,1.7586002 10.470867,0.80205481 M 2.8123368,0.27688261 h 5.5708596 c 1.4220712,-0.032469 2.3337316,0.6091792 3.2902356,1.36678789 l 2.280624,1.7692997 c 1.176602,0.9168611 1.643348,1.7816689 1.770213,3.0304349 V 15.186827 H 2.8123368 Z"
|
||||
fill="#eff1f5"
|
||||
stroke="#9f9fa1"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
id="path2"
|
||||
style="stroke-width:0.551462" />
|
||||
<path
|
||||
d="M 8.7118659,5.3590453 8.3979481,6.4568049 A 2.7827745,2.4305323 0 0 0 8.014402,6.5923497 L 6.907429,6.012032 6.1202744,6.6995487 l 0.6656,0.9694298 A 2.7827745,2.4305323 0 0 0 6.6265552,8.0024297 l -1.2539007,0.273151 v 0.9725224 l 1.2568511,0.274182 a 2.7827745,2.4305323 0 0 0 0.1551887,0.334482 L 6.1202744,10.82362 6.9080191,11.511652 8.0179425,10.930819 a 2.7827745,2.4305323 0 0 0 0.3817759,0.138637 l 0.3127376,1.095183 h 1.1134646 l 0.3139174,-1.09776 a 2.7827745,2.4305323 0 0 0 0.382956,-0.135545 l 1.107563,0.580318 0.787155,-0.687517 -0.6656,-0.9689139 a 2.7827745,2.4305323 0 0 0 0.159319,-0.333451 l 1.253901,-0.273667 V 8.2760962 L 11.90828,8.0013987 A 2.7827745,2.4305323 0 0 0 11.753092,7.6674326 L 12.417512,6.6995487 11.630357,6.0125469 10.520434,6.5933807 A 2.7827745,2.4305323 0 0 0 10.138658,6.4547435 L 9.8259206,5.3590453 H 8.712456 Z m 0.557027,2.4305324 A 1.1134638,0.97252213 0 0 1 10.381767,8.7620998 1.1134638,0.97252213 0 0 1 9.2688929,9.7341061 1.1134638,0.97252213 0 0 1 8.155429,8.7620998 1.1134638,0.97252213 0 0 1 9.2688929,7.7895777 Z"
|
||||
fill="#478cbf"
|
||||
id="path4"
|
||||
style="stroke-width:0.551462" />
|
||||
<path
|
||||
d="M 4.1304962,8.7847247 C 1.8492823,8.7847247 0,10.399926 0,12.392385 c 0,1.99246 1.8492823,3.607661 4.1304962,3.607661 2.2812142,0 4.1304965,-1.615201 4.1304965,-3.607661 0,-1.992459 -1.8492823,-3.6076603 -4.1304965,-3.6076603 z m 1.9431036,1.9981283 0.8344193,0.728799 -3.3675348,2.942305 -2.1873927,-1.911545 0.834419,-0.728799 1.3530327,1.181767 z"
|
||||
fill="#45ff8b"
|
||||
id="path39"
|
||||
style="fill:#008000;stroke-width:0.551462" />
|
||||
<g
|
||||
id="g20"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,-18.669389,0.23874554)"
|
||||
style="fill:#ffd42a" />
|
||||
<g
|
||||
id="g22"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,-18.669389,0.23874554)"
|
||||
style="fill:#ffd42a" />
|
||||
<g
|
||||
id="g24"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,-18.669389,0.23874554)"
|
||||
style="fill:#ffd42a" />
|
||||
<g
|
||||
id="g26"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,-18.669389,0.23874554)"
|
||||
style="fill:#ffd42a" />
|
||||
<g
|
||||
id="g28"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,-18.669389,0.23874554)"
|
||||
style="fill:#ffd42a" />
|
||||
<g
|
||||
id="g30"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,-18.669389,0.23874554)"
|
||||
style="fill:#ffd42a" />
|
||||
<g
|
||||
id="g32"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,-18.669389,0.23874554)"
|
||||
style="fill:#ffd42a" />
|
||||
<g
|
||||
id="g34"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,-18.669389,0.23874554)"
|
||||
style="fill:#ffd42a" />
|
||||
<g
|
||||
id="g36"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,-18.669389,0.23874554)"
|
||||
style="fill:#ffd42a" />
|
||||
<g
|
||||
id="g38"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,-18.669389,0.23874554)"
|
||||
style="fill:#ffd42a" />
|
||||
<g
|
||||
id="g40"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,-18.669389,0.23874554)"
|
||||
style="fill:#ffd42a" />
|
||||
<g
|
||||
id="g42"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,-18.669389,0.23874554)"
|
||||
style="fill:#ffd42a" />
|
||||
<g
|
||||
id="g44"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,-18.669389,0.23874554)"
|
||||
style="fill:#ffd42a" />
|
||||
<g
|
||||
id="g46"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,-18.669389,0.23874554)"
|
||||
style="fill:#ffd42a" />
|
||||
<g
|
||||
id="g48"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,-18.669389,0.23874554)"
|
||||
style="fill:#ffd42a" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 5.3 KiB |
|
|
@ -0,0 +1,38 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bufumcx0iq38d"
|
||||
path="res://.godot/imported/TestCaseSuccess1.svg-3eadebb620a3275b67f53d505bc0f96b.ctex"
|
||||
metadata={
|
||||
"has_editor_variant": true,
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/gdUnit4/src/ui/assets/orphan/TestCaseSuccess1.svg"
|
||||
dest_files=["res://.godot/imported/TestCaseSuccess1.svg-3eadebb620a3275b67f53d505bc0f96b.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
svg/scale=1.0
|
||||
editor/scale_with_editor_scale=true
|
||||
editor/convert_colors_with_editor_theme=true
|
||||
166
addons/gdUnit4/src/ui/assets/orphan/TestCaseSuccess2.svg
Normal file
|
|
@ -0,0 +1,166 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="16"
|
||||
height="16"
|
||||
version="1.1"
|
||||
id="svg6"
|
||||
sodipodi:docname="TestCaseSuccess2.svg"
|
||||
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)">
|
||||
<metadata
|
||||
id="metadata12">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs10" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1527"
|
||||
inkscape:window-height="1058"
|
||||
id="namedview8"
|
||||
showgrid="false"
|
||||
inkscape:zoom="22.96875"
|
||||
inkscape:cx="9.3387755"
|
||||
inkscape:cy="16"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="32"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg6"
|
||||
inkscape:document-rotation="0" />
|
||||
<path
|
||||
d="M 14.812609,4.2164477 C 14.378318,3.6928216 12.195645,3.5747995 11.170691,3.6531373 11.210816,2.5574393 11.750732,1.7586002 10.470867,0.80205481 M 2.8123368,0.27688261 h 5.5708596 c 1.4220712,-0.032469 2.3337316,0.6091792 3.2902356,1.36678789 l 2.280624,1.7692997 c 1.176602,0.9168611 1.643348,1.7816689 1.770213,3.0304349 V 15.186827 H 2.8123368 Z"
|
||||
fill="#eff1f5"
|
||||
stroke="#9f9fa1"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
id="path2"
|
||||
style="stroke-width:0.551462" />
|
||||
<path
|
||||
d="M 8.7118659,5.3590453 8.3979481,6.4568049 A 2.7827745,2.4305323 0 0 0 8.014402,6.5923497 L 6.907429,6.012032 6.1202744,6.6995487 l 0.6656,0.9694298 A 2.7827745,2.4305323 0 0 0 6.6265552,8.0024297 l -1.2539007,0.273151 v 0.9725224 l 1.2568511,0.274182 a 2.7827745,2.4305323 0 0 0 0.1551887,0.334482 L 6.1202744,10.82362 6.9080191,11.511652 8.0179425,10.930819 a 2.7827745,2.4305323 0 0 0 0.3817759,0.138637 l 0.3127376,1.095183 h 1.1134646 l 0.3139174,-1.09776 a 2.7827745,2.4305323 0 0 0 0.382956,-0.135545 l 1.107563,0.580318 0.787155,-0.687517 -0.6656,-0.9689139 a 2.7827745,2.4305323 0 0 0 0.159319,-0.333451 l 1.253901,-0.273667 V 8.2760962 L 11.90828,8.0013987 A 2.7827745,2.4305323 0 0 0 11.753092,7.6674326 L 12.417512,6.6995487 11.630357,6.0125469 10.520434,6.5933807 A 2.7827745,2.4305323 0 0 0 10.138658,6.4547435 L 9.8259206,5.3590453 H 8.712456 Z m 0.557027,2.4305324 A 1.1134638,0.97252213 0 0 1 10.381767,8.7620998 1.1134638,0.97252213 0 0 1 9.2688929,9.7341061 1.1134638,0.97252213 0 0 1 8.155429,8.7620998 1.1134638,0.97252213 0 0 1 9.2688929,7.7895777 Z"
|
||||
fill="#478cbf"
|
||||
id="path4"
|
||||
style="stroke-width:0.551462" />
|
||||
<path
|
||||
d="M 4.1304962,8.7847247 C 1.8492823,8.7847247 0,10.399926 0,12.392385 c 0,1.99246 1.8492823,3.607661 4.1304962,3.607661 2.2812142,0 4.1304965,-1.615201 4.1304965,-3.607661 0,-1.992459 -1.8492823,-3.6076603 -4.1304965,-3.6076603 z m 1.9431036,1.9981283 0.8344193,0.728799 -3.3675348,2.942305 -2.1873927,-1.911545 0.834419,-0.728799 1.3530327,1.181767 z"
|
||||
fill="#45ff8b"
|
||||
id="path39"
|
||||
style="fill:#008000;stroke-width:0.551462" />
|
||||
<g
|
||||
id="g18"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,2.9427628,-2.0954112)"
|
||||
style="fill:#ff0000">
|
||||
<g
|
||||
id="g16"
|
||||
style="fill:#ff0000">
|
||||
<g
|
||||
id="g8"
|
||||
style="fill:#ff0000">
|
||||
<path
|
||||
d="m 443.6,131.35 c -16.5,0 -30,13.5 -30,30 v 111.9 c 0,16.5 13.5,30 30,30 16.5,0 30,-13.5 30,-30 v -111.9 c 0,-16.5 -13.4,-30 -30,-30 z"
|
||||
id="path2-4"
|
||||
style="fill:#ff0000" />
|
||||
<path
|
||||
d="m 287.3,199.75 c -5.7,-5.7 -13.2,-8.8 -21.2,-8.8 -8,0 -15.5,3.1 -21.2,8.8 -11.7,11.7 -11.7,30.7 0,42.4 l 79.1,79.1 c 5.7,5.7 13.2,8.8 21.2,8.8 8,0 15.5,-3.1 21.199,-8.8 11.7,-11.7 11.7,-30.7 0,-42.4 z"
|
||||
id="path4-7"
|
||||
style="fill:#ff0000" />
|
||||
<path
|
||||
d="m 566.1,321.25 79.101,-79.1 c 11.699,-11.7 11.699,-30.7 0,-42.4 -5.7,-5.7 -13.2,-8.8 -21.2,-8.8 -8,0 -15.5,3.1 -21.2,8.8 l -79.1,79.1 c -11.7,11.7 -11.7,30.7 0,42.4 5.699,5.7 13.199,8.8 21.199,8.8 8,0 15.499,-3.1 21.2,-8.8 z"
|
||||
id="path6"
|
||||
style="fill:#ff0000" />
|
||||
</g>
|
||||
<g
|
||||
id="g14"
|
||||
style="fill:#ff0000">
|
||||
<path
|
||||
d="m 834.899,434.349 c -35.6,-35.6 -82.899,-55.2 -133.199,-55.2 H 546 c -11,0 -20,9 -20,20 v 87.601 c 0,11 9,20 20,20 h 48.1 c 11,0 20,-9 20,-20 v -19.5 h 87.6 c 55.399,0 100.199,44.9 100.199,100.199 v 1.4 0 1.4 c 0,55.4 -44.899,100.199 -100.199,100.199 h -87.6 v -19.5 c 0,-11 -9,-20 -20,-20 H 546 c -11,0 -20,9 -20,20 v 87.801 c 0,11 9,20 20,20 h 155.7 c 50.3,0 97.6,-19.6 133.199,-55.201 35.601,-35.6 55.2,-82.898 55.2,-133.199 v -1.4 0 -1.4 C 890,517.25 870.5,469.949 834.899,434.349 Z"
|
||||
id="path10"
|
||||
style="fill:#ff0000" />
|
||||
<path
|
||||
d="m 55.2,434.349 c 35.6,-35.6 82.9,-55.2 133.2,-55.2 h 155.7 c 11,0 20,9 20,20 v 87.601 c 0,11 -9,20 -20,20 H 296 c -11,0 -20,-9 -20,-20 v -19.5 h -87.7 c -55.4,0 -100.2,44.9 -100.2,100.199 v 1.4 0 1.4 c 0,55.4 44.9,100.199 100.2,100.199 h 87.6 v -19.5 c 0,-11 9,-20 20,-20 H 344 c 11,0 20,9 20,20 v 87.801 c 0,11 -9,20 -20,20 H 188.3 c -50.3,0 -97.6,-19.6 -133.2,-55.201 C 19.6,668.049 0,620.75 0,570.449 v -1.4 0 -1.398 C 0,517.25 19.6,469.949 55.2,434.349 Z"
|
||||
id="path12"
|
||||
style="fill:#ff0000" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g20"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,-18.669389,0.23874554)"
|
||||
style="fill:#ffd42a" />
|
||||
<g
|
||||
id="g22"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,-18.669389,0.23874554)"
|
||||
style="fill:#ffd42a" />
|
||||
<g
|
||||
id="g24"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,-18.669389,0.23874554)"
|
||||
style="fill:#ffd42a" />
|
||||
<g
|
||||
id="g26"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,-18.669389,0.23874554)"
|
||||
style="fill:#ffd42a" />
|
||||
<g
|
||||
id="g28"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,-18.669389,0.23874554)"
|
||||
style="fill:#ffd42a" />
|
||||
<g
|
||||
id="g30"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,-18.669389,0.23874554)"
|
||||
style="fill:#ffd42a" />
|
||||
<g
|
||||
id="g32"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,-18.669389,0.23874554)"
|
||||
style="fill:#ffd42a" />
|
||||
<g
|
||||
id="g34"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,-18.669389,0.23874554)"
|
||||
style="fill:#ffd42a" />
|
||||
<g
|
||||
id="g36"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,-18.669389,0.23874554)"
|
||||
style="fill:#ffd42a" />
|
||||
<g
|
||||
id="g38"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,-18.669389,0.23874554)"
|
||||
style="fill:#ffd42a" />
|
||||
<g
|
||||
id="g40"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,-18.669389,0.23874554)"
|
||||
style="fill:#ffd42a" />
|
||||
<g
|
||||
id="g42"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,-18.669389,0.23874554)"
|
||||
style="fill:#ffd42a" />
|
||||
<g
|
||||
id="g44"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,-18.669389,0.23874554)"
|
||||
style="fill:#ffd42a" />
|
||||
<g
|
||||
id="g46"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,-18.669389,0.23874554)"
|
||||
style="fill:#ffd42a" />
|
||||
<g
|
||||
id="g48"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,-18.669389,0.23874554)"
|
||||
style="fill:#ffd42a" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 7.5 KiB |
|
|
@ -0,0 +1,38 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://clj5nj84vnocn"
|
||||
path="res://.godot/imported/TestCaseSuccess2.svg-7767c6ebe7bd14d031b8c87b24e08595.ctex"
|
||||
metadata={
|
||||
"has_editor_variant": true,
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/gdUnit4/src/ui/assets/orphan/TestCaseSuccess2.svg"
|
||||
dest_files=["res://.godot/imported/TestCaseSuccess2.svg-7767c6ebe7bd14d031b8c87b24e08595.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
svg/scale=1.0
|
||||
editor/scale_with_editor_scale=true
|
||||
editor/convert_colors_with_editor_theme=true
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
[gd_resource type="AnimatedTexture" load_steps=7 format=2]
|
||||
|
||||
[ext_resource path="res://addons/gdUnit4/src/ui/assets/orphan/orphan_red4.svg" type="Texture2D" id=1]
|
||||
[ext_resource path="res://addons/gdUnit4/src/ui/assets/orphan/orphan_red5.svg" type="Texture2D" id=2]
|
||||
[ext_resource path="res://addons/gdUnit4/src/ui/assets/orphan/orphan_red6.svg" type="Texture2D" id=3]
|
||||
[ext_resource path="res://addons/gdUnit4/src/ui/assets/orphan/orphan_red3.svg" type="Texture2D" id=4]
|
||||
[ext_resource path="res://addons/gdUnit4/src/ui/assets/orphan/orphan_red2.svg" type="Texture2D" id=5]
|
||||
[ext_resource path="res://addons/gdUnit4/src/ui/assets/orphan/orphan_red7.svg" type="Texture2D" id=6]
|
||||
|
||||
[resource]
|
||||
flags = 4
|
||||
frames = 10
|
||||
fps = 9.0
|
||||
frame_0/texture = ExtResource( 5 )
|
||||
frame_1/texture = ExtResource( 4 )
|
||||
frame_1/delay_sec = 0.0
|
||||
frame_2/texture = ExtResource( 1 )
|
||||
frame_2/delay_sec = 0.0
|
||||
frame_3/texture = ExtResource( 2 )
|
||||
frame_3/delay_sec = 0.0
|
||||
frame_4/texture = ExtResource( 3 )
|
||||
frame_4/delay_sec = 0.0
|
||||
frame_5/texture = ExtResource( 6 )
|
||||
frame_5/delay_sec = 0.5
|
||||
frame_6/texture = ExtResource( 3 )
|
||||
frame_6/delay_sec = 0.0
|
||||
frame_7/texture = ExtResource( 2 )
|
||||
frame_7/delay_sec = 0.0
|
||||
frame_8/texture = ExtResource( 1 )
|
||||
frame_8/delay_sec = 0.0
|
||||
frame_9/texture = ExtResource( 4 )
|
||||
frame_9/delay_sec = 0.0
|
||||
156
addons/gdUnit4/src/ui/assets/orphan/orphan_green.svg
Normal file
|
|
@ -0,0 +1,156 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
id="Capa_1"
|
||||
x="0px"
|
||||
y="0px"
|
||||
width="12"
|
||||
height="12"
|
||||
viewBox="0 0 12 12"
|
||||
xml:space="preserve"
|
||||
sodipodi:docname="orphan_green.svg"
|
||||
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)"><metadata
|
||||
id="metadata55"><rdf:RDF><cc:Work
|
||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
|
||||
id="defs53" /><sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1798"
|
||||
inkscape:window-height="991"
|
||||
id="namedview51"
|
||||
showgrid="false"
|
||||
inkscape:zoom="47.437486"
|
||||
inkscape:cx="0.78958849"
|
||||
inkscape:cy="5.2040062"
|
||||
inkscape:window-x="106"
|
||||
inkscape:window-y="14"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="Capa_1"
|
||||
inkscape:document-rotation="0" />
|
||||
<g
|
||||
id="g18"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#00ff00">
|
||||
<g
|
||||
id="g16"
|
||||
style="fill:#00ff00">
|
||||
<g
|
||||
id="g8"
|
||||
style="fill:#00ff00">
|
||||
<path
|
||||
d="m 443.6,131.35 c -16.5,0 -30,13.5 -30,30 v 111.9 c 0,16.5 13.5,30 30,30 16.5,0 30,-13.5 30,-30 v -111.9 c 0,-16.5 -13.4,-30 -30,-30 z"
|
||||
id="path2"
|
||||
style="fill:#00ff00" />
|
||||
<path
|
||||
d="m 287.3,199.75 c -5.7,-5.7 -13.2,-8.8 -21.2,-8.8 -8,0 -15.5,3.1 -21.2,8.8 -11.7,11.7 -11.7,30.7 0,42.4 l 79.1,79.1 c 5.7,5.7 13.2,8.8 21.2,8.8 8,0 15.5,-3.1 21.199,-8.8 11.7,-11.7 11.7,-30.7 0,-42.4 z"
|
||||
id="path4"
|
||||
style="fill:#00ff00" />
|
||||
<path
|
||||
d="m 566.1,321.25 79.101,-79.1 c 11.699,-11.7 11.699,-30.7 0,-42.4 -5.7,-5.7 -13.2,-8.8 -21.2,-8.8 -8,0 -15.5,3.1 -21.2,8.8 l -79.1,79.1 c -11.7,11.7 -11.7,30.7 0,42.4 5.699,5.7 13.199,8.8 21.199,8.8 8,0 15.499,-3.1 21.2,-8.8 z"
|
||||
id="path6"
|
||||
style="fill:#00ff00" />
|
||||
</g>
|
||||
<g
|
||||
id="g14"
|
||||
style="fill:#00ff00">
|
||||
<path
|
||||
d="m 834.899,434.349 c -35.6,-35.6 -82.899,-55.2 -133.199,-55.2 H 546 c -11,0 -20,9 -20,20 v 87.601 c 0,11 9,20 20,20 h 48.1 c 11,0 20,-9 20,-20 v -19.5 h 87.6 c 55.399,0 100.199,44.9 100.199,100.199 v 1.4 0 1.4 c 0,55.4 -44.899,100.199 -100.199,100.199 h -87.6 v -19.5 c 0,-11 -9,-20 -20,-20 H 546 c -11,0 -20,9 -20,20 v 87.801 c 0,11 9,20 20,20 h 155.7 c 50.3,0 97.6,-19.6 133.199,-55.201 35.601,-35.6 55.2,-82.898 55.2,-133.199 v -1.4 0 -1.4 C 890,517.25 870.5,469.949 834.899,434.349 Z"
|
||||
id="path10"
|
||||
style="fill:#00ff00" />
|
||||
<path
|
||||
d="m 55.2,434.349 c 35.6,-35.6 82.9,-55.2 133.2,-55.2 h 155.7 c 11,0 20,9 20,20 v 87.601 c 0,11 -9,20 -20,20 H 296 c -11,0 -20,-9 -20,-20 v -19.5 h -87.7 c -55.4,0 -100.2,44.9 -100.2,100.199 v 1.4 0 1.4 c 0,55.4 44.9,100.199 100.2,100.199 h 87.6 v -19.5 c 0,-11 9,-20 20,-20 H 344 c 11,0 20,9 20,20 v 87.801 c 0,11 -9,20 -20,20 H 188.3 c -50.3,0 -97.6,-19.6 -133.2,-55.201 C 19.6,668.049 0,620.75 0,570.449 v -1.4 0 -1.398 C 0,517.25 19.6,469.949 55.2,434.349 Z"
|
||||
id="path12"
|
||||
style="fill:#00ff00" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g20"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g22"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g24"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g26"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g28"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g30"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g32"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g34"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g36"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g38"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g40"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g42"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g44"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g46"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g48"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 5 KiB |
38
addons/gdUnit4/src/ui/assets/orphan/orphan_green.svg.import
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cqrikobu314r3"
|
||||
path="res://.godot/imported/orphan_green.svg-9ce01031b489dea619e91196cb66dce9.ctex"
|
||||
metadata={
|
||||
"has_editor_variant": true,
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/gdUnit4/src/ui/assets/orphan/orphan_green.svg"
|
||||
dest_files=["res://.godot/imported/orphan_green.svg-9ce01031b489dea619e91196cb66dce9.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
svg/scale=1.0
|
||||
editor/scale_with_editor_scale=true
|
||||
editor/convert_colors_with_editor_theme=true
|
||||
156
addons/gdUnit4/src/ui/assets/orphan/orphan_red1.svg
Normal file
|
|
@ -0,0 +1,156 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
id="Capa_1"
|
||||
x="0px"
|
||||
y="0px"
|
||||
width="12"
|
||||
height="12"
|
||||
viewBox="0 0 12 12"
|
||||
xml:space="preserve"
|
||||
sodipodi:docname="orphan_red1.svg"
|
||||
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)"><metadata
|
||||
id="metadata55"><rdf:RDF><cc:Work
|
||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
|
||||
id="defs53" /><sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1798"
|
||||
inkscape:window-height="991"
|
||||
id="namedview51"
|
||||
showgrid="false"
|
||||
inkscape:zoom="47.437486"
|
||||
inkscape:cx="0.78958849"
|
||||
inkscape:cy="5.2040062"
|
||||
inkscape:window-x="106"
|
||||
inkscape:window-y="14"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="Capa_1"
|
||||
inkscape:document-rotation="0" />
|
||||
<g
|
||||
id="g18"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ffccaa">
|
||||
<g
|
||||
id="g16"
|
||||
style="fill:#ffccaa">
|
||||
<g
|
||||
id="g8"
|
||||
style="fill:#ffccaa">
|
||||
<path
|
||||
d="m 443.6,131.35 c -16.5,0 -30,13.5 -30,30 v 111.9 c 0,16.5 13.5,30 30,30 16.5,0 30,-13.5 30,-30 v -111.9 c 0,-16.5 -13.4,-30 -30,-30 z"
|
||||
id="path2"
|
||||
style="fill:#ffccaa" />
|
||||
<path
|
||||
d="m 287.3,199.75 c -5.7,-5.7 -13.2,-8.8 -21.2,-8.8 -8,0 -15.5,3.1 -21.2,8.8 -11.7,11.7 -11.7,30.7 0,42.4 l 79.1,79.1 c 5.7,5.7 13.2,8.8 21.2,8.8 8,0 15.5,-3.1 21.199,-8.8 11.7,-11.7 11.7,-30.7 0,-42.4 z"
|
||||
id="path4"
|
||||
style="fill:#ffccaa" />
|
||||
<path
|
||||
d="m 566.1,321.25 79.101,-79.1 c 11.699,-11.7 11.699,-30.7 0,-42.4 -5.7,-5.7 -13.2,-8.8 -21.2,-8.8 -8,0 -15.5,3.1 -21.2,8.8 l -79.1,79.1 c -11.7,11.7 -11.7,30.7 0,42.4 5.699,5.7 13.199,8.8 21.199,8.8 8,0 15.499,-3.1 21.2,-8.8 z"
|
||||
id="path6"
|
||||
style="fill:#ffccaa" />
|
||||
</g>
|
||||
<g
|
||||
id="g14"
|
||||
style="fill:#ffccaa">
|
||||
<path
|
||||
d="m 834.899,434.349 c -35.6,-35.6 -82.899,-55.2 -133.199,-55.2 H 546 c -11,0 -20,9 -20,20 v 87.601 c 0,11 9,20 20,20 h 48.1 c 11,0 20,-9 20,-20 v -19.5 h 87.6 c 55.399,0 100.199,44.9 100.199,100.199 v 1.4 0 1.4 c 0,55.4 -44.899,100.199 -100.199,100.199 h -87.6 v -19.5 c 0,-11 -9,-20 -20,-20 H 546 c -11,0 -20,9 -20,20 v 87.801 c 0,11 9,20 20,20 h 155.7 c 50.3,0 97.6,-19.6 133.199,-55.201 35.601,-35.6 55.2,-82.898 55.2,-133.199 v -1.4 0 -1.4 C 890,517.25 870.5,469.949 834.899,434.349 Z"
|
||||
id="path10"
|
||||
style="fill:#ffccaa" />
|
||||
<path
|
||||
d="m 55.2,434.349 c 35.6,-35.6 82.9,-55.2 133.2,-55.2 h 155.7 c 11,0 20,9 20,20 v 87.601 c 0,11 -9,20 -20,20 H 296 c -11,0 -20,-9 -20,-20 v -19.5 h -87.7 c -55.4,0 -100.2,44.9 -100.2,100.199 v 1.4 0 1.4 c 0,55.4 44.9,100.199 100.2,100.199 h 87.6 v -19.5 c 0,-11 9,-20 20,-20 H 344 c 11,0 20,9 20,20 v 87.801 c 0,11 -9,20 -20,20 H 188.3 c -50.3,0 -97.6,-19.6 -133.2,-55.201 C 19.6,668.049 0,620.75 0,570.449 v -1.4 0 -1.398 C 0,517.25 19.6,469.949 55.2,434.349 Z"
|
||||
id="path12"
|
||||
style="fill:#ffccaa" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g20"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g22"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g24"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g26"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g28"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g30"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g32"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g34"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g36"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g38"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g40"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g42"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g44"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g46"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g48"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 5 KiB |
38
addons/gdUnit4/src/ui/assets/orphan/orphan_red1.svg.import
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://da6s7yd3mpcbp"
|
||||
path="res://.godot/imported/orphan_red1.svg-8ddad0e8a9c8884f19621c8f733ce341.ctex"
|
||||
metadata={
|
||||
"has_editor_variant": true,
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/gdUnit4/src/ui/assets/orphan/orphan_red1.svg"
|
||||
dest_files=["res://.godot/imported/orphan_red1.svg-8ddad0e8a9c8884f19621c8f733ce341.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
svg/scale=1.0
|
||||
editor/scale_with_editor_scale=true
|
||||
editor/convert_colors_with_editor_theme=true
|
||||
156
addons/gdUnit4/src/ui/assets/orphan/orphan_red2.svg
Normal file
|
|
@ -0,0 +1,156 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
id="Capa_1"
|
||||
x="0px"
|
||||
y="0px"
|
||||
width="12"
|
||||
height="12"
|
||||
viewBox="0 0 12 12"
|
||||
xml:space="preserve"
|
||||
sodipodi:docname="orphan_red2.svg"
|
||||
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)"><metadata
|
||||
id="metadata55"><rdf:RDF><cc:Work
|
||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
|
||||
id="defs53" /><sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1798"
|
||||
inkscape:window-height="991"
|
||||
id="namedview51"
|
||||
showgrid="false"
|
||||
inkscape:zoom="47.437486"
|
||||
inkscape:cx="0.78958849"
|
||||
inkscape:cy="5.2040062"
|
||||
inkscape:window-x="106"
|
||||
inkscape:window-y="14"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="Capa_1"
|
||||
inkscape:document-rotation="0" />
|
||||
<g
|
||||
id="g18"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ffb380">
|
||||
<g
|
||||
id="g16"
|
||||
style="fill:#ffb380">
|
||||
<g
|
||||
id="g8"
|
||||
style="fill:#ffb380">
|
||||
<path
|
||||
d="m 443.6,131.35 c -16.5,0 -30,13.5 -30,30 v 111.9 c 0,16.5 13.5,30 30,30 16.5,0 30,-13.5 30,-30 v -111.9 c 0,-16.5 -13.4,-30 -30,-30 z"
|
||||
id="path2"
|
||||
style="fill:#ffb380" />
|
||||
<path
|
||||
d="m 287.3,199.75 c -5.7,-5.7 -13.2,-8.8 -21.2,-8.8 -8,0 -15.5,3.1 -21.2,8.8 -11.7,11.7 -11.7,30.7 0,42.4 l 79.1,79.1 c 5.7,5.7 13.2,8.8 21.2,8.8 8,0 15.5,-3.1 21.199,-8.8 11.7,-11.7 11.7,-30.7 0,-42.4 z"
|
||||
id="path4"
|
||||
style="fill:#ffb380" />
|
||||
<path
|
||||
d="m 566.1,321.25 79.101,-79.1 c 11.699,-11.7 11.699,-30.7 0,-42.4 -5.7,-5.7 -13.2,-8.8 -21.2,-8.8 -8,0 -15.5,3.1 -21.2,8.8 l -79.1,79.1 c -11.7,11.7 -11.7,30.7 0,42.4 5.699,5.7 13.199,8.8 21.199,8.8 8,0 15.499,-3.1 21.2,-8.8 z"
|
||||
id="path6"
|
||||
style="fill:#ffb380" />
|
||||
</g>
|
||||
<g
|
||||
id="g14"
|
||||
style="fill:#ffb380">
|
||||
<path
|
||||
d="m 834.899,434.349 c -35.6,-35.6 -82.899,-55.2 -133.199,-55.2 H 546 c -11,0 -20,9 -20,20 v 87.601 c 0,11 9,20 20,20 h 48.1 c 11,0 20,-9 20,-20 v -19.5 h 87.6 c 55.399,0 100.199,44.9 100.199,100.199 v 1.4 0 1.4 c 0,55.4 -44.899,100.199 -100.199,100.199 h -87.6 v -19.5 c 0,-11 -9,-20 -20,-20 H 546 c -11,0 -20,9 -20,20 v 87.801 c 0,11 9,20 20,20 h 155.7 c 50.3,0 97.6,-19.6 133.199,-55.201 35.601,-35.6 55.2,-82.898 55.2,-133.199 v -1.4 0 -1.4 C 890,517.25 870.5,469.949 834.899,434.349 Z"
|
||||
id="path10"
|
||||
style="fill:#ffb380" />
|
||||
<path
|
||||
d="m 55.2,434.349 c 35.6,-35.6 82.9,-55.2 133.2,-55.2 h 155.7 c 11,0 20,9 20,20 v 87.601 c 0,11 -9,20 -20,20 H 296 c -11,0 -20,-9 -20,-20 v -19.5 h -87.7 c -55.4,0 -100.2,44.9 -100.2,100.199 v 1.4 0 1.4 c 0,55.4 44.9,100.199 100.2,100.199 h 87.6 v -19.5 c 0,-11 9,-20 20,-20 H 344 c 11,0 20,9 20,20 v 87.801 c 0,11 -9,20 -20,20 H 188.3 c -50.3,0 -97.6,-19.6 -133.2,-55.201 C 19.6,668.049 0,620.75 0,570.449 v -1.4 0 -1.398 C 0,517.25 19.6,469.949 55.2,434.349 Z"
|
||||
id="path12"
|
||||
style="fill:#ffb380" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g20"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g22"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g24"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g26"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g28"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g30"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g32"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g34"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g36"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g38"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g40"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g42"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g44"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g46"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g48"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 5 KiB |
38
addons/gdUnit4/src/ui/assets/orphan/orphan_red2.svg.import
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cnvenq5hici48"
|
||||
path="res://.godot/imported/orphan_red2.svg-3ab7610a37b37b2e46ca7faaba5a2c40.ctex"
|
||||
metadata={
|
||||
"has_editor_variant": true,
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/gdUnit4/src/ui/assets/orphan/orphan_red2.svg"
|
||||
dest_files=["res://.godot/imported/orphan_red2.svg-3ab7610a37b37b2e46ca7faaba5a2c40.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
svg/scale=1.0
|
||||
editor/scale_with_editor_scale=true
|
||||
editor/convert_colors_with_editor_theme=true
|
||||
156
addons/gdUnit4/src/ui/assets/orphan/orphan_red3.svg
Normal file
|
|
@ -0,0 +1,156 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
id="Capa_1"
|
||||
x="0px"
|
||||
y="0px"
|
||||
width="12"
|
||||
height="12"
|
||||
viewBox="0 0 12 12"
|
||||
xml:space="preserve"
|
||||
sodipodi:docname="orphan_red3.svg"
|
||||
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)"><metadata
|
||||
id="metadata55"><rdf:RDF><cc:Work
|
||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
|
||||
id="defs53" /><sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1798"
|
||||
inkscape:window-height="991"
|
||||
id="namedview51"
|
||||
showgrid="false"
|
||||
inkscape:zoom="47.437486"
|
||||
inkscape:cx="0.78958849"
|
||||
inkscape:cy="5.2040062"
|
||||
inkscape:window-x="106"
|
||||
inkscape:window-y="14"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="Capa_1"
|
||||
inkscape:document-rotation="0" />
|
||||
<g
|
||||
id="g18"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff9955">
|
||||
<g
|
||||
id="g16"
|
||||
style="fill:#ff9955">
|
||||
<g
|
||||
id="g8"
|
||||
style="fill:#ff9955">
|
||||
<path
|
||||
d="m 443.6,131.35 c -16.5,0 -30,13.5 -30,30 v 111.9 c 0,16.5 13.5,30 30,30 16.5,0 30,-13.5 30,-30 v -111.9 c 0,-16.5 -13.4,-30 -30,-30 z"
|
||||
id="path2"
|
||||
style="fill:#ff9955" />
|
||||
<path
|
||||
d="m 287.3,199.75 c -5.7,-5.7 -13.2,-8.8 -21.2,-8.8 -8,0 -15.5,3.1 -21.2,8.8 -11.7,11.7 -11.7,30.7 0,42.4 l 79.1,79.1 c 5.7,5.7 13.2,8.8 21.2,8.8 8,0 15.5,-3.1 21.199,-8.8 11.7,-11.7 11.7,-30.7 0,-42.4 z"
|
||||
id="path4"
|
||||
style="fill:#ff9955" />
|
||||
<path
|
||||
d="m 566.1,321.25 79.101,-79.1 c 11.699,-11.7 11.699,-30.7 0,-42.4 -5.7,-5.7 -13.2,-8.8 -21.2,-8.8 -8,0 -15.5,3.1 -21.2,8.8 l -79.1,79.1 c -11.7,11.7 -11.7,30.7 0,42.4 5.699,5.7 13.199,8.8 21.199,8.8 8,0 15.499,-3.1 21.2,-8.8 z"
|
||||
id="path6"
|
||||
style="fill:#ff9955" />
|
||||
</g>
|
||||
<g
|
||||
id="g14"
|
||||
style="fill:#ff9955">
|
||||
<path
|
||||
d="m 834.899,434.349 c -35.6,-35.6 -82.899,-55.2 -133.199,-55.2 H 546 c -11,0 -20,9 -20,20 v 87.601 c 0,11 9,20 20,20 h 48.1 c 11,0 20,-9 20,-20 v -19.5 h 87.6 c 55.399,0 100.199,44.9 100.199,100.199 v 1.4 0 1.4 c 0,55.4 -44.899,100.199 -100.199,100.199 h -87.6 v -19.5 c 0,-11 -9,-20 -20,-20 H 546 c -11,0 -20,9 -20,20 v 87.801 c 0,11 9,20 20,20 h 155.7 c 50.3,0 97.6,-19.6 133.199,-55.201 35.601,-35.6 55.2,-82.898 55.2,-133.199 v -1.4 0 -1.4 C 890,517.25 870.5,469.949 834.899,434.349 Z"
|
||||
id="path10"
|
||||
style="fill:#ff9955" />
|
||||
<path
|
||||
d="m 55.2,434.349 c 35.6,-35.6 82.9,-55.2 133.2,-55.2 h 155.7 c 11,0 20,9 20,20 v 87.601 c 0,11 -9,20 -20,20 H 296 c -11,0 -20,-9 -20,-20 v -19.5 h -87.7 c -55.4,0 -100.2,44.9 -100.2,100.199 v 1.4 0 1.4 c 0,55.4 44.9,100.199 100.2,100.199 h 87.6 v -19.5 c 0,-11 9,-20 20,-20 H 344 c 11,0 20,9 20,20 v 87.801 c 0,11 -9,20 -20,20 H 188.3 c -50.3,0 -97.6,-19.6 -133.2,-55.201 C 19.6,668.049 0,620.75 0,570.449 v -1.4 0 -1.398 C 0,517.25 19.6,469.949 55.2,434.349 Z"
|
||||
id="path12"
|
||||
style="fill:#ff9955" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g20"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g22"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g24"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g26"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g28"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g30"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g32"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g34"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g36"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g38"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g40"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g42"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g44"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g46"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g48"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 5 KiB |
38
addons/gdUnit4/src/ui/assets/orphan/orphan_red3.svg.import
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cbnqfoh4n6bj5"
|
||||
path="res://.godot/imported/orphan_red3.svg-2f1ae0a474446c730d13e401878da7f2.ctex"
|
||||
metadata={
|
||||
"has_editor_variant": true,
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/gdUnit4/src/ui/assets/orphan/orphan_red3.svg"
|
||||
dest_files=["res://.godot/imported/orphan_red3.svg-2f1ae0a474446c730d13e401878da7f2.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
svg/scale=1.0
|
||||
editor/scale_with_editor_scale=true
|
||||
editor/convert_colors_with_editor_theme=true
|
||||
156
addons/gdUnit4/src/ui/assets/orphan/orphan_red4.svg
Normal file
|
|
@ -0,0 +1,156 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
id="Capa_1"
|
||||
x="0px"
|
||||
y="0px"
|
||||
width="12"
|
||||
height="12"
|
||||
viewBox="0 0 12 12"
|
||||
xml:space="preserve"
|
||||
sodipodi:docname="orphan_red4.svg"
|
||||
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)"><metadata
|
||||
id="metadata55"><rdf:RDF><cc:Work
|
||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
|
||||
id="defs53" /><sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1798"
|
||||
inkscape:window-height="991"
|
||||
id="namedview51"
|
||||
showgrid="false"
|
||||
inkscape:zoom="47.437486"
|
||||
inkscape:cx="0.78958849"
|
||||
inkscape:cy="5.2040062"
|
||||
inkscape:window-x="106"
|
||||
inkscape:window-y="14"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="Capa_1"
|
||||
inkscape:document-rotation="0" />
|
||||
<g
|
||||
id="g18"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff7f2a">
|
||||
<g
|
||||
id="g16"
|
||||
style="fill:#ff7f2a">
|
||||
<g
|
||||
id="g8"
|
||||
style="fill:#ff7f2a">
|
||||
<path
|
||||
d="m 443.6,131.35 c -16.5,0 -30,13.5 -30,30 v 111.9 c 0,16.5 13.5,30 30,30 16.5,0 30,-13.5 30,-30 v -111.9 c 0,-16.5 -13.4,-30 -30,-30 z"
|
||||
id="path2"
|
||||
style="fill:#ff7f2a" />
|
||||
<path
|
||||
d="m 287.3,199.75 c -5.7,-5.7 -13.2,-8.8 -21.2,-8.8 -8,0 -15.5,3.1 -21.2,8.8 -11.7,11.7 -11.7,30.7 0,42.4 l 79.1,79.1 c 5.7,5.7 13.2,8.8 21.2,8.8 8,0 15.5,-3.1 21.199,-8.8 11.7,-11.7 11.7,-30.7 0,-42.4 z"
|
||||
id="path4"
|
||||
style="fill:#ff7f2a" />
|
||||
<path
|
||||
d="m 566.1,321.25 79.101,-79.1 c 11.699,-11.7 11.699,-30.7 0,-42.4 -5.7,-5.7 -13.2,-8.8 -21.2,-8.8 -8,0 -15.5,3.1 -21.2,8.8 l -79.1,79.1 c -11.7,11.7 -11.7,30.7 0,42.4 5.699,5.7 13.199,8.8 21.199,8.8 8,0 15.499,-3.1 21.2,-8.8 z"
|
||||
id="path6"
|
||||
style="fill:#ff7f2a" />
|
||||
</g>
|
||||
<g
|
||||
id="g14"
|
||||
style="fill:#ff7f2a">
|
||||
<path
|
||||
d="m 834.899,434.349 c -35.6,-35.6 -82.899,-55.2 -133.199,-55.2 H 546 c -11,0 -20,9 -20,20 v 87.601 c 0,11 9,20 20,20 h 48.1 c 11,0 20,-9 20,-20 v -19.5 h 87.6 c 55.399,0 100.199,44.9 100.199,100.199 v 1.4 0 1.4 c 0,55.4 -44.899,100.199 -100.199,100.199 h -87.6 v -19.5 c 0,-11 -9,-20 -20,-20 H 546 c -11,0 -20,9 -20,20 v 87.801 c 0,11 9,20 20,20 h 155.7 c 50.3,0 97.6,-19.6 133.199,-55.201 35.601,-35.6 55.2,-82.898 55.2,-133.199 v -1.4 0 -1.4 C 890,517.25 870.5,469.949 834.899,434.349 Z"
|
||||
id="path10"
|
||||
style="fill:#ff7f2a" />
|
||||
<path
|
||||
d="m 55.2,434.349 c 35.6,-35.6 82.9,-55.2 133.2,-55.2 h 155.7 c 11,0 20,9 20,20 v 87.601 c 0,11 -9,20 -20,20 H 296 c -11,0 -20,-9 -20,-20 v -19.5 h -87.7 c -55.4,0 -100.2,44.9 -100.2,100.199 v 1.4 0 1.4 c 0,55.4 44.9,100.199 100.2,100.199 h 87.6 v -19.5 c 0,-11 9,-20 20,-20 H 344 c 11,0 20,9 20,20 v 87.801 c 0,11 -9,20 -20,20 H 188.3 c -50.3,0 -97.6,-19.6 -133.2,-55.201 C 19.6,668.049 0,620.75 0,570.449 v -1.4 0 -1.398 C 0,517.25 19.6,469.949 55.2,434.349 Z"
|
||||
id="path12"
|
||||
style="fill:#ff7f2a" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g20"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g22"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g24"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g26"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g28"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g30"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g32"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g34"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g36"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g38"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g40"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g42"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g44"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g46"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g48"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 5 KiB |
38
addons/gdUnit4/src/ui/assets/orphan/orphan_red4.svg.import
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bjm3fxk3ieapk"
|
||||
path="res://.godot/imported/orphan_red4.svg-b6aa919f74c7c5f9e6a5a87210e2194e.ctex"
|
||||
metadata={
|
||||
"has_editor_variant": true,
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/gdUnit4/src/ui/assets/orphan/orphan_red4.svg"
|
||||
dest_files=["res://.godot/imported/orphan_red4.svg-b6aa919f74c7c5f9e6a5a87210e2194e.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
svg/scale=1.0
|
||||
editor/scale_with_editor_scale=true
|
||||
editor/convert_colors_with_editor_theme=true
|
||||
156
addons/gdUnit4/src/ui/assets/orphan/orphan_red5.svg
Normal file
|
|
@ -0,0 +1,156 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
id="Capa_1"
|
||||
x="0px"
|
||||
y="0px"
|
||||
width="12"
|
||||
height="12"
|
||||
viewBox="0 0 12 12"
|
||||
xml:space="preserve"
|
||||
sodipodi:docname="orphan_red5.svg"
|
||||
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)"><metadata
|
||||
id="metadata55"><rdf:RDF><cc:Work
|
||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
|
||||
id="defs53" /><sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1798"
|
||||
inkscape:window-height="991"
|
||||
id="namedview51"
|
||||
showgrid="false"
|
||||
inkscape:zoom="47.437486"
|
||||
inkscape:cx="0.78958849"
|
||||
inkscape:cy="5.2040062"
|
||||
inkscape:window-x="106"
|
||||
inkscape:window-y="14"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="Capa_1"
|
||||
inkscape:document-rotation="0" />
|
||||
<g
|
||||
id="g18"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff6600">
|
||||
<g
|
||||
id="g16"
|
||||
style="fill:#ff6600">
|
||||
<g
|
||||
id="g8"
|
||||
style="fill:#ff6600">
|
||||
<path
|
||||
d="m 443.6,131.35 c -16.5,0 -30,13.5 -30,30 v 111.9 c 0,16.5 13.5,30 30,30 16.5,0 30,-13.5 30,-30 v -111.9 c 0,-16.5 -13.4,-30 -30,-30 z"
|
||||
id="path2"
|
||||
style="fill:#ff6600" />
|
||||
<path
|
||||
d="m 287.3,199.75 c -5.7,-5.7 -13.2,-8.8 -21.2,-8.8 -8,0 -15.5,3.1 -21.2,8.8 -11.7,11.7 -11.7,30.7 0,42.4 l 79.1,79.1 c 5.7,5.7 13.2,8.8 21.2,8.8 8,0 15.5,-3.1 21.199,-8.8 11.7,-11.7 11.7,-30.7 0,-42.4 z"
|
||||
id="path4"
|
||||
style="fill:#ff6600" />
|
||||
<path
|
||||
d="m 566.1,321.25 79.101,-79.1 c 11.699,-11.7 11.699,-30.7 0,-42.4 -5.7,-5.7 -13.2,-8.8 -21.2,-8.8 -8,0 -15.5,3.1 -21.2,8.8 l -79.1,79.1 c -11.7,11.7 -11.7,30.7 0,42.4 5.699,5.7 13.199,8.8 21.199,8.8 8,0 15.499,-3.1 21.2,-8.8 z"
|
||||
id="path6"
|
||||
style="fill:#ff6600" />
|
||||
</g>
|
||||
<g
|
||||
id="g14"
|
||||
style="fill:#ff6600">
|
||||
<path
|
||||
d="m 834.899,434.349 c -35.6,-35.6 -82.899,-55.2 -133.199,-55.2 H 546 c -11,0 -20,9 -20,20 v 87.601 c 0,11 9,20 20,20 h 48.1 c 11,0 20,-9 20,-20 v -19.5 h 87.6 c 55.399,0 100.199,44.9 100.199,100.199 v 1.4 0 1.4 c 0,55.4 -44.899,100.199 -100.199,100.199 h -87.6 v -19.5 c 0,-11 -9,-20 -20,-20 H 546 c -11,0 -20,9 -20,20 v 87.801 c 0,11 9,20 20,20 h 155.7 c 50.3,0 97.6,-19.6 133.199,-55.201 35.601,-35.6 55.2,-82.898 55.2,-133.199 v -1.4 0 -1.4 C 890,517.25 870.5,469.949 834.899,434.349 Z"
|
||||
id="path10"
|
||||
style="fill:#ff6600" />
|
||||
<path
|
||||
d="m 55.2,434.349 c 35.6,-35.6 82.9,-55.2 133.2,-55.2 h 155.7 c 11,0 20,9 20,20 v 87.601 c 0,11 -9,20 -20,20 H 296 c -11,0 -20,-9 -20,-20 v -19.5 h -87.7 c -55.4,0 -100.2,44.9 -100.2,100.199 v 1.4 0 1.4 c 0,55.4 44.9,100.199 100.2,100.199 h 87.6 v -19.5 c 0,-11 9,-20 20,-20 H 344 c 11,0 20,9 20,20 v 87.801 c 0,11 -9,20 -20,20 H 188.3 c -50.3,0 -97.6,-19.6 -133.2,-55.201 C 19.6,668.049 0,620.75 0,570.449 v -1.4 0 -1.398 C 0,517.25 19.6,469.949 55.2,434.349 Z"
|
||||
id="path12"
|
||||
style="fill:#ff6600" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g20"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g22"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g24"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g26"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g28"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g30"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g32"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g34"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g36"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g38"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g40"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g42"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g44"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g46"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g48"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 5 KiB |
38
addons/gdUnit4/src/ui/assets/orphan/orphan_red5.svg.import
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://nj6xpoxpf6i5"
|
||||
path="res://.godot/imported/orphan_red5.svg-94eac4c39a2d4020f502eab72982b3f2.ctex"
|
||||
metadata={
|
||||
"has_editor_variant": true,
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/gdUnit4/src/ui/assets/orphan/orphan_red5.svg"
|
||||
dest_files=["res://.godot/imported/orphan_red5.svg-94eac4c39a2d4020f502eab72982b3f2.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
svg/scale=1.0
|
||||
editor/scale_with_editor_scale=true
|
||||
editor/convert_colors_with_editor_theme=true
|
||||
156
addons/gdUnit4/src/ui/assets/orphan/orphan_red6.svg
Normal file
|
|
@ -0,0 +1,156 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
id="Capa_1"
|
||||
x="0px"
|
||||
y="0px"
|
||||
width="12"
|
||||
height="12"
|
||||
viewBox="0 0 12 12"
|
||||
xml:space="preserve"
|
||||
sodipodi:docname="orphan_red6.svg"
|
||||
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)"><metadata
|
||||
id="metadata55"><rdf:RDF><cc:Work
|
||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
|
||||
id="defs53" /><sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1798"
|
||||
inkscape:window-height="991"
|
||||
id="namedview51"
|
||||
showgrid="false"
|
||||
inkscape:zoom="47.437486"
|
||||
inkscape:cx="0.78958849"
|
||||
inkscape:cy="5.2040062"
|
||||
inkscape:window-x="106"
|
||||
inkscape:window-y="14"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="Capa_1"
|
||||
inkscape:document-rotation="0" />
|
||||
<g
|
||||
id="g18"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#d45500">
|
||||
<g
|
||||
id="g16"
|
||||
style="fill:#d45500">
|
||||
<g
|
||||
id="g8"
|
||||
style="fill:#d45500">
|
||||
<path
|
||||
d="m 443.6,131.35 c -16.5,0 -30,13.5 -30,30 v 111.9 c 0,16.5 13.5,30 30,30 16.5,0 30,-13.5 30,-30 v -111.9 c 0,-16.5 -13.4,-30 -30,-30 z"
|
||||
id="path2"
|
||||
style="fill:#d45500" />
|
||||
<path
|
||||
d="m 287.3,199.75 c -5.7,-5.7 -13.2,-8.8 -21.2,-8.8 -8,0 -15.5,3.1 -21.2,8.8 -11.7,11.7 -11.7,30.7 0,42.4 l 79.1,79.1 c 5.7,5.7 13.2,8.8 21.2,8.8 8,0 15.5,-3.1 21.199,-8.8 11.7,-11.7 11.7,-30.7 0,-42.4 z"
|
||||
id="path4"
|
||||
style="fill:#d45500" />
|
||||
<path
|
||||
d="m 566.1,321.25 79.101,-79.1 c 11.699,-11.7 11.699,-30.7 0,-42.4 -5.7,-5.7 -13.2,-8.8 -21.2,-8.8 -8,0 -15.5,3.1 -21.2,8.8 l -79.1,79.1 c -11.7,11.7 -11.7,30.7 0,42.4 5.699,5.7 13.199,8.8 21.199,8.8 8,0 15.499,-3.1 21.2,-8.8 z"
|
||||
id="path6"
|
||||
style="fill:#d45500" />
|
||||
</g>
|
||||
<g
|
||||
id="g14"
|
||||
style="fill:#d45500">
|
||||
<path
|
||||
d="m 834.899,434.349 c -35.6,-35.6 -82.899,-55.2 -133.199,-55.2 H 546 c -11,0 -20,9 -20,20 v 87.601 c 0,11 9,20 20,20 h 48.1 c 11,0 20,-9 20,-20 v -19.5 h 87.6 c 55.399,0 100.199,44.9 100.199,100.199 v 1.4 0 1.4 c 0,55.4 -44.899,100.199 -100.199,100.199 h -87.6 v -19.5 c 0,-11 -9,-20 -20,-20 H 546 c -11,0 -20,9 -20,20 v 87.801 c 0,11 9,20 20,20 h 155.7 c 50.3,0 97.6,-19.6 133.199,-55.201 35.601,-35.6 55.2,-82.898 55.2,-133.199 v -1.4 0 -1.4 C 890,517.25 870.5,469.949 834.899,434.349 Z"
|
||||
id="path10"
|
||||
style="fill:#d45500" />
|
||||
<path
|
||||
d="m 55.2,434.349 c 35.6,-35.6 82.9,-55.2 133.2,-55.2 h 155.7 c 11,0 20,9 20,20 v 87.601 c 0,11 -9,20 -20,20 H 296 c -11,0 -20,-9 -20,-20 v -19.5 h -87.7 c -55.4,0 -100.2,44.9 -100.2,100.199 v 1.4 0 1.4 c 0,55.4 44.9,100.199 100.2,100.199 h 87.6 v -19.5 c 0,-11 9,-20 20,-20 H 344 c 11,0 20,9 20,20 v 87.801 c 0,11 -9,20 -20,20 H 188.3 c -50.3,0 -97.6,-19.6 -133.2,-55.201 C 19.6,668.049 0,620.75 0,570.449 v -1.4 0 -1.398 C 0,517.25 19.6,469.949 55.2,434.349 Z"
|
||||
id="path12"
|
||||
style="fill:#d45500" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g20"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g22"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g24"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g26"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g28"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g30"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g32"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g34"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g36"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g38"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g40"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g42"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g44"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g46"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g48"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 5 KiB |
38
addons/gdUnit4/src/ui/assets/orphan/orphan_red6.svg.import
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bylpj2dbacbaw"
|
||||
path="res://.godot/imported/orphan_red6.svg-fb927f6dc4442199133d2e25e9d9d21a.ctex"
|
||||
metadata={
|
||||
"has_editor_variant": true,
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/gdUnit4/src/ui/assets/orphan/orphan_red6.svg"
|
||||
dest_files=["res://.godot/imported/orphan_red6.svg-fb927f6dc4442199133d2e25e9d9d21a.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
svg/scale=1.0
|
||||
editor/scale_with_editor_scale=true
|
||||
editor/convert_colors_with_editor_theme=true
|
||||
156
addons/gdUnit4/src/ui/assets/orphan/orphan_red7.svg
Normal file
|
|
@ -0,0 +1,156 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
id="Capa_1"
|
||||
x="0px"
|
||||
y="0px"
|
||||
width="12"
|
||||
height="12"
|
||||
viewBox="0 0 12 12"
|
||||
xml:space="preserve"
|
||||
sodipodi:docname="orphan_red7.svg"
|
||||
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)"><metadata
|
||||
id="metadata55"><rdf:RDF><cc:Work
|
||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
|
||||
id="defs53" /><sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1798"
|
||||
inkscape:window-height="991"
|
||||
id="namedview51"
|
||||
showgrid="false"
|
||||
inkscape:zoom="47.437486"
|
||||
inkscape:cx="0.78958849"
|
||||
inkscape:cy="5.2040062"
|
||||
inkscape:window-x="106"
|
||||
inkscape:window-y="14"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="Capa_1"
|
||||
inkscape:document-rotation="0" />
|
||||
<g
|
||||
id="g18"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#d40000">
|
||||
<g
|
||||
id="g16"
|
||||
style="fill:#d40000">
|
||||
<g
|
||||
id="g8"
|
||||
style="fill:#d40000">
|
||||
<path
|
||||
d="m 443.6,131.35 c -16.5,0 -30,13.5 -30,30 v 111.9 c 0,16.5 13.5,30 30,30 16.5,0 30,-13.5 30,-30 v -111.9 c 0,-16.5 -13.4,-30 -30,-30 z"
|
||||
id="path2"
|
||||
style="fill:#d40000" />
|
||||
<path
|
||||
d="m 287.3,199.75 c -5.7,-5.7 -13.2,-8.8 -21.2,-8.8 -8,0 -15.5,3.1 -21.2,8.8 -11.7,11.7 -11.7,30.7 0,42.4 l 79.1,79.1 c 5.7,5.7 13.2,8.8 21.2,8.8 8,0 15.5,-3.1 21.199,-8.8 11.7,-11.7 11.7,-30.7 0,-42.4 z"
|
||||
id="path4"
|
||||
style="fill:#d40000" />
|
||||
<path
|
||||
d="m 566.1,321.25 79.101,-79.1 c 11.699,-11.7 11.699,-30.7 0,-42.4 -5.7,-5.7 -13.2,-8.8 -21.2,-8.8 -8,0 -15.5,3.1 -21.2,8.8 l -79.1,79.1 c -11.7,11.7 -11.7,30.7 0,42.4 5.699,5.7 13.199,8.8 21.199,8.8 8,0 15.499,-3.1 21.2,-8.8 z"
|
||||
id="path6"
|
||||
style="fill:#d40000" />
|
||||
</g>
|
||||
<g
|
||||
id="g14"
|
||||
style="fill:#d40000">
|
||||
<path
|
||||
d="m 834.899,434.349 c -35.6,-35.6 -82.899,-55.2 -133.199,-55.2 H 546 c -11,0 -20,9 -20,20 v 87.601 c 0,11 9,20 20,20 h 48.1 c 11,0 20,-9 20,-20 v -19.5 h 87.6 c 55.399,0 100.199,44.9 100.199,100.199 v 1.4 0 1.4 c 0,55.4 -44.899,100.199 -100.199,100.199 h -87.6 v -19.5 c 0,-11 -9,-20 -20,-20 H 546 c -11,0 -20,9 -20,20 v 87.801 c 0,11 9,20 20,20 h 155.7 c 50.3,0 97.6,-19.6 133.199,-55.201 35.601,-35.6 55.2,-82.898 55.2,-133.199 v -1.4 0 -1.4 C 890,517.25 870.5,469.949 834.899,434.349 Z"
|
||||
id="path10"
|
||||
style="fill:#d40000" />
|
||||
<path
|
||||
d="m 55.2,434.349 c 35.6,-35.6 82.9,-55.2 133.2,-55.2 h 155.7 c 11,0 20,9 20,20 v 87.601 c 0,11 -9,20 -20,20 H 296 c -11,0 -20,-9 -20,-20 v -19.5 h -87.7 c -55.4,0 -100.2,44.9 -100.2,100.199 v 1.4 0 1.4 c 0,55.4 44.9,100.199 100.2,100.199 h 87.6 v -19.5 c 0,-11 9,-20 20,-20 H 344 c 11,0 20,9 20,20 v 87.801 c 0,11 -9,20 -20,20 H 188.3 c -50.3,0 -97.6,-19.6 -133.2,-55.201 C 19.6,668.049 0,620.75 0,570.449 v -1.4 0 -1.398 C 0,517.25 19.6,469.949 55.2,434.349 Z"
|
||||
id="path12"
|
||||
style="fill:#d40000" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g20"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g22"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g24"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g26"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g28"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g30"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g32"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g34"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g36"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g38"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g40"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g42"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g44"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g46"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
<g
|
||||
id="g48"
|
||||
transform="matrix(0.01348165,0,0,0.01912658,0,-2.5122764)"
|
||||
style="fill:#ff0000">
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 5 KiB |
38
addons/gdUnit4/src/ui/assets/orphan/orphan_red7.svg.import
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bpqfgn22gmpjm"
|
||||
path="res://.godot/imported/orphan_red7.svg-4b4ab8aec1bc8343d5df6b64a24f7c22.ctex"
|
||||
metadata={
|
||||
"has_editor_variant": true,
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/gdUnit4/src/ui/assets/orphan/orphan_red7.svg"
|
||||
dest_files=["res://.godot/imported/orphan_red7.svg-4b4ab8aec1bc8343d5df6b64a24f7c22.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
svg/scale=1.0
|
||||
editor/scale_with_editor_scale=true
|
||||
editor/convert_colors_with_editor_theme=true
|
||||
BIN
addons/gdUnit4/src/ui/assets/running.png
Normal file
|
After Width: | Height: | Size: 515 B |
34
addons/gdUnit4/src/ui/assets/running.png.import
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://6x6ew21g57u"
|
||||
path="res://.godot/imported/running.png-0263ac82d8ccdea59d5efbcae7336155.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/gdUnit4/src/ui/assets/running.png"
|
||||
dest_files=["res://.godot/imported/running.png-0263ac82d8ccdea59d5efbcae7336155.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
30
addons/gdUnit4/src/ui/assets/spinner.tres
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
[gd_resource type="AnimatedTexture" load_steps=9 format=3 uid="uid://ck3p6wmq42arh"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://cct6crbhix7u8" path="res://addons/gdUnit4/src/ui/assets/spinner/Progress7.svg" id="1"]
|
||||
[ext_resource type="Texture2D" uid="uid://bkj6kjyjyi7cd" path="res://addons/gdUnit4/src/ui/assets/spinner/Progress5.svg" id="2"]
|
||||
[ext_resource type="Texture2D" uid="uid://ddxpytkht0m5p" path="res://addons/gdUnit4/src/ui/assets/spinner/Progress1.svg" id="3"]
|
||||
[ext_resource type="Texture2D" uid="uid://dqc521iq12a7l" path="res://addons/gdUnit4/src/ui/assets/spinner/Progress8.svg" id="4"]
|
||||
[ext_resource type="Texture2D" uid="uid://dowca7ike2thl" path="res://addons/gdUnit4/src/ui/assets/spinner/Progress2.svg" id="5"]
|
||||
[ext_resource type="Texture2D" uid="uid://bsljbs1aiyels" path="res://addons/gdUnit4/src/ui/assets/spinner/Progress6.svg" id="6"]
|
||||
[ext_resource type="Texture2D" uid="uid://cwh8md6qipmdw" path="res://addons/gdUnit4/src/ui/assets/spinner/Progress3.svg" id="7"]
|
||||
[ext_resource type="Texture2D" uid="uid://dm0jpqdjetv2c" path="res://addons/gdUnit4/src/ui/assets/spinner/Progress4.svg" id="8"]
|
||||
|
||||
[resource]
|
||||
frames = 8
|
||||
speed_scale = 2.5
|
||||
frame_0/texture = ExtResource("3")
|
||||
frame_0/duration = 0.2
|
||||
frame_1/texture = ExtResource("5")
|
||||
frame_1/duration = 0.2
|
||||
frame_2/texture = ExtResource("7")
|
||||
frame_2/duration = 0.2
|
||||
frame_3/texture = ExtResource("8")
|
||||
frame_3/duration = 0.2
|
||||
frame_4/texture = ExtResource("2")
|
||||
frame_4/duration = 0.2
|
||||
frame_5/texture = ExtResource("6")
|
||||
frame_5/duration = 0.2
|
||||
frame_6/texture = ExtResource("1")
|
||||
frame_6/duration = 0.2
|
||||
frame_7/texture = ExtResource("4")
|
||||
frame_7/duration = 0.2
|
||||
1
addons/gdUnit4/src/ui/assets/spinner/Progress1.svg
Normal file
|
|
@ -0,0 +1 @@
|
|||
<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><g fill="#e0e0e0" transform="translate(0 -1036.4)"><path d="m9 1037.4v3.0547a4 4 0 0 1 1.0273.4258l2.1582-2.1582a7 7 0 0 0 -3.1855-1.3223z" fill-opacity=".99608"/><path d="m7 1.0801a7 7 0 0 0 -3.1855 1.3203l2.1582 2.1582a4 4 0 0 1 1.0273-.42773v-3.0508zm-4.5996 2.7344a7 7 0 0 0 -1.3223 3.1855h3.0547a4 4 0 0 1 .42578-1.0273l-2.1582-2.1582zm11.199 0-2.1582 2.1582a4 4 0 0 1 .42774 1.0273h3.0508a7 7 0 0 0 -1.3203-3.1855zm-12.52 5.1855a7 7 0 0 0 1.3203 3.1855l2.1582-2.1582a4 4 0 0 1 -.42773-1.0273h-3.0508zm10.787 0a4 4 0 0 1 -.42578 1.0273l2.1582 2.1582a7 7 0 0 0 1.3223-3.1855h-3.0547zm-5.8945 2.4414-2.1582 2.1582a7 7 0 0 0 3.1855 1.3223v-3.0547a4 4 0 0 1 -1.0273-.42578zm4.0547 0a4 4 0 0 1 -1.0273.42774v3.0508a7 7 0 0 0 3.1855-1.3203l-2.1582-2.1582z" fill-opacity=".19608" transform="translate(0 1036.4)"/></g></svg>
|
||||
|
After Width: | Height: | Size: 905 B |
38
addons/gdUnit4/src/ui/assets/spinner/Progress1.svg.import
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://ddxpytkht0m5p"
|
||||
path="res://.godot/imported/Progress1.svg-baca226eb5c6ca50a0b5f3af77fe615c.ctex"
|
||||
metadata={
|
||||
"has_editor_variant": true,
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/gdUnit4/src/ui/assets/spinner/Progress1.svg"
|
||||
dest_files=["res://.godot/imported/Progress1.svg-baca226eb5c6ca50a0b5f3af77fe615c.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
svg/scale=1.0
|
||||
editor/scale_with_editor_scale=true
|
||||
editor/convert_colors_with_editor_theme=true
|
||||
1
addons/gdUnit4/src/ui/assets/spinner/Progress2.svg
Normal file
|
|
@ -0,0 +1 @@
|
|||
<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><g fill="#e0e0e0" transform="translate(0 -1036.4)"><path d="m9 1.0781v3.0547a4 4 0 0 1 1.0273.42578l2.1582-2.1582a7 7 0 0 0 -3.1855-1.3223zm-2 .0019531a7 7 0 0 0 -3.1855 1.3203l2.1582 2.1582a4 4 0 0 1 1.0273-.42773v-3.0508zm-4.5996 2.7344a7 7 0 0 0 -1.3223 3.1855h3.0547a4 4 0 0 1 .42578-1.0273l-2.1582-2.1582zm-1.3203 5.1855a7 7 0 0 0 1.3203 3.1855l2.1582-2.1582a4 4 0 0 1 -.42773-1.0273h-3.0508zm10.787 0a4 4 0 0 1 -.42578 1.0273l2.1582 2.1582a7 7 0 0 0 1.3223-3.1855h-3.0547zm-5.8945 2.4414-2.1582 2.1582a7 7 0 0 0 3.1855 1.3223v-3.0547a4 4 0 0 1 -1.0273-.42578zm4.0547 0a4 4 0 0 1 -1.0273.42774v3.0508a7 7 0 0 0 3.1855-1.3203l-2.1582-2.1582z" fill-opacity=".19608" transform="translate(0 1036.4)"/><path d="m13.6 1040.2-2.1582 2.1582a4 4 0 0 1 .42774 1.0273h3.0508a7 7 0 0 0 -1.3203-3.1855z" fill-opacity=".99608"/></g></svg>
|
||||
|
After Width: | Height: | Size: 913 B |
38
addons/gdUnit4/src/ui/assets/spinner/Progress2.svg.import
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dowca7ike2thl"
|
||||
path="res://.godot/imported/Progress2.svg-6a0cbcb42a8df535c533cf79599952d6.ctex"
|
||||
metadata={
|
||||
"has_editor_variant": true,
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/gdUnit4/src/ui/assets/spinner/Progress2.svg"
|
||||
dest_files=["res://.godot/imported/Progress2.svg-6a0cbcb42a8df535c533cf79599952d6.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
svg/scale=1.0
|
||||
editor/scale_with_editor_scale=true
|
||||
editor/convert_colors_with_editor_theme=true
|
||||
1
addons/gdUnit4/src/ui/assets/spinner/Progress3.svg
Normal file
|
|
@ -0,0 +1 @@
|
|||
<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><g fill="#e0e0e0" transform="translate(0 -1036.4)"><path d="m9 1.0781v3.0547a4 4 0 0 1 1.0273.42578l2.1582-2.1582a7 7 0 0 0 -3.1855-1.3223zm-2 .0019531a7 7 0 0 0 -3.1855 1.3203l2.1582 2.1582a4 4 0 0 1 1.0273-.42773v-3.0508zm-4.5996 2.7344a7 7 0 0 0 -1.3223 3.1855h3.0547a4 4 0 0 1 .42578-1.0273l-2.1582-2.1582zm11.199 0-2.1582 2.1582a4 4 0 0 1 .42774 1.0273h3.0508a7 7 0 0 0 -1.3203-3.1855zm-12.52 5.1855a7 7 0 0 0 1.3203 3.1855l2.1582-2.1582a4 4 0 0 1 -.42773-1.0273h-3.0508zm4.8926 2.4414-2.1582 2.1582a7 7 0 0 0 3.1855 1.3223v-3.0547a4 4 0 0 1 -1.0273-.42578zm4.0547 0a4 4 0 0 1 -1.0273.42774v3.0508a7 7 0 0 0 3.1855-1.3203l-2.1582-2.1582z" fill-opacity=".19608" transform="translate(0 1036.4)"/><path d="m11.867 1045.4a4 4 0 0 1 -.42578 1.0273l2.1582 2.1582a7 7 0 0 0 1.3223-3.1855h-3.0547z" fill-opacity=".99608"/></g></svg>
|
||||
|
After Width: | Height: | Size: 913 B |
38
addons/gdUnit4/src/ui/assets/spinner/Progress3.svg.import
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cwh8md6qipmdw"
|
||||
path="res://.godot/imported/Progress3.svg-0b465f11e95f98f7b157a0bf0ded40c1.ctex"
|
||||
metadata={
|
||||
"has_editor_variant": true,
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/gdUnit4/src/ui/assets/spinner/Progress3.svg"
|
||||
dest_files=["res://.godot/imported/Progress3.svg-0b465f11e95f98f7b157a0bf0ded40c1.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
svg/scale=1.0
|
||||
editor/scale_with_editor_scale=true
|
||||
editor/convert_colors_with_editor_theme=true
|
||||
1
addons/gdUnit4/src/ui/assets/spinner/Progress4.svg
Normal file
|
|
@ -0,0 +1 @@
|
|||
<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><g fill="#e0e0e0" transform="translate(0 -1036.4)"><path d="m9 1.0781v3.0547a4 4 0 0 1 1.0273.42578l2.1582-2.1582a7 7 0 0 0 -3.1855-1.3223zm-2 .0019531a7 7 0 0 0 -3.1855 1.3203l2.1582 2.1582a4 4 0 0 1 1.0273-.42773v-3.0508zm-4.5996 2.7344a7 7 0 0 0 -1.3223 3.1855h3.0547a4 4 0 0 1 .42578-1.0273l-2.1582-2.1582zm11.199 0-2.1582 2.1582a4 4 0 0 1 .42774 1.0273h3.0508a7 7 0 0 0 -1.3203-3.1855zm-12.52 5.1855a7 7 0 0 0 1.3203 3.1855l2.1582-2.1582a4 4 0 0 1 -.42773-1.0273h-3.0508zm10.787 0a4 4 0 0 1 -.42578 1.0273l2.1582 2.1582a7 7 0 0 0 1.3223-3.1855h-3.0547zm-5.8945 2.4414-2.1582 2.1582a7 7 0 0 0 3.1855 1.3223v-3.0547a4 4 0 0 1 -1.0273-.42578z" fill-opacity=".19608" transform="translate(0 1036.4)"/><path d="m10.027 1047.8a4 4 0 0 1 -1.0273.4277v3.0508a7 7 0 0 0 3.1855-1.3203z" fill-opacity=".99608"/></g></svg>
|
||||
|
After Width: | Height: | Size: 898 B |
38
addons/gdUnit4/src/ui/assets/spinner/Progress4.svg.import
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dm0jpqdjetv2c"
|
||||
path="res://.godot/imported/Progress4.svg-09def7d3fee66ec2764c9bbd72c3a961.ctex"
|
||||
metadata={
|
||||
"has_editor_variant": true,
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/gdUnit4/src/ui/assets/spinner/Progress4.svg"
|
||||
dest_files=["res://.godot/imported/Progress4.svg-09def7d3fee66ec2764c9bbd72c3a961.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
svg/scale=1.0
|
||||
editor/scale_with_editor_scale=true
|
||||
editor/convert_colors_with_editor_theme=true
|
||||
1
addons/gdUnit4/src/ui/assets/spinner/Progress5.svg
Normal file
|
|
@ -0,0 +1 @@
|
|||
<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><g fill="#e0e0e0" transform="translate(0 -1036.4)"><path d="m9 1.0781v3.0547a4 4 0 0 1 1.0273.42578l2.1582-2.1582a7 7 0 0 0 -3.1855-1.3223zm-2 .0019531a7 7 0 0 0 -3.1855 1.3203l2.1582 2.1582a4 4 0 0 1 1.0273-.42773v-3.0508zm-4.5996 2.7344a7 7 0 0 0 -1.3223 3.1855h3.0547a4 4 0 0 1 .42578-1.0273l-2.1582-2.1582zm11.199 0-2.1582 2.1582a4 4 0 0 1 .42774 1.0273h3.0508a7 7 0 0 0 -1.3203-3.1855zm-12.52 5.1855a7 7 0 0 0 1.3203 3.1855l2.1582-2.1582a4 4 0 0 1 -.42773-1.0273h-3.0508zm10.787 0a4 4 0 0 1 -.42578 1.0273l2.1582 2.1582a7 7 0 0 0 1.3223-3.1855h-3.0547zm-1.8398 2.4414a4 4 0 0 1 -1.0273.42774v3.0508a7 7 0 0 0 3.1855-1.3203l-2.1582-2.1582z" fill-opacity=".19608" transform="translate(0 1036.4)"/><path d="m5.9727 1047.8-2.1582 2.1582a7 7 0 0 0 3.1855 1.3223v-3.0547a4 4 0 0 1 -1.0273-.4258z" fill-opacity=".99608"/></g></svg>
|
||||
|
After Width: | Height: | Size: 913 B |
38
addons/gdUnit4/src/ui/assets/spinner/Progress5.svg.import
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bkj6kjyjyi7cd"
|
||||
path="res://.godot/imported/Progress5.svg-9874b4bd1c734fd859a28d95960c17c5.ctex"
|
||||
metadata={
|
||||
"has_editor_variant": true,
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/gdUnit4/src/ui/assets/spinner/Progress5.svg"
|
||||
dest_files=["res://.godot/imported/Progress5.svg-9874b4bd1c734fd859a28d95960c17c5.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
svg/scale=1.0
|
||||
editor/scale_with_editor_scale=true
|
||||
editor/convert_colors_with_editor_theme=true
|
||||
1
addons/gdUnit4/src/ui/assets/spinner/Progress6.svg
Normal file
|
|
@ -0,0 +1 @@
|
|||
<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><g fill="#e0e0e0" transform="translate(0 -1036.4)"><path d="m9 1.0781v3.0547a4 4 0 0 1 1.0273.42578l2.1582-2.1582a7 7 0 0 0 -3.1855-1.3223zm-2 .0019531a7 7 0 0 0 -3.1855 1.3203l2.1582 2.1582a4 4 0 0 1 1.0273-.42773v-3.0508zm-4.5996 2.7344a7 7 0 0 0 -1.3223 3.1855h3.0547a4 4 0 0 1 .42578-1.0273l-2.1582-2.1582zm11.199 0-2.1582 2.1582a4 4 0 0 1 .42774 1.0273h3.0508a7 7 0 0 0 -1.3203-3.1855zm-1.7324 5.1855a4 4 0 0 1 -.42578 1.0273l2.1582 2.1582a7 7 0 0 0 1.3223-3.1855h-3.0547zm-5.8945 2.4414-2.1582 2.1582a7 7 0 0 0 3.1855 1.3223v-3.0547a4 4 0 0 1 -1.0273-.42578zm4.0547 0a4 4 0 0 1 -1.0273.42774v3.0508a7 7 0 0 0 3.1855-1.3203l-2.1582-2.1582z" fill-opacity=".19608" transform="translate(0 1036.4)"/><path d="m1.0801 1045.4a7 7 0 0 0 1.3203 3.1855l2.1582-2.1582a4 4 0 0 1 -.42773-1.0273h-3.0508z" fill-opacity=".99608"/></g></svg>
|
||||
|
After Width: | Height: | Size: 915 B |
38
addons/gdUnit4/src/ui/assets/spinner/Progress6.svg.import
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bsljbs1aiyels"
|
||||
path="res://.godot/imported/Progress6.svg-0a3b2b954e3a285cee1f29222aac701b.ctex"
|
||||
metadata={
|
||||
"has_editor_variant": true,
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/gdUnit4/src/ui/assets/spinner/Progress6.svg"
|
||||
dest_files=["res://.godot/imported/Progress6.svg-0a3b2b954e3a285cee1f29222aac701b.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
svg/scale=1.0
|
||||
editor/scale_with_editor_scale=true
|
||||
editor/convert_colors_with_editor_theme=true
|
||||
1
addons/gdUnit4/src/ui/assets/spinner/Progress7.svg
Normal file
|
|
@ -0,0 +1 @@
|
|||
<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><g fill="#e0e0e0" transform="translate(0 -1036.4)"><path d="m9 1.0781v3.0547a4 4 0 0 1 1.0273.42578l2.1582-2.1582a7 7 0 0 0 -3.1855-1.3223zm-2 .0019531a7 7 0 0 0 -3.1855 1.3203l2.1582 2.1582a4 4 0 0 1 1.0273-.42773v-3.0508zm6.5996 2.7344-2.1582 2.1582a4 4 0 0 1 .42774 1.0273h3.0508a7 7 0 0 0 -1.3203-3.1855zm-12.52 5.1855a7 7 0 0 0 1.3203 3.1855l2.1582-2.1582a4 4 0 0 1 -.42773-1.0273h-3.0508zm10.787 0a4 4 0 0 1 -.42578 1.0273l2.1582 2.1582a7 7 0 0 0 1.3223-3.1855h-3.0547zm-5.8945 2.4414-2.1582 2.1582a7 7 0 0 0 3.1855 1.3223v-3.0547a4 4 0 0 1 -1.0273-.42578zm4.0547 0a4 4 0 0 1 -1.0273.42774v3.0508a7 7 0 0 0 3.1855-1.3203l-2.1582-2.1582z" fill-opacity=".19608" transform="translate(0 1036.4)"/><path d="m2.4004 1040.2a7 7 0 0 0 -1.3223 3.1855h3.0547a4 4 0 0 1 .42578-1.0273l-2.1582-2.1582z" fill-opacity=".99608"/></g></svg>
|
||||
|
After Width: | Height: | Size: 913 B |
38
addons/gdUnit4/src/ui/assets/spinner/Progress7.svg.import
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cct6crbhix7u8"
|
||||
path="res://.godot/imported/Progress7.svg-e824844cb9cfdf076f9196cf47098a7d.ctex"
|
||||
metadata={
|
||||
"has_editor_variant": true,
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/gdUnit4/src/ui/assets/spinner/Progress7.svg"
|
||||
dest_files=["res://.godot/imported/Progress7.svg-e824844cb9cfdf076f9196cf47098a7d.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
svg/scale=1.0
|
||||
editor/scale_with_editor_scale=true
|
||||
editor/convert_colors_with_editor_theme=true
|
||||
1
addons/gdUnit4/src/ui/assets/spinner/Progress8.svg
Normal file
|
|
@ -0,0 +1 @@
|
|||
<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><g fill="#e0e0e0" transform="translate(0 -1036.4)"><path d="m9 1.0781v3.0547a4 4 0 0 1 1.0273.42578l2.1582-2.1582a7 7 0 0 0 -3.1855-1.3223zm-6.5996 2.7363a7 7 0 0 0 -1.3223 3.1855h3.0547a4 4 0 0 1 .42578-1.0273l-2.1582-2.1582zm11.199 0-2.1582 2.1582a4 4 0 0 1 .42774 1.0273h3.0508a7 7 0 0 0 -1.3203-3.1855zm-12.52 5.1855a7 7 0 0 0 1.3203 3.1855l2.1582-2.1582a4 4 0 0 1 -.42773-1.0273h-3.0508zm10.787 0a4 4 0 0 1 -.42578 1.0273l2.1582 2.1582a7 7 0 0 0 1.3223-3.1855h-3.0547zm-5.8945 2.4414-2.1582 2.1582a7 7 0 0 0 3.1855 1.3223v-3.0547a4 4 0 0 1 -1.0273-.42578zm4.0547 0a4 4 0 0 1 -1.0273.42774v3.0508a7 7 0 0 0 3.1855-1.3203l-2.1582-2.1582z" fill-opacity=".19608" transform="translate(0 1036.4)"/><path d="m7 1037.4a7 7 0 0 0 -3.1855 1.3203l2.1582 2.1582a4 4 0 0 1 1.0273-.4277z" fill-opacity=".99608"/></g></svg>
|
||||
|
After Width: | Height: | Size: 897 B |
38
addons/gdUnit4/src/ui/assets/spinner/Progress8.svg.import
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dqc521iq12a7l"
|
||||
path="res://.godot/imported/Progress8.svg-b37d84176a257f378f0f5dff81bfc322.ctex"
|
||||
metadata={
|
||||
"has_editor_variant": true,
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/gdUnit4/src/ui/assets/spinner/Progress8.svg"
|
||||
dest_files=["res://.godot/imported/Progress8.svg-b37d84176a257f378f0f5dff81bfc322.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
svg/scale=1.0
|
||||
editor/scale_with_editor_scale=true
|
||||
editor/convert_colors_with_editor_theme=true
|
||||
|
|
@ -0,0 +1,90 @@
|
|||
class_name EditorFileSystemContextMenuHandler
|
||||
extends Control
|
||||
|
||||
|
||||
var _context_menus := Dictionary()
|
||||
|
||||
|
||||
func _init(context_menus :Array[GdUnitContextMenuItem]):
|
||||
set_name("EditorFileSystemContextMenuHandler")
|
||||
for menu in context_menus:
|
||||
_context_menus[menu.id] = menu
|
||||
var popup := _menu_popup()
|
||||
var file_tree := _file_tree()
|
||||
popup.about_to_popup.connect(on_context_menu_show.bind(popup, file_tree))
|
||||
popup.id_pressed.connect(on_context_menu_pressed.bind(file_tree))
|
||||
|
||||
|
||||
static func dispose():
|
||||
var handler :EditorFileSystemContextMenuHandler = Engine.get_main_loop().root.find_child("EditorFileSystemContextMenuHandler*", false, false)
|
||||
if handler:
|
||||
var popup := _menu_popup()
|
||||
if popup.about_to_popup.is_connected(Callable(handler, "on_context_menu_show")):
|
||||
popup.about_to_popup.disconnect(Callable(handler, "on_context_menu_show"))
|
||||
if popup.id_pressed.is_connected(Callable(handler, "on_context_menu_pressed")):
|
||||
popup.id_pressed.disconnect(Callable(handler, "on_context_menu_pressed"))
|
||||
Engine.get_main_loop().root.call_deferred("remove_child", handler)
|
||||
handler.queue_free()
|
||||
|
||||
|
||||
func on_context_menu_show(context_menu :PopupMenu, file_tree :Tree) -> void:
|
||||
context_menu.add_separator()
|
||||
var current_index := context_menu.get_item_count()
|
||||
var selected_test_suites := collect_testsuites(_context_menus.values()[0], file_tree)
|
||||
|
||||
for menu_id in _context_menus.keys():
|
||||
var menu_item :GdUnitContextMenuItem = _context_menus[menu_id]
|
||||
if selected_test_suites.size() != 0:
|
||||
context_menu.add_item(menu_item.name, menu_id)
|
||||
context_menu.set_item_disabled(current_index, !menu_item.is_enabled(null))
|
||||
current_index += 1
|
||||
|
||||
|
||||
func on_context_menu_pressed(id :int, file_tree :Tree) -> void:
|
||||
#prints("on_context_menu_pressed", id)
|
||||
if !_context_menus.has(id):
|
||||
return
|
||||
var menu_item :GdUnitContextMenuItem = _context_menus[id]
|
||||
var selected_test_suites := collect_testsuites(menu_item, file_tree)
|
||||
menu_item.execute([selected_test_suites])
|
||||
|
||||
|
||||
func collect_testsuites(_menu_item :GdUnitContextMenuItem, file_tree :Tree) -> PackedStringArray:
|
||||
var file_system := editor_interface().get_resource_filesystem()
|
||||
var selected_item := file_tree.get_selected()
|
||||
var selected_test_suites := PackedStringArray()
|
||||
while selected_item:
|
||||
var resource_path :String = selected_item.get_metadata(0)
|
||||
var file_type := file_system.get_file_type(resource_path)
|
||||
var is_dir := DirAccess.dir_exists_absolute(resource_path)
|
||||
if is_dir:
|
||||
selected_test_suites.append(resource_path)
|
||||
elif is_dir or file_type == "GDScript" or file_type == "CSharpScript":
|
||||
# find a performant way to check if the selected item a testsuite
|
||||
#var resource := ResourceLoader.load(resource_path, "GDScript", ResourceLoader.CACHE_MODE_REUSE)
|
||||
#prints("loaded", resource)
|
||||
#if resource is GDScript and menu_item.is_visible(resource):
|
||||
selected_test_suites.append(resource_path)
|
||||
selected_item = file_tree.get_next_selected(selected_item)
|
||||
return selected_test_suites
|
||||
|
||||
|
||||
# Returns the EditorInterface instance
|
||||
static func editor_interface() -> EditorInterface:
|
||||
if not Engine.has_meta("GdUnitEditorPlugin"):
|
||||
return null
|
||||
var plugin :EditorPlugin = Engine.get_meta("GdUnitEditorPlugin")
|
||||
return plugin.get_editor_interface()
|
||||
|
||||
|
||||
# Returns the FileSystemDock instance
|
||||
static func filesystem_dock() -> FileSystemDock:
|
||||
return editor_interface().get_file_system_dock()
|
||||
|
||||
|
||||
static func _file_tree() -> Tree:
|
||||
return GdObjects.find_nodes_by_class(filesystem_dock(), "Tree", true)[-1]
|
||||
|
||||
|
||||
static func _menu_popup() -> PopupMenu:
|
||||
return GdObjects.find_nodes_by_class(filesystem_dock(), "PopupMenu")[-1]
|
||||
65
addons/gdUnit4/src/ui/menu/GdUnitContextMenuItem.gd
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
class_name GdUnitContextMenuItem
|
||||
|
||||
enum MENU_ID {
|
||||
TEST_RUN = 1000,
|
||||
TEST_DEBUG = 1001,
|
||||
TEST_RERUN = 1002,
|
||||
CREATE_TEST = 1010,
|
||||
}
|
||||
|
||||
|
||||
func _init(p_id :MENU_ID, p_name :StringName, p_is_visible :Callable, p_command :GdUnitCommand):
|
||||
assert(p_id != null, "(%s) missing parameter 'MENU_ID'" % p_name)
|
||||
assert(p_is_visible != null, "(%s) missing parameter 'GdUnitCommand'" % p_name)
|
||||
assert(p_command != null, "(%s) missing parameter 'GdUnitCommand'" % p_name)
|
||||
self.id = p_id
|
||||
self.name = p_name
|
||||
self.command = p_command
|
||||
self.visible = p_is_visible
|
||||
|
||||
|
||||
var id: MENU_ID:
|
||||
set(value):
|
||||
id = value
|
||||
get:
|
||||
return id
|
||||
|
||||
|
||||
var name: StringName:
|
||||
set(value):
|
||||
name = value
|
||||
get:
|
||||
return name
|
||||
|
||||
|
||||
var command: GdUnitCommand:
|
||||
set(value):
|
||||
command = value
|
||||
get:
|
||||
return command
|
||||
|
||||
|
||||
var visible: Callable:
|
||||
set(value):
|
||||
visible = value
|
||||
get:
|
||||
return visible
|
||||
|
||||
|
||||
func shortcut() -> Shortcut:
|
||||
return GdUnitCommandHandler.instance().get_shortcut(command.shortcut)
|
||||
|
||||
|
||||
func is_enabled(script :Script) -> bool:
|
||||
return command.is_enabled.call(script)
|
||||
|
||||
|
||||
func is_visible(script :Script) -> bool:
|
||||
return visible.call(script)
|
||||
|
||||
|
||||
func execute(arguments := []) -> void:
|
||||
if arguments.is_empty():
|
||||
command.runnable.call()
|
||||
else:
|
||||
command.runnable.callv(arguments)
|
||||
81
addons/gdUnit4/src/ui/menu/ScriptEditorContextMenuHandler.gd
Normal file
|
|
@ -0,0 +1,81 @@
|
|||
class_name ScriptEditorContextMenuHandler
|
||||
extends Control
|
||||
|
||||
var _context_menus := Dictionary()
|
||||
var _editor :ScriptEditor
|
||||
|
||||
|
||||
func _init(context_menus :Array[GdUnitContextMenuItem], p_editor :ScriptEditor):
|
||||
set_name("ScriptEditorContextMenuHandler")
|
||||
for menu in context_menus:
|
||||
_context_menus[menu.id] = menu
|
||||
_editor = p_editor
|
||||
p_editor.editor_script_changed.connect(on_script_changed)
|
||||
on_script_changed(active_script())
|
||||
|
||||
|
||||
static func dispose(p_editor :ScriptEditor) -> void:
|
||||
var handler :ScriptEditorContextMenuHandler = Engine.get_main_loop().root.find_child("ScriptEditorContextMenuHandler*", false, false)
|
||||
if handler:
|
||||
if p_editor.editor_script_changed.is_connected(handler.on_script_changed):
|
||||
p_editor.editor_script_changed.disconnect(handler.on_script_changed)
|
||||
Engine.get_main_loop().root.call_deferred("remove_child", handler)
|
||||
handler.queue_free()
|
||||
|
||||
|
||||
func _input(event):
|
||||
if event is InputEventKey and event.is_pressed():
|
||||
for shortcut_action in _context_menus.values():
|
||||
var action :GdUnitContextMenuItem = shortcut_action
|
||||
if action.shortcut().matches_event(event) and action.is_visible(active_script()):
|
||||
#if not has_editor_focus():
|
||||
# return
|
||||
action.execute()
|
||||
accept_event()
|
||||
return
|
||||
|
||||
|
||||
func has_editor_focus() -> bool:
|
||||
return Engine.get_main_loop().root.gui_get_focus_owner() == active_base_editor()
|
||||
|
||||
|
||||
func on_script_changed(script :Script):
|
||||
if script is Script:
|
||||
var popups :Array[Node] = GdObjects.find_nodes_by_class(active_editor(), "PopupMenu", true)
|
||||
for popup in popups:
|
||||
if not popup.about_to_popup.is_connected(on_context_menu_show):
|
||||
popup.about_to_popup.connect(on_context_menu_show.bind(script, popup))
|
||||
if not popup.id_pressed.is_connected(on_context_menu_pressed):
|
||||
popup.id_pressed.connect(on_context_menu_pressed)
|
||||
|
||||
|
||||
func on_context_menu_show(script :Script, context_menu :PopupMenu):
|
||||
#prints("on_context_menu_show", _context_menus.keys(), context_menu, self)
|
||||
context_menu.add_separator()
|
||||
var current_index := context_menu.get_item_count()
|
||||
for menu_id in _context_menus.keys():
|
||||
var menu_item :GdUnitContextMenuItem = _context_menus[menu_id]
|
||||
if menu_item.is_visible(script):
|
||||
context_menu.add_item(menu_item.name, menu_id)
|
||||
context_menu.set_item_disabled(current_index, !menu_item.is_enabled(script))
|
||||
context_menu.set_item_shortcut(current_index, menu_item.shortcut(), true)
|
||||
current_index += 1
|
||||
|
||||
|
||||
func on_context_menu_pressed(id :int):
|
||||
if !_context_menus.has(id):
|
||||
return
|
||||
var menu_item :GdUnitContextMenuItem = _context_menus[id]
|
||||
menu_item.execute()
|
||||
|
||||
|
||||
func active_editor() -> ScriptEditorBase:
|
||||
return _editor.get_current_editor()
|
||||
|
||||
|
||||
func active_base_editor() -> TextEdit:
|
||||
return active_editor().get_base_editor()
|
||||
|
||||
|
||||
func active_script() -> Script:
|
||||
return _editor.get_current_script()
|
||||
50
addons/gdUnit4/src/ui/parts/InspectorMonitor.gd
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
@tool
|
||||
extends PanelContainer
|
||||
|
||||
signal jump_to_orphan_nodes
|
||||
|
||||
@onready var ICON_GREEN = load("res://addons/gdUnit4/src/ui/assets/orphan/orphan_green.svg")
|
||||
@onready var ICON_RED = load("res://addons/gdUnit4/src/ui/assets/orphan/orphan_animated_icon.tres")
|
||||
|
||||
@onready var _time = $GridContainer/Time/value
|
||||
@onready var _orphans = $GridContainer/Orphan/value
|
||||
@onready var _orphan_button := $GridContainer/Orphan/Button
|
||||
|
||||
var total_elapsed_time := 0
|
||||
var total_orphans := 0
|
||||
|
||||
|
||||
func _ready():
|
||||
GdUnitSignals.instance().gdunit_event.connect(_on_gdunit_event)
|
||||
_time.text = ""
|
||||
_orphans.text = "0"
|
||||
|
||||
|
||||
func status_changed(elapsed_time :int, orphan_nodes :int):
|
||||
total_elapsed_time += elapsed_time
|
||||
total_orphans += orphan_nodes
|
||||
_time.text = LocalTime.elapsed(total_elapsed_time)
|
||||
_orphans.text = str(total_orphans)
|
||||
if total_orphans > 0:
|
||||
_orphan_button.icon = ICON_RED
|
||||
|
||||
|
||||
func _on_gdunit_event(event :GdUnitEvent) -> void:
|
||||
match event.type():
|
||||
GdUnitEvent.INIT:
|
||||
_orphan_button.icon = ICON_GREEN
|
||||
total_elapsed_time = 0
|
||||
total_orphans = 0
|
||||
status_changed(0, 0)
|
||||
GdUnitEvent.TESTCASE_BEFORE:
|
||||
pass
|
||||
GdUnitEvent.TESTCASE_AFTER:
|
||||
status_changed(0, event.orphan_nodes())
|
||||
GdUnitEvent.TESTSUITE_BEFORE:
|
||||
pass
|
||||
GdUnitEvent.TESTSUITE_AFTER:
|
||||
status_changed(event.elapsed_time(), event.orphan_nodes())
|
||||
|
||||
|
||||
func _on_ToolButton_pressed():
|
||||
emit_signal("jump_to_orphan_nodes")
|
||||
91
addons/gdUnit4/src/ui/parts/InspectorMonitor.tscn
Normal file
|
|
@ -0,0 +1,91 @@
|
|||
[gd_scene load_steps=4 format=2]
|
||||
|
||||
[ext_resource path="res://addons/gdUnit4/src/ui/assets/orphan/orphan_green.svg" type="Texture2D" id=1]
|
||||
[ext_resource path="res://addons/gdUnit4/src/ui/assets/clock.svg" type="Texture2D" id=2]
|
||||
[ext_resource path="res://addons/gdUnit4/src/ui/parts/InspectorMonitor.gd" type="Script" id=3]
|
||||
|
||||
[node name="Monitor" type="PanelContainer"]
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
offset_right = -793.0
|
||||
offset_bottom = -564.0
|
||||
clip_contents = true
|
||||
size_flags_horizontal = 9
|
||||
size_flags_vertical = 9
|
||||
script = ExtResource( 3 )
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="GridContainer" type="GridContainer" parent="."]
|
||||
offset_left = 7.0
|
||||
offset_top = 7.0
|
||||
offset_right = 224.0
|
||||
offset_bottom = 29.0
|
||||
clip_contents = true
|
||||
size_flags_horizontal = 9
|
||||
columns = 2
|
||||
|
||||
[node name="Time" type="GridContainer" parent="GridContainer"]
|
||||
offset_right = 63.0
|
||||
offset_bottom = 22.0
|
||||
clip_contents = true
|
||||
columns = 2
|
||||
|
||||
[node name="Button" type="Button" parent="GridContainer/Time"]
|
||||
offset_right = 59.0
|
||||
offset_bottom = 22.0
|
||||
tooltip_text = "Shows the total elapsed time of test execution."
|
||||
size_flags_horizontal = 3
|
||||
text = "Time"
|
||||
icon = ExtResource( 2 )
|
||||
align = 0
|
||||
|
||||
[node name="value" type="Label" parent="GridContainer/Time"]
|
||||
use_parent_material = true
|
||||
offset_left = 63.0
|
||||
offset_right = 63.0
|
||||
offset_bottom = 22.0
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 1
|
||||
align = 2
|
||||
max_lines_visible = 1
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="Orphan" type="GridContainer" parent="GridContainer"]
|
||||
offset_left = 67.0
|
||||
offset_right = 160.0
|
||||
offset_bottom = 22.0
|
||||
clip_contents = true
|
||||
size_flags_horizontal = 9
|
||||
columns = 2
|
||||
|
||||
[node name="Button" type="Button" parent="GridContainer/Orphan"]
|
||||
offset_right = 81.0
|
||||
offset_bottom = 22.0
|
||||
clip_contents = true
|
||||
tooltip_text = "Shows the total detected orphan nodes.
|
||||
|
||||
(Click) to jump to test."
|
||||
size_flags_horizontal = 9
|
||||
size_flags_vertical = 3
|
||||
text = "Orphans"
|
||||
icon = ExtResource( 1 )
|
||||
align = 0
|
||||
|
||||
[node name="value" type="Label" parent="GridContainer/Orphan"]
|
||||
use_parent_material = true
|
||||
offset_left = 85.0
|
||||
offset_right = 93.0
|
||||
offset_bottom = 22.0
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 1
|
||||
text = "0"
|
||||
align = 2
|
||||
max_lines_visible = 1
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
[connection signal="pressed" from="GridContainer/Orphan/Button" to="." method="_on_ToolButton_pressed"]
|
||||
45
addons/gdUnit4/src/ui/parts/InspectorProgressBar.gd
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
@tool
|
||||
extends ProgressBar
|
||||
|
||||
@onready var bar = $"."
|
||||
@onready var status = $Label
|
||||
@onready var style :StyleBoxFlat = bar.get("theme_override_styles/fill")
|
||||
|
||||
|
||||
func _ready():
|
||||
GdUnitSignals.instance().gdunit_event.connect(_on_gdunit_event)
|
||||
style.bg_color = Color.DARK_GREEN
|
||||
update_text()
|
||||
|
||||
|
||||
func progress_init(p_max_value :int) -> void:
|
||||
bar.value = 0
|
||||
bar.max_value = p_max_value
|
||||
style.bg_color = Color.DARK_GREEN
|
||||
update_text()
|
||||
|
||||
|
||||
func progress_update(p_value :int, is_failed :bool) -> void:
|
||||
bar.value += p_value
|
||||
update_text()
|
||||
if is_failed:
|
||||
style.bg_color = Color.DARK_RED
|
||||
|
||||
|
||||
func update_text() -> void:
|
||||
status.text = "%d:%d" % [bar.value, bar.max_value]
|
||||
|
||||
|
||||
func _on_gdunit_event(event :GdUnitEvent) -> void:
|
||||
match event.type():
|
||||
GdUnitEvent.INIT:
|
||||
progress_init(event.total_count())
|
||||
|
||||
GdUnitEvent.TESTCASE_AFTER:
|
||||
# we only count when the test is finished (excluding parameterized test iterrations)
|
||||
# test_name:<number> indicates a parameterized test run
|
||||
if event.test_name().find(":") == -1:
|
||||
progress_update(1, event.is_failed() or event.is_error())
|
||||
|
||||
GdUnitEvent.TESTSUITE_AFTER:
|
||||
progress_update(0, event.is_failed() or event.is_error())
|
||||
34
addons/gdUnit4/src/ui/parts/InspectorProgressBar.tscn
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
[gd_scene load_steps=3 format=3 uid="uid://dva3tonxsxrlk"]
|
||||
|
||||
[ext_resource type="Script" path="res://addons/gdUnit4/src/ui/parts/InspectorProgressBar.gd" id="1"]
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ayfir"]
|
||||
bg_color = Color(0, 0.392157, 0, 1)
|
||||
|
||||
[node name="ProgressBar" type="ProgressBar"]
|
||||
custom_minimum_size = Vector2(0, 20)
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
size_flags_vertical = 9
|
||||
theme_override_styles/fill = SubResource("StyleBoxFlat_ayfir")
|
||||
max_value = 0.0
|
||||
rounded = true
|
||||
allow_greater = true
|
||||
show_percentage = false
|
||||
script = ExtResource("1")
|
||||
|
||||
[node name="Label" type="Label" parent="."]
|
||||
use_parent_material = true
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
size_flags_vertical = 3
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
max_lines_visible = 1
|
||||
60
addons/gdUnit4/src/ui/parts/InspectorStatusBar.gd
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
@tool
|
||||
extends PanelContainer
|
||||
|
||||
signal failure_next
|
||||
signal failure_prevous
|
||||
|
||||
@onready var _errors = $GridContainer/Errors/value
|
||||
@onready var _failures = $GridContainer/Failures/value
|
||||
@onready var _button_failure_up := $GridContainer/Failures/buttons/failure_up
|
||||
@onready var _button_failure_down := $GridContainer/Failures/buttons/failure_down
|
||||
|
||||
var total_failed := 0
|
||||
var total_errors := 0
|
||||
|
||||
|
||||
func _ready():
|
||||
GdUnitSignals.instance().gdunit_event.connect(_on_gdunit_event)
|
||||
_failures.text = "0"
|
||||
_errors.text = "0"
|
||||
var editor :EditorPlugin = Engine.get_meta("GdUnitEditorPlugin")
|
||||
var editior_control := editor.get_editor_interface().get_base_control()
|
||||
_button_failure_up.icon = GodotVersionFixures.get_icon(editior_control, "ArrowUp")
|
||||
_button_failure_down.icon = GodotVersionFixures.get_icon(editior_control, "ArrowDown")
|
||||
|
||||
|
||||
func status_changed(errors :int, failed :int):
|
||||
total_failed += failed
|
||||
total_errors += errors
|
||||
_failures.text = str(total_failed)
|
||||
_errors.text = str(total_errors)
|
||||
|
||||
|
||||
func _on_gdunit_event(event :GdUnitEvent) -> void:
|
||||
match event.type():
|
||||
GdUnitEvent.INIT:
|
||||
total_failed = 0
|
||||
total_errors = 0
|
||||
status_changed(0, 0)
|
||||
GdUnitEvent.TESTCASE_BEFORE:
|
||||
pass
|
||||
GdUnitEvent.TESTCASE_AFTER:
|
||||
if event.is_error():
|
||||
status_changed(event.error_count(), 0)
|
||||
else:
|
||||
status_changed(0, event.failed_count())
|
||||
GdUnitEvent.TESTSUITE_BEFORE:
|
||||
pass
|
||||
GdUnitEvent.TESTSUITE_AFTER:
|
||||
if event.is_error():
|
||||
status_changed(event.error_count(), 0)
|
||||
else:
|
||||
status_changed(0, event.failed_count())
|
||||
|
||||
|
||||
func _on_failure_up_pressed():
|
||||
emit_signal("failure_prevous")
|
||||
|
||||
|
||||
func _on_failure_down_pressed():
|
||||
emit_signal("failure_next")
|
||||
147
addons/gdUnit4/src/ui/parts/InspectorStatusBar.tscn
Normal file
|
|
@ -0,0 +1,147 @@
|
|||
[gd_scene load_steps=8 format=2]
|
||||
|
||||
[ext_resource path="res://addons/gdUnit4/src/ui/parts/InspectorStatusBar.gd" type="Script" id=3]
|
||||
[ext_resource path="res://addons/gdUnit4/src/ui/assets/failures.svg" type="Texture2D" id=4]
|
||||
[ext_resource path="res://addons/gdUnit4/src/ui/assets/errors.svg" type="Texture2D" id=5]
|
||||
|
||||
[sub_resource type="Image" id=1]
|
||||
data = {
|
||||
"data": PackedByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 218, 218, 218, 0, 222, 222, 222, 0, 222, 222, 222, 0, 218, 218, 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 218, 218, 218, 0, 218, 218, 218, 21, 222, 222, 222, 199, 222, 222, 222, 198, 218, 218, 218, 21, 218, 218, 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 218, 218, 218, 0, 218, 218, 218, 21, 223, 223, 223, 211, 223, 223, 223, 254, 223, 223, 223, 254, 223, 223, 223, 209, 218, 218, 218, 21, 217, 217, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 217, 217, 217, 0, 218, 218, 218, 21, 223, 223, 223, 210, 223, 223, 223, 254, 223, 223, 223, 254, 223, 223, 223, 254, 223, 223, 223, 254, 223, 223, 223, 209, 216, 216, 216, 20, 215, 215, 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 216, 216, 216, 0, 216, 216, 216, 20, 223, 223, 223, 209, 223, 223, 223, 254, 222, 222, 222, 206, 223, 223, 223, 254, 223, 223, 223, 251, 222, 222, 222, 207, 223, 223, 223, 254, 223, 223, 223, 209, 214, 214, 214, 19, 214, 214, 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 223, 223, 223, 0, 223, 223, 223, 193, 223, 223, 223, 254, 222, 222, 222, 206, 214, 214, 214, 19, 223, 223, 223, 254, 223, 223, 223, 249, 214, 214, 214, 19, 223, 223, 223, 208, 223, 223, 223, 254, 223, 223, 223, 193, 223, 223, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 223, 223, 223, 0, 223, 223, 223, 176, 223, 223, 223, 192, 214, 214, 214, 19, 217, 217, 217, 0, 223, 223, 223, 254, 223, 223, 223, 249, 217, 217, 217, 0, 214, 214, 214, 19, 223, 223, 223, 192, 223, 223, 223, 176, 223, 223, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 223, 223, 223, 0, 223, 223, 223, 0, 214, 214, 214, 0, 223, 223, 223, 0, 223, 223, 223, 254, 223, 223, 223, 249, 223, 223, 223, 0, 214, 214, 214, 0, 223, 223, 223, 0, 223, 223, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 223, 223, 223, 0, 223, 223, 223, 254, 223, 223, 223, 249, 223, 223, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 223, 223, 223, 0, 223, 223, 223, 176, 223, 223, 223, 176, 223, 223, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 223, 223, 223, 0, 223, 223, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ),
|
||||
"format": "RGBA8",
|
||||
"height": 16,
|
||||
"mipmaps": false,
|
||||
"width": 16
|
||||
}
|
||||
|
||||
[sub_resource type="ImageTexture" id=2]
|
||||
flags = 0
|
||||
flags = 0
|
||||
image = SubResource( 1 )
|
||||
size = Vector2( 16, 16 )
|
||||
|
||||
[sub_resource type="Image" id=3]
|
||||
data = {
|
||||
"data": PackedByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 223, 223, 223, 0, 223, 223, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 223, 223, 223, 0, 223, 223, 223, 176, 223, 223, 223, 176, 223, 223, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 223, 223, 223, 0, 223, 223, 223, 249, 223, 223, 223, 254, 223, 223, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 223, 223, 223, 0, 223, 223, 223, 0, 214, 214, 214, 0, 223, 223, 223, 0, 223, 223, 223, 249, 223, 223, 223, 254, 223, 223, 223, 0, 212, 212, 212, 0, 222, 222, 222, 0, 223, 223, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 223, 223, 223, 0, 223, 223, 223, 176, 223, 223, 223, 192, 214, 214, 214, 19, 216, 216, 216, 0, 223, 223, 223, 249, 223, 223, 223, 254, 215, 215, 215, 0, 212, 212, 212, 18, 222, 222, 222, 191, 223, 223, 223, 176, 223, 223, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 223, 223, 223, 0, 223, 223, 223, 194, 223, 223, 223, 254, 222, 222, 222, 206, 212, 212, 212, 18, 223, 223, 223, 249, 223, 223, 223, 254, 210, 210, 210, 17, 222, 222, 222, 206, 223, 223, 223, 254, 223, 223, 223, 193, 223, 223, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 218, 218, 218, 0, 218, 218, 218, 21, 223, 223, 223, 212, 223, 223, 223, 254, 222, 222, 222, 206, 223, 223, 223, 251, 223, 223, 223, 254, 222, 222, 222, 206, 223, 223, 223, 254, 223, 223, 223, 212, 218, 218, 218, 21, 218, 218, 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 218, 218, 218, 0, 218, 218, 218, 21, 223, 223, 223, 212, 223, 223, 223, 254, 223, 223, 223, 254, 223, 223, 223, 254, 223, 223, 223, 254, 223, 223, 223, 212, 220, 220, 220, 22, 219, 219, 219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 219, 219, 219, 0, 220, 220, 220, 22, 223, 223, 223, 212, 223, 223, 223, 254, 223, 223, 223, 254, 223, 223, 223, 212, 221, 221, 221, 23, 220, 220, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 220, 220, 220, 0, 221, 221, 221, 23, 222, 222, 222, 198, 223, 223, 223, 200, 221, 221, 221, 23, 221, 221, 221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 221, 221, 221, 0, 222, 222, 222, 0, 223, 223, 223, 0, 221, 221, 221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ),
|
||||
"format": "RGBA8",
|
||||
"height": 16,
|
||||
"mipmaps": false,
|
||||
"width": 16
|
||||
}
|
||||
|
||||
[sub_resource type="ImageTexture" id=4]
|
||||
flags = 0
|
||||
flags = 0
|
||||
image = SubResource( 3 )
|
||||
size = Vector2( 16, 16 )
|
||||
|
||||
[node name="StatusBar" type="PanelContainer"]
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
offset_right = -793.0
|
||||
offset_bottom = -564.0
|
||||
clip_contents = true
|
||||
size_flags_horizontal = 9
|
||||
size_flags_vertical = 9
|
||||
script = ExtResource( 3 )
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="GridContainer" type="GridContainer" parent="."]
|
||||
offset_left = 7.0
|
||||
offset_top = 7.0
|
||||
offset_right = 240.0
|
||||
offset_bottom = 31.0
|
||||
clip_contents = true
|
||||
size_flags_horizontal = 9
|
||||
columns = 3
|
||||
|
||||
[node name="Errors" type="GridContainer" parent="GridContainer"]
|
||||
offset_right = 76.0
|
||||
offset_bottom = 24.0
|
||||
clip_contents = true
|
||||
columns = 2
|
||||
|
||||
[node name="Button" type="Button" parent="GridContainer/Errors"]
|
||||
offset_right = 64.0
|
||||
offset_bottom = 24.0
|
||||
tooltip_text = "Shows the total test errors."
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
text = "Errors"
|
||||
icon = ExtResource( 5 )
|
||||
align = 0
|
||||
|
||||
[node name="value" type="Label" parent="GridContainer/Errors"]
|
||||
use_parent_material = true
|
||||
offset_left = 68.0
|
||||
offset_right = 76.0
|
||||
offset_bottom = 24.0
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
text = "0"
|
||||
align = 2
|
||||
max_lines_visible = 1
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="Failures" type="GridContainer" parent="GridContainer"]
|
||||
offset_left = 80.0
|
||||
offset_right = 233.0
|
||||
offset_bottom = 24.0
|
||||
clip_contents = true
|
||||
size_flags_horizontal = 9
|
||||
columns = 3
|
||||
|
||||
[node name="Button" type="Button" parent="GridContainer/Failures"]
|
||||
offset_right = 77.0
|
||||
offset_bottom = 24.0
|
||||
clip_contents = true
|
||||
tooltip_text = "Shows the total test failures."
|
||||
size_flags_horizontal = 9
|
||||
size_flags_vertical = 3
|
||||
text = "Failures"
|
||||
icon = ExtResource( 4 )
|
||||
align = 0
|
||||
|
||||
[node name="value" type="Label" parent="GridContainer/Failures"]
|
||||
use_parent_material = true
|
||||
offset_left = 81.0
|
||||
offset_right = 89.0
|
||||
offset_bottom = 24.0
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
text = "0"
|
||||
align = 2
|
||||
max_lines_visible = 1
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="buttons" type="GridContainer" parent="GridContainer/Failures"]
|
||||
offset_left = 93.0
|
||||
offset_right = 153.0
|
||||
offset_bottom = 24.0
|
||||
size_flags_vertical = 3
|
||||
columns = 2
|
||||
|
||||
[node name="failure_up" type="Button" parent="GridContainer/Failures/buttons"]
|
||||
offset_right = 28.0
|
||||
offset_bottom = 24.0
|
||||
tooltip_text = "Shows the total test errors."
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
icon = SubResource( 2 )
|
||||
|
||||
[node name="failure_down" type="Button" parent="GridContainer/Failures/buttons"]
|
||||
offset_left = 32.0
|
||||
offset_right = 60.0
|
||||
offset_bottom = 24.0
|
||||
tooltip_text = "Shows the total test errors."
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
icon = SubResource( 4 )
|
||||
|
||||
[connection signal="pressed" from="GridContainer/Failures/buttons/failure_up" to="." method="_on_failure_up_pressed"]
|
||||
[connection signal="pressed" from="GridContainer/Failures/buttons/failure_down" to="." method="_on_failure_down_pressed"]
|
||||
113
addons/gdUnit4/src/ui/parts/InspectorToolBar.gd
Normal file
|
|
@ -0,0 +1,113 @@
|
|||
@tool
|
||||
extends HBoxContainer
|
||||
|
||||
signal run_overall_pressed(debug :bool)
|
||||
signal run_pressed(debug :bool)
|
||||
signal stop_pressed()
|
||||
|
||||
@onready var debug_icon_image :Texture2D = load("res://addons/gdUnit4/src/ui/assets/PlayDebug.svg")
|
||||
@onready var overall_icon_image :Texture2D = load("res://addons/gdUnit4/src/ui/assets/PlayOverall.svg")
|
||||
@onready var _version_label := %version
|
||||
@onready var _button_wiki := %help
|
||||
@onready var _tool_button := %tool
|
||||
@onready var _button_run_overall :Button = %"run-overall"
|
||||
@onready var _button_run := %run
|
||||
@onready var _button_run_debug := %debug
|
||||
@onready var _button_stop := %stop
|
||||
|
||||
|
||||
const SETTINGS_SHORTCUT_MAPPING := {
|
||||
GdUnitSettings.SHORTCUT_INSPECTOR_RERUN_TEST : GdUnitShortcut.ShortCut.RERUN_TESTS,
|
||||
GdUnitSettings.SHORTCUT_INSPECTOR_RERUN_TEST_DEBUG : GdUnitShortcut.ShortCut.RERUN_TESTS_DEBUG,
|
||||
GdUnitSettings.SHORTCUT_INSPECTOR_RUN_TEST_OVERALL : GdUnitShortcut.ShortCut.RUN_TESTS_OVERALL,
|
||||
GdUnitSettings.SHORTCUT_INSPECTOR_RUN_TEST_STOP : GdUnitShortcut.ShortCut.STOP_TEST_RUN,
|
||||
}
|
||||
|
||||
|
||||
func _ready():
|
||||
GdUnit4Version.init_version_label(_version_label)
|
||||
var command_handler := GdUnitCommandHandler.instance()
|
||||
run_pressed.connect(command_handler._on_run_pressed)
|
||||
run_overall_pressed.connect(command_handler._on_run_overall_pressed)
|
||||
stop_pressed.connect(command_handler._on_stop_pressed)
|
||||
command_handler.gdunit_runner_start.connect(_on_gdunit_runner_start)
|
||||
command_handler.gdunit_runner_stop.connect(_on_gdunit_runner_stop)
|
||||
GdUnitSignals.instance().gdunit_settings_changed.connect(_on_gdunit_settings_changed)
|
||||
init_buttons()
|
||||
init_shortcuts(command_handler)
|
||||
|
||||
|
||||
func init_buttons() -> void:
|
||||
var editor :EditorPlugin = EditorPlugin.new()
|
||||
var editior_control := editor.get_editor_interface().get_base_control()
|
||||
_button_run_overall.icon = overall_icon_image
|
||||
_button_run_overall.visible = GdUnitSettings.is_inspector_toolbar_button_show()
|
||||
_button_run.icon = GodotVersionFixures.get_icon(editior_control, "Play")
|
||||
_button_run_debug.icon = debug_icon_image
|
||||
_button_stop.icon = GodotVersionFixures.get_icon(editior_control, "Stop")
|
||||
_tool_button.icon = GodotVersionFixures.get_icon(editior_control, "Tools")
|
||||
_button_wiki.icon = GodotVersionFixures.get_icon(editior_control, "HelpSearch")
|
||||
|
||||
|
||||
func init_shortcuts(command_handler :GdUnitCommandHandler) -> void:
|
||||
_button_run.shortcut = command_handler.get_shortcut(GdUnitShortcut.ShortCut.RERUN_TESTS)
|
||||
_button_run_overall.shortcut = command_handler.get_shortcut(GdUnitShortcut.ShortCut.RUN_TESTS_OVERALL)
|
||||
_button_run_debug.shortcut = command_handler.get_shortcut(GdUnitShortcut.ShortCut.RERUN_TESTS_DEBUG)
|
||||
_button_stop.shortcut = command_handler.get_shortcut(GdUnitShortcut.ShortCut.STOP_TEST_RUN)
|
||||
# register for shortcut changes
|
||||
GdUnitSignals.instance().gdunit_settings_changed.connect(_on_settings_changed.bind(command_handler))
|
||||
|
||||
|
||||
func _on_runoverall_pressed(debug := false):
|
||||
run_overall_pressed.emit(debug)
|
||||
|
||||
|
||||
func _on_run_pressed(debug := false):
|
||||
run_pressed.emit(debug)
|
||||
|
||||
|
||||
func _on_stop_pressed():
|
||||
stop_pressed.emit()
|
||||
|
||||
|
||||
func _on_gdunit_runner_start():
|
||||
_button_run_overall.disabled = true
|
||||
_button_run.disabled = true
|
||||
_button_run_debug.disabled = true
|
||||
_button_stop.disabled = false
|
||||
|
||||
|
||||
func _on_gdunit_runner_stop(_client_id :int):
|
||||
_button_run_overall.disabled = false
|
||||
_button_run.disabled = false
|
||||
_button_run_debug.disabled = false
|
||||
_button_stop.disabled = true
|
||||
|
||||
|
||||
func _on_gdunit_settings_changed(_property :GdUnitProperty):
|
||||
_button_run_overall.visible = GdUnitSettings.is_inspector_toolbar_button_show()
|
||||
|
||||
|
||||
func _on_wiki_pressed():
|
||||
OS.shell_open("https://mikeschulze.github.io/gdUnit4/")
|
||||
|
||||
|
||||
func _on_btn_tool_pressed():
|
||||
var tool_popup = load("res://addons/gdUnit4/src/ui/settings/GdUnitSettingsDialog.tscn").instantiate()
|
||||
get_parent_control().add_child(tool_popup)
|
||||
|
||||
|
||||
func _on_settings_changed(property :GdUnitProperty, command_handler :GdUnitCommandHandler):
|
||||
# needs to wait a frame to be command handler notified first for settings changes
|
||||
await get_tree().process_frame
|
||||
if SETTINGS_SHORTCUT_MAPPING.has(property.name()):
|
||||
var shortcut :GdUnitShortcut.ShortCut = SETTINGS_SHORTCUT_MAPPING.get(property.name(), GdUnitShortcut.ShortCut.NONE)
|
||||
match shortcut:
|
||||
GdUnitShortcut.ShortCut.RERUN_TESTS:
|
||||
_button_run.shortcut = command_handler.get_shortcut(shortcut)
|
||||
GdUnitShortcut.ShortCut.RUN_TESTS_OVERALL:
|
||||
_button_run_overall.shortcut = command_handler.get_shortcut(shortcut)
|
||||
GdUnitShortcut.ShortCut.RERUN_TESTS_DEBUG:
|
||||
_button_run_debug.shortcut = command_handler.get_shortcut(shortcut)
|
||||
GdUnitShortcut.ShortCut.STOP_TEST_RUN:
|
||||
_button_stop.shortcut = command_handler.get_shortcut(shortcut)
|
||||
83
addons/gdUnit4/src/ui/parts/InspectorToolBar.tscn
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
[gd_scene load_steps=4 format=3 uid="uid://dx7xy4dgi3wwb"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://tkrsqx2oxw6o" path="res://addons/gdUnit4/src/ui/assets/PlayDebug.svg" id="2_4h4dw"]
|
||||
[ext_resource type="Texture2D" uid="uid://de1q5raia84bn" path="res://addons/gdUnit4/src/ui/assets/PlayOverall.svg" id="2_s3tbo"]
|
||||
[ext_resource type="Script" path="res://addons/gdUnit4/src/ui/parts/InspectorToolBar.gd" id="3"]
|
||||
|
||||
[node name="ToolBar" type="HBoxContainer"]
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 0
|
||||
grow_vertical = 2
|
||||
size_flags_vertical = 3
|
||||
script = ExtResource("3")
|
||||
|
||||
[node name="Tools" type="HBoxContainer" parent="."]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="VSeparator2" type="VSeparator" parent="Tools"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 9
|
||||
|
||||
[node name="help" type="Button" parent="Tools"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
|
||||
[node name="tool" type="Button" parent="Tools"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
tooltip_text = "GdUnit Settings"
|
||||
|
||||
[node name="VSeparator" type="VSeparator" parent="Tools"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="run-overall" type="Button" parent="Tools"]
|
||||
unique_name_in_owner = true
|
||||
use_parent_material = true
|
||||
layout_mode = 2
|
||||
tooltip_text = "Run overall tests"
|
||||
icon = ExtResource("2_s3tbo")
|
||||
|
||||
[node name="run" type="Button" parent="Tools"]
|
||||
unique_name_in_owner = true
|
||||
use_parent_material = true
|
||||
layout_mode = 2
|
||||
tooltip_text = "Rerun unit tests"
|
||||
|
||||
[node name="debug" type="Button" parent="Tools"]
|
||||
unique_name_in_owner = true
|
||||
use_parent_material = true
|
||||
layout_mode = 2
|
||||
tooltip_text = "Rerun unit tests (Debug)"
|
||||
icon = ExtResource("2_4h4dw")
|
||||
|
||||
[node name="stop" type="Button" parent="Tools"]
|
||||
unique_name_in_owner = true
|
||||
use_parent_material = true
|
||||
layout_mode = 2
|
||||
tooltip_text = "Stops runing unit tests"
|
||||
disabled = true
|
||||
|
||||
[node name="VSeparator3" type="VSeparator" parent="Tools"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="CenterContainer" type="MarginContainer" parent="Tools"]
|
||||
use_parent_material = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="version" type="Label" parent="Tools/CenterContainer"]
|
||||
unique_name_in_owner = true
|
||||
use_parent_material = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 13
|
||||
|
||||
[connection signal="pressed" from="Tools/help" to="." method="_on_wiki_pressed"]
|
||||
[connection signal="pressed" from="Tools/tool" to="." method="_on_btn_tool_pressed"]
|
||||
[connection signal="pressed" from="Tools/run-overall" to="." method="_on_runoverall_pressed" binds= [false]]
|
||||
[connection signal="pressed" from="Tools/run" to="." method="_on_run_pressed" binds= [false]]
|
||||
[connection signal="pressed" from="Tools/debug" to="." method="_on_run_pressed" binds= [true]]
|
||||
[connection signal="pressed" from="Tools/stop" to="." method="_on_stop_pressed"]
|
||||
589
addons/gdUnit4/src/ui/parts/InspectorTreeMainPanel.gd
Normal file
|
|
@ -0,0 +1,589 @@
|
|||
@tool
|
||||
extends VSplitContainer
|
||||
|
||||
signal run_testcase(test_suite_resource_path, test_case, test_param_index, run_debug)
|
||||
signal run_testsuite
|
||||
|
||||
const CONTEXT_MENU_RUN_ID = 0
|
||||
const CONTEXT_MENU_DEBUG_ID = 1
|
||||
|
||||
@onready var _tree :Tree = $Panel/Tree
|
||||
@onready var _report_list :Node = $report/ScrollContainer/list
|
||||
@onready var _report_template :RichTextLabel = $report/report_template
|
||||
@onready var _context_menu :PopupMenu = $contextMenu
|
||||
|
||||
|
||||
# tree icons
|
||||
@onready var ICON_SPINNER = load("res://addons/gdUnit4/src/ui/assets/spinner.tres")
|
||||
@onready var ICON_TEST_DEFAULT = load("res://addons/gdUnit4/src/ui/assets/TestCase.svg")
|
||||
@onready var ICON_TEST_SUCCESS = load("res://addons/gdUnit4/src/ui/assets/TestCaseSuccess.svg")
|
||||
@onready var ICON_TEST_FAILED = load("res://addons/gdUnit4/src/ui/assets/TestCaseFailed.svg")
|
||||
@onready var ICON_TEST_ERROR = load("res://addons/gdUnit4/src/ui/assets/TestCaseError.svg")
|
||||
@onready var ICON_TEST_SUCCESS_ORPHAN = load("res://addons/gdUnit4/src/ui/assets/TestCase_success_orphan.tres")
|
||||
@onready var ICON_TEST_FAILED_ORPHAN = load("res://addons/gdUnit4/src/ui/assets/TestCase_failed_orphan.tres")
|
||||
@onready var ICON_TEST_ERRORS_ORPHAN = load("res://addons/gdUnit4/src/ui/assets/TestCase_error_orphan.tres")
|
||||
@onready var debug_icon_image :Texture2D = load("res://addons/gdUnit4/src/ui/assets/PlayDebug.svg")
|
||||
|
||||
enum GdUnitType {
|
||||
TEST_SUITE,
|
||||
TEST_CASE
|
||||
}
|
||||
|
||||
enum STATE {
|
||||
INITIAL,
|
||||
RUNNING,
|
||||
SUCCESS,
|
||||
WARNING,
|
||||
FAILED,
|
||||
ERROR,
|
||||
ABORDED,
|
||||
SKIPPED
|
||||
}
|
||||
|
||||
const META_GDUNIT_NAME := "gdUnit_name"
|
||||
const META_GDUNIT_STATE := "gdUnit_state"
|
||||
const META_GDUNIT_TYPE := "gdUnit_type"
|
||||
const META_GDUNIT_TOTAL_TESTS := "gdUnit_suite_total_tests"
|
||||
const META_GDUNIT_SUCCESS_TESTS := "gdUnit_suite_success_tests"
|
||||
const META_GDUNIT_REPORT := "gdUnit_report"
|
||||
const META_GDUNIT_ORPHAN := "gdUnit_orphan"
|
||||
const META_RESOURCE_PATH := "resource_path"
|
||||
const META_LINE_NUMBER := "line_number"
|
||||
const META_TEST_PARAM_INDEX := "test_param_index"
|
||||
|
||||
var _editor :EditorPlugin
|
||||
var _tree_root :TreeItem
|
||||
var _current_failures := Array()
|
||||
var _item_hash := Dictionary()
|
||||
|
||||
|
||||
func _build_cache_key(resource_path :String, test_name :String) -> Array:
|
||||
return [resource_path, test_name]
|
||||
|
||||
|
||||
func get_tree_item(event :GdUnitEvent) -> TreeItem:
|
||||
var key := _build_cache_key(event.resource_path(), event.test_name())
|
||||
return _item_hash.get(key, null)
|
||||
|
||||
|
||||
func add_tree_item_to_cache(resource_path :String, test_name :String, item :TreeItem) -> void:
|
||||
var key := _build_cache_key(resource_path, test_name)
|
||||
_item_hash[key] = item
|
||||
|
||||
|
||||
func clear_tree_item_cache() -> void:
|
||||
_item_hash.clear()
|
||||
|
||||
|
||||
func _find_item(parent :TreeItem, resource_path :String, test_case :String = "") -> TreeItem:
|
||||
var item = _find_by_resource_path(parent, resource_path)
|
||||
if not item:
|
||||
return null
|
||||
if test_case.is_empty():
|
||||
return item
|
||||
return _find_by_name(item, test_case)
|
||||
|
||||
|
||||
func _find_by_resource_path(parent :TreeItem, resource_path :String) -> TreeItem:
|
||||
for item in parent.get_children():
|
||||
if item.get_meta(META_RESOURCE_PATH) == resource_path:
|
||||
return item
|
||||
return null
|
||||
|
||||
|
||||
func _find_by_name(parent :TreeItem, item_name :String) -> TreeItem:
|
||||
for item in parent.get_children():
|
||||
if item.get_meta(META_GDUNIT_NAME) == item_name:
|
||||
return item
|
||||
return null
|
||||
|
||||
|
||||
func is_state_running(item :TreeItem) -> bool:
|
||||
return item.has_meta(META_GDUNIT_STATE) and item.get_meta(META_GDUNIT_STATE) == STATE.RUNNING
|
||||
|
||||
|
||||
func is_state_success(item :TreeItem) -> bool:
|
||||
return item.has_meta(META_GDUNIT_STATE) and item.get_meta(META_GDUNIT_STATE) == STATE.SUCCESS
|
||||
|
||||
|
||||
func is_state_warning(item :TreeItem) -> bool:
|
||||
return item.has_meta(META_GDUNIT_STATE) and item.get_meta(META_GDUNIT_STATE) == STATE.WARNING
|
||||
|
||||
|
||||
func is_state_failed(item :TreeItem) -> bool:
|
||||
return item.has_meta(META_GDUNIT_STATE) and item.get_meta(META_GDUNIT_STATE) == STATE.FAILED
|
||||
|
||||
|
||||
func is_state_error(item :TreeItem) -> bool:
|
||||
return item.has_meta(META_GDUNIT_STATE) and (item.get_meta(META_GDUNIT_STATE) == STATE.ERROR or item.get_meta(META_GDUNIT_STATE) == STATE.ABORDED)
|
||||
|
||||
|
||||
func is_item_state_orphan(item :TreeItem) -> bool:
|
||||
return item.has_meta(META_GDUNIT_ORPHAN)
|
||||
|
||||
|
||||
func is_test_suite(item :TreeItem) -> bool:
|
||||
return item.has_meta(META_GDUNIT_TYPE) and item.get_meta(META_GDUNIT_TYPE) == GdUnitType.TEST_SUITE
|
||||
|
||||
|
||||
func _ready():
|
||||
if Engine.is_editor_hint():
|
||||
_editor = Engine.get_meta("GdUnitEditorPlugin")
|
||||
var editior_control := _editor.get_editor_interface().get_base_control()
|
||||
_context_menu.set_item_icon(CONTEXT_MENU_RUN_ID, GodotVersionFixures.get_icon(editior_control, "Play"))
|
||||
_context_menu.set_item_icon(CONTEXT_MENU_DEBUG_ID, debug_icon_image)
|
||||
init_tree()
|
||||
GdUnitSignals.instance().gdunit_add_test_suite.connect(_on_gdunit_add_test_suite)
|
||||
GdUnitSignals.instance().gdunit_event.connect(_on_gdunit_event)
|
||||
var command_handler := GdUnitCommandHandler.instance()
|
||||
command_handler.gdunit_runner_start.connect(_on_gdunit_runner_start)
|
||||
command_handler.gdunit_runner_stop.connect(_on_gdunit_runner_stop)
|
||||
|
||||
|
||||
# we need current to manually redraw bacause of the animation bug
|
||||
# https://github.com/godotengine/godot/issues/69330
|
||||
func _process(_delta):
|
||||
if is_visible_in_tree():
|
||||
queue_redraw()
|
||||
|
||||
|
||||
func init_tree() -> void:
|
||||
cleanup_tree()
|
||||
_tree.set_hide_root(true)
|
||||
_tree.ensure_cursor_is_visible()
|
||||
_tree.allow_rmb_select = true
|
||||
_tree_root = _tree.create_item()
|
||||
# fix tree icon scaling
|
||||
var scale_factor := _editor.get_editor_interface().get_editor_scale() if Engine.is_editor_hint() else 1.0
|
||||
_tree.set("theme_override_constants/icon_max_width", 16*scale_factor)
|
||||
|
||||
|
||||
func cleanup_tree() -> void:
|
||||
clear_failures()
|
||||
clear_tree_item_cache()
|
||||
if not _tree_root:
|
||||
return
|
||||
_free_recursive()
|
||||
_tree.clear()
|
||||
# clear old reports
|
||||
for child in _report_list.get_children():
|
||||
_report_list.remove_child(child)
|
||||
|
||||
|
||||
func _free_recursive(items := _tree_root.get_children()) -> void:
|
||||
for item in items:
|
||||
_free_recursive(item.get_children())
|
||||
item.call_deferred("free")
|
||||
|
||||
|
||||
func select_item(item :TreeItem) -> void:
|
||||
if not item.is_selected(0):
|
||||
item.select(0)
|
||||
# _tree.ensure_cursor_is_visible()
|
||||
_tree.scroll_to_item(item)
|
||||
|
||||
|
||||
func set_state_running(item :TreeItem) -> void:
|
||||
item.set_custom_color(0, Color.DARK_GREEN)
|
||||
item.set_icon(0, ICON_SPINNER)
|
||||
item.set_tooltip_text(0, "")
|
||||
item.set_meta(META_GDUNIT_STATE, STATE.RUNNING)
|
||||
item.remove_meta(META_GDUNIT_REPORT)
|
||||
item.remove_meta(META_GDUNIT_ORPHAN)
|
||||
item.collapsed = false
|
||||
# force scrolling to current test case
|
||||
select_item(item)
|
||||
|
||||
|
||||
func set_state_succeded(item :TreeItem) -> void:
|
||||
item.set_custom_color(0, Color.GREEN)
|
||||
item.set_icon(0, ICON_TEST_SUCCESS)
|
||||
item.set_meta(META_GDUNIT_STATE, STATE.SUCCESS)
|
||||
item.collapsed = GdUnitSettings.is_inspector_node_collapse()
|
||||
|
||||
|
||||
func set_state_skipped(item :TreeItem) -> void:
|
||||
item.set_meta(META_GDUNIT_STATE, STATE.SKIPPED)
|
||||
item.set_suffix(0, "(skipped)")
|
||||
item.set_custom_color(0, Color.DARK_GRAY)
|
||||
item.set_icon(0, ICON_TEST_DEFAULT)
|
||||
item.collapsed = false
|
||||
|
||||
|
||||
func set_state_warnings(item :TreeItem) -> void:
|
||||
# Do not overwrite higher states
|
||||
if is_state_error(item) or is_state_failed(item):
|
||||
return
|
||||
item.set_meta(META_GDUNIT_STATE, STATE.WARNING)
|
||||
item.set_custom_color(0, Color.YELLOW)
|
||||
item.set_icon(0, ICON_TEST_SUCCESS)
|
||||
item.collapsed = false
|
||||
|
||||
|
||||
func set_state_failed(item :TreeItem) -> void:
|
||||
# Do not overwrite higher states
|
||||
if is_state_error(item):
|
||||
return
|
||||
item.set_meta(META_GDUNIT_STATE, STATE.FAILED)
|
||||
item.set_custom_color(0, Color.LIGHT_BLUE)
|
||||
item.set_icon(0, ICON_TEST_FAILED)
|
||||
item.collapsed = false
|
||||
|
||||
|
||||
func set_state_error(item :TreeItem) -> void:
|
||||
item.set_meta(META_GDUNIT_STATE, STATE.ERROR)
|
||||
item.set_custom_color(0, Color.DARK_RED)
|
||||
item.set_suffix(0, item.get_suffix(0))
|
||||
item.set_icon(0, ICON_TEST_ERROR)
|
||||
item.collapsed = false
|
||||
|
||||
|
||||
func set_state_aborted(item :TreeItem) -> void:
|
||||
item.set_meta(META_GDUNIT_STATE, STATE.ABORDED)
|
||||
item.set_icon(0, ICON_TEST_ERROR)
|
||||
item.set_custom_color(0, Color.DARK_RED)
|
||||
item.set_suffix(0, "(aborted)")
|
||||
item.clear_custom_bg_color(0)
|
||||
item.collapsed = false
|
||||
|
||||
|
||||
func set_elapsed_time(item :TreeItem, time :int) -> void:
|
||||
item.set_suffix(0, "(%s)" % LocalTime.elapsed(time))
|
||||
|
||||
|
||||
func set_state_orphan(item :TreeItem, event: GdUnitEvent) -> void:
|
||||
var orphan_count = event.statistic(GdUnitEvent.ORPHAN_NODES)
|
||||
if orphan_count == 0:
|
||||
return
|
||||
if item.has_meta(META_GDUNIT_ORPHAN):
|
||||
orphan_count += item.get_meta(META_GDUNIT_ORPHAN)
|
||||
item.set_meta(META_GDUNIT_ORPHAN, orphan_count)
|
||||
item.set_custom_color(0, Color.YELLOW)
|
||||
item.set_tooltip_text(0, "Total <%d> orphan nodes detected." % orphan_count)
|
||||
if is_state_error(item):
|
||||
item.set_icon(0, ICON_TEST_ERRORS_ORPHAN)
|
||||
elif is_state_failed(item):
|
||||
item.set_icon(0, ICON_TEST_FAILED_ORPHAN)
|
||||
elif is_state_warning(item):
|
||||
item.set_icon(0, ICON_TEST_SUCCESS_ORPHAN)
|
||||
|
||||
|
||||
func update_state(item: TreeItem, event :GdUnitEvent) -> void:
|
||||
if is_state_running(item) and event.is_success():
|
||||
set_state_succeded(item)
|
||||
else:
|
||||
if event.is_skipped():
|
||||
set_state_skipped(item)
|
||||
elif event.is_error():
|
||||
set_state_error(item)
|
||||
elif event.is_failed():
|
||||
set_state_failed(item)
|
||||
elif event.is_warning():
|
||||
set_state_warnings(item)
|
||||
for report in event.reports():
|
||||
add_report(item, report)
|
||||
set_state_orphan(item, event)
|
||||
|
||||
|
||||
func add_report(item :TreeItem, report: GdUnitReport) -> void:
|
||||
var reports = []
|
||||
if item.has_meta(META_GDUNIT_REPORT):
|
||||
reports = item.get_meta(META_GDUNIT_REPORT)
|
||||
reports.append(report)
|
||||
item.set_meta(META_GDUNIT_REPORT, reports)
|
||||
|
||||
|
||||
func abort_running(items := _tree_root.get_children()) -> void:
|
||||
for item in items:
|
||||
if is_state_running(item):
|
||||
set_state_aborted(item)
|
||||
abort_running(item.get_children())
|
||||
|
||||
|
||||
func select_first_failure() -> void:
|
||||
if not _current_failures.is_empty():
|
||||
select_item(_current_failures[0])
|
||||
|
||||
|
||||
func select_last_failure() -> void:
|
||||
if not _current_failures.is_empty():
|
||||
select_item(_current_failures[-1])
|
||||
|
||||
|
||||
func clear_failures() -> void:
|
||||
_current_failures.clear()
|
||||
|
||||
|
||||
func collect_failures_and_errors(items := _tree_root.get_children()) -> Array:
|
||||
for item in items:
|
||||
if not is_test_suite(item) and (is_state_failed(item) or is_state_error(item)):
|
||||
_current_failures.append(item)
|
||||
collect_failures_and_errors(item.get_children())
|
||||
return _current_failures
|
||||
|
||||
|
||||
func select_next_failure() -> void:
|
||||
var current_selected := _tree.get_selected()
|
||||
if current_selected == null:
|
||||
select_first_failure()
|
||||
return
|
||||
if _current_failures.is_empty():
|
||||
return
|
||||
var index := _current_failures.find(current_selected)
|
||||
if index == -1 or index == _current_failures.size()-1:
|
||||
select_item(_current_failures[0])
|
||||
else:
|
||||
select_item(_current_failures[index+1])
|
||||
|
||||
|
||||
func select_previous_failure() -> void:
|
||||
var current_selected := _tree.get_selected()
|
||||
if current_selected == null:
|
||||
select_last_failure()
|
||||
return
|
||||
if _current_failures.is_empty():
|
||||
return
|
||||
var index := _current_failures.find(current_selected)
|
||||
if index == -1 or index == 0:
|
||||
select_item(_current_failures[_current_failures.size()-1])
|
||||
else:
|
||||
select_item(_current_failures[index-1])
|
||||
|
||||
|
||||
func select_first_orphan() -> void:
|
||||
for parent in _tree_root.get_children():
|
||||
if not is_state_success(parent):
|
||||
for item in parent.get_children():
|
||||
if is_item_state_orphan(item):
|
||||
parent.set_collapsed(false)
|
||||
select_item(item)
|
||||
return
|
||||
|
||||
|
||||
func show_failed_report(selected_item) -> void:
|
||||
# clear old reports
|
||||
for child in _report_list.get_children():
|
||||
_report_list.remove_child(child)
|
||||
child.queue_free()
|
||||
|
||||
if selected_item == null or not selected_item.has_meta(META_GDUNIT_REPORT):
|
||||
return
|
||||
# add new reports
|
||||
for r in selected_item.get_meta(META_GDUNIT_REPORT):
|
||||
var report := r as GdUnitReport
|
||||
var reportNode :RichTextLabel = _report_template.duplicate()
|
||||
_report_list.add_child(reportNode)
|
||||
reportNode.append_text(report.to_string())
|
||||
reportNode.visible = true
|
||||
|
||||
|
||||
func update_test_suite(event :GdUnitEvent) -> void:
|
||||
var item := _find_by_resource_path(_tree_root, event.resource_path())
|
||||
if not item:
|
||||
push_error("Internal Error: Can't find test suite %s" % event.suite_name())
|
||||
return
|
||||
if event.type() == GdUnitEvent.TESTSUITE_BEFORE:
|
||||
set_state_running(item)
|
||||
return
|
||||
if event.type() == GdUnitEvent.TESTSUITE_AFTER:
|
||||
set_elapsed_time(item, event.elapsed_time())
|
||||
update_state(item, event)
|
||||
|
||||
|
||||
func update_test_case(event :GdUnitEvent) -> void:
|
||||
var item := get_tree_item(event)
|
||||
if not item:
|
||||
push_error("Internal Error: Can't find test case %s:%s" % [event.suite_name(), event.test_name()])
|
||||
return
|
||||
if event.type() == GdUnitEvent.TESTCASE_BEFORE:
|
||||
set_state_running(item)
|
||||
return
|
||||
if event.type() == GdUnitEvent.TESTCASE_AFTER:
|
||||
set_elapsed_time(item, event.elapsed_time())
|
||||
_update_parent_item_state(item, event.is_success())
|
||||
update_state(item, event)
|
||||
|
||||
|
||||
func add_test_suite(test_suite :GdUnitTestSuiteDto) -> void:
|
||||
var item := _tree.create_item(_tree_root)
|
||||
var suite_name := test_suite.name()
|
||||
var test_count := test_suite.test_case_count()
|
||||
|
||||
item.set_icon(0, ICON_TEST_DEFAULT)
|
||||
item.set_meta(META_GDUNIT_STATE, STATE.INITIAL)
|
||||
item.set_meta(META_GDUNIT_NAME, suite_name)
|
||||
item.set_meta(META_GDUNIT_TYPE, GdUnitType.TEST_SUITE)
|
||||
item.set_meta(META_GDUNIT_TOTAL_TESTS, test_count)
|
||||
item.set_meta(META_GDUNIT_SUCCESS_TESTS, 0)
|
||||
item.set_meta(META_RESOURCE_PATH, test_suite.path())
|
||||
item.set_meta(META_LINE_NUMBER, 1)
|
||||
item.collapsed = true
|
||||
_update_item_counter(item)
|
||||
for test_case in test_suite.test_cases():
|
||||
add_test(item, test_case)
|
||||
|
||||
|
||||
func _update_item_counter(item: TreeItem):
|
||||
if item.has_meta(META_GDUNIT_TOTAL_TESTS):
|
||||
item.set_text(0, "(%s/%s) %s" % [
|
||||
item.get_meta(META_GDUNIT_SUCCESS_TESTS),
|
||||
item.get_meta(META_GDUNIT_TOTAL_TESTS),
|
||||
item.get_meta(META_GDUNIT_NAME)])
|
||||
|
||||
|
||||
func _update_parent_item_state(item: TreeItem, success : bool):
|
||||
if success:
|
||||
var parent_item := item.get_parent()
|
||||
var successes: int = parent_item.get_meta(META_GDUNIT_SUCCESS_TESTS)
|
||||
parent_item.set_meta(META_GDUNIT_SUCCESS_TESTS, successes + 1)
|
||||
_update_item_counter(parent_item)
|
||||
|
||||
|
||||
func add_test(parent :TreeItem, test_case :GdUnitTestCaseDto) -> void:
|
||||
var item := _tree.create_item(parent)
|
||||
var test_name := test_case.name()
|
||||
item.set_text(0, test_name)
|
||||
item.set_icon(0, ICON_TEST_DEFAULT)
|
||||
item.set_meta(META_GDUNIT_STATE, STATE.INITIAL)
|
||||
item.set_meta(META_GDUNIT_NAME, test_name)
|
||||
item.set_meta(META_GDUNIT_TYPE, GdUnitType.TEST_CASE)
|
||||
item.set_meta(META_RESOURCE_PATH, parent.get_meta(META_RESOURCE_PATH))
|
||||
item.set_meta(META_LINE_NUMBER, test_case.line_number())
|
||||
item.set_meta(META_TEST_PARAM_INDEX, -1)
|
||||
add_tree_item_to_cache(parent.get_meta(META_RESOURCE_PATH), test_name, item)
|
||||
|
||||
var test_case_names := test_case.test_case_names()
|
||||
if not test_case_names.is_empty():
|
||||
item.set_meta(META_GDUNIT_TOTAL_TESTS, test_case_names.size())
|
||||
item.set_meta(META_GDUNIT_SUCCESS_TESTS, 0)
|
||||
_update_item_counter(item)
|
||||
add_test_cases(item, test_case_names)
|
||||
|
||||
|
||||
func add_test_cases(parent :TreeItem, test_case_names :Array) -> void:
|
||||
for index in test_case_names.size():
|
||||
var test_case_name = test_case_names[index]
|
||||
var item := _tree.create_item(parent)
|
||||
item.set_text(0, test_case_name)
|
||||
item.set_icon(0, ICON_TEST_DEFAULT)
|
||||
item.set_meta(META_GDUNIT_STATE, STATE.INITIAL)
|
||||
item.set_meta(META_GDUNIT_NAME, test_case_name)
|
||||
item.set_meta(META_GDUNIT_TYPE, GdUnitType.TEST_CASE)
|
||||
item.set_meta(META_RESOURCE_PATH, parent.get_meta(META_RESOURCE_PATH))
|
||||
item.set_meta(META_LINE_NUMBER, parent.get_meta(META_LINE_NUMBER))
|
||||
item.set_meta(META_TEST_PARAM_INDEX, index)
|
||||
add_tree_item_to_cache(parent.get_meta(META_RESOURCE_PATH), test_case_name, item)
|
||||
|
||||
|
||||
################################################################################
|
||||
# Tree signal receiver
|
||||
################################################################################
|
||||
func _on_tree_item_mouse_selected(mouse_position :Vector2, mouse_button_index :int):
|
||||
if mouse_button_index == MOUSE_BUTTON_RIGHT:
|
||||
_context_menu.position = get_screen_position() + mouse_position
|
||||
_context_menu.popup()
|
||||
|
||||
|
||||
func _on_run_pressed(run_debug :bool) -> void:
|
||||
_context_menu.hide()
|
||||
var item := _tree.get_selected()
|
||||
if item.get_meta(META_GDUNIT_TYPE) == GdUnitType.TEST_SUITE:
|
||||
var resource_path = item.get_meta(META_RESOURCE_PATH)
|
||||
run_testsuite.emit([resource_path], run_debug)
|
||||
return
|
||||
var parent = item.get_parent()
|
||||
var test_suite_resource_path = parent.get_meta(META_RESOURCE_PATH)
|
||||
var test_case = item.get_meta(META_GDUNIT_NAME)
|
||||
# handle parameterized test selection
|
||||
var test_param_index = item.get_meta(META_TEST_PARAM_INDEX)
|
||||
if test_param_index != -1:
|
||||
test_case = parent.get_meta(META_GDUNIT_NAME)
|
||||
run_testcase.emit(test_suite_resource_path, test_case, test_param_index, run_debug)
|
||||
|
||||
|
||||
func _on_Tree_item_selected() -> void:
|
||||
# only show report checked manual item selection
|
||||
# we need to check the run mode here otherwise it will be called every selection
|
||||
if not _context_menu.is_item_disabled(CONTEXT_MENU_RUN_ID):
|
||||
var selected_item :TreeItem = _tree.get_selected()
|
||||
show_failed_report(selected_item)
|
||||
|
||||
|
||||
# Opens the test suite
|
||||
func _on_Tree_item_activated() -> void:
|
||||
var selected_item := _tree.get_selected()
|
||||
var resource_path = selected_item.get_meta(META_RESOURCE_PATH)
|
||||
var line_number = selected_item.get_meta(META_LINE_NUMBER)
|
||||
var resource = load(resource_path)
|
||||
|
||||
if selected_item.has_meta(META_GDUNIT_REPORT):
|
||||
var reports :Array = selected_item.get_meta(META_GDUNIT_REPORT)
|
||||
var report_line_number = reports[0].line_number()
|
||||
# if number -1 we use original stored line number of the test case
|
||||
# in non debug mode the line number is not available
|
||||
if report_line_number != -1:
|
||||
line_number = report_line_number
|
||||
|
||||
var editor_interface := _editor.get_editor_interface()
|
||||
editor_interface.get_file_system_dock().navigate_to_path(resource_path)
|
||||
editor_interface.edit_resource(resource)
|
||||
editor_interface.get_script_editor().goto_line(line_number-1)
|
||||
|
||||
|
||||
################################################################################
|
||||
# external signal receiver
|
||||
################################################################################
|
||||
func _on_gdunit_runner_start():
|
||||
_context_menu.set_item_disabled(CONTEXT_MENU_RUN_ID, true)
|
||||
_context_menu.set_item_disabled(CONTEXT_MENU_DEBUG_ID, true)
|
||||
clear_failures()
|
||||
|
||||
|
||||
func _on_gdunit_runner_stop(_client_id :int):
|
||||
_context_menu.set_item_disabled(CONTEXT_MENU_RUN_ID, false)
|
||||
_context_menu.set_item_disabled(CONTEXT_MENU_DEBUG_ID, false)
|
||||
abort_running()
|
||||
clear_failures()
|
||||
collect_failures_and_errors()
|
||||
select_first_failure()
|
||||
|
||||
|
||||
func _on_gdunit_add_test_suite(test_suite :GdUnitTestSuiteDto) -> void:
|
||||
add_test_suite(test_suite)
|
||||
|
||||
|
||||
func _on_gdunit_event(event :GdUnitEvent) -> void:
|
||||
match event.type():
|
||||
GdUnitEvent.INIT:
|
||||
init_tree()
|
||||
GdUnitEvent.STOP:
|
||||
select_first_failure()
|
||||
show_failed_report(_tree.get_selected())
|
||||
GdUnitEvent.TESTCASE_BEFORE:
|
||||
update_test_case(event)
|
||||
GdUnitEvent.TESTCASE_AFTER:
|
||||
update_test_case(event)
|
||||
GdUnitEvent.TESTSUITE_BEFORE:
|
||||
update_test_suite(event)
|
||||
GdUnitEvent.TESTSUITE_AFTER:
|
||||
update_test_suite(event)
|
||||
|
||||
|
||||
func _on_Monitor_jump_to_orphan_nodes():
|
||||
select_first_orphan()
|
||||
|
||||
|
||||
func _on_StatusBar_failure_next():
|
||||
select_next_failure()
|
||||
|
||||
|
||||
func _on_StatusBar_failure_prevous():
|
||||
select_previous_failure()
|
||||
|
||||
|
||||
func _on_context_m_index_pressed(index):
|
||||
match index:
|
||||
CONTEXT_MENU_DEBUG_ID:
|
||||
_on_run_pressed(true)
|
||||
CONTEXT_MENU_RUN_ID:
|
||||
_on_run_pressed(false)
|
||||
74
addons/gdUnit4/src/ui/parts/InspectorTreePanel.tscn
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
[gd_scene load_steps=2 format=3 uid="uid://bqfpidewtpeg0"]
|
||||
|
||||
[ext_resource type="Script" path="res://addons/gdUnit4/src/ui/parts/InspectorTreeMainPanel.gd" id="1"]
|
||||
|
||||
[node name="MainPanel" type="VSplitContainer"]
|
||||
use_parent_material = true
|
||||
clip_contents = true
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
offset_right = -924.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
split_offset = 200
|
||||
script = ExtResource("1")
|
||||
|
||||
[node name="Panel" type="PanelContainer" parent="."]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="Tree" type="Tree" parent="Panel"]
|
||||
use_parent_material = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
theme_override_constants/icon_max_width = 16
|
||||
allow_rmb_select = true
|
||||
hide_root = true
|
||||
select_mode = 1
|
||||
|
||||
[node name="report" type="PanelContainer" parent="."]
|
||||
clip_contents = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 11
|
||||
size_flags_vertical = 11
|
||||
|
||||
[node name="report_template" type="RichTextLabel" parent="report"]
|
||||
use_parent_material = true
|
||||
clip_contents = false
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
focus_mode = 2
|
||||
bbcode_enabled = true
|
||||
fit_content = true
|
||||
selection_enabled = true
|
||||
|
||||
[node name="ScrollContainer" type="ScrollContainer" parent="report"]
|
||||
use_parent_material = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 11
|
||||
|
||||
[node name="list" type="VBoxContainer" parent="report/ScrollContainer"]
|
||||
clip_contents = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="contextMenu" type="PopupMenu" parent="."]
|
||||
size = Vector2i(120, 60)
|
||||
auto_translate = false
|
||||
item_count = 2
|
||||
item_0/text = "Run"
|
||||
item_0/id = 0
|
||||
item_1/text = "Debug"
|
||||
item_1/id = 1
|
||||
|
||||
[connection signal="item_activated" from="Panel/Tree" to="." method="_on_Tree_item_activated"]
|
||||
[connection signal="item_mouse_selected" from="Panel/Tree" to="." method="_on_tree_item_mouse_selected"]
|
||||
[connection signal="item_selected" from="Panel/Tree" to="." method="_on_Tree_item_selected"]
|
||||
[connection signal="index_pressed" from="contextMenu" to="." method="_on_context_m_index_pressed"]
|
||||
54
addons/gdUnit4/src/ui/settings/GdUnitInputCapture.gd
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
@tool
|
||||
class_name GdUnitInputCapture
|
||||
extends Control
|
||||
|
||||
|
||||
signal input_completed(input_event :InputEventKey)
|
||||
|
||||
@onready var _label = %Label
|
||||
|
||||
|
||||
var _tween :Tween
|
||||
var _input_event :InputEventKey
|
||||
|
||||
|
||||
func _ready():
|
||||
reset()
|
||||
_tween = create_tween()
|
||||
_tween.set_loops(-1)
|
||||
_tween.tween_property(self, "modulate", Color(0, 0, 0, .1), 1.0).from_current().set_trans(Tween.TRANS_QUAD).set_ease(Tween.EASE_IN)
|
||||
|
||||
|
||||
func reset() -> void:
|
||||
_input_event = InputEventKey.new()
|
||||
|
||||
|
||||
func _input(event :InputEvent):
|
||||
if not is_visible_in_tree():
|
||||
return
|
||||
if event is InputEventKey and event.is_pressed() and not event.is_echo():
|
||||
match event.keycode:
|
||||
KEY_CTRL:
|
||||
_input_event.ctrl_pressed = true
|
||||
KEY_SHIFT:
|
||||
_input_event.shift_pressed = true
|
||||
KEY_ALT:
|
||||
_input_event.alt_pressed = true
|
||||
KEY_META:
|
||||
_input_event.meta_pressed = true
|
||||
_:
|
||||
_input_event.keycode = event.keycode
|
||||
_apply_input_modifiers(event)
|
||||
accept_event()
|
||||
|
||||
if event is InputEventKey and not event.is_pressed():
|
||||
input_completed.emit(_input_event)
|
||||
hide()
|
||||
|
||||
|
||||
func _apply_input_modifiers(event :InputEvent) -> void:
|
||||
if event is InputEventWithModifiers:
|
||||
_input_event.meta_pressed = event.meta_pressed or _input_event.meta_pressed
|
||||
_input_event.alt_pressed = event.alt_pressed or _input_event.alt_pressed
|
||||
_input_event.shift_pressed = event.shift_pressed or _input_event.shift_pressed
|
||||
_input_event.ctrl_pressed = event.ctrl_pressed or _input_event.ctrl_pressed
|
||||
33
addons/gdUnit4/src/ui/settings/GdUnitInputCapture.tscn
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
[gd_scene load_steps=2 format=3]
|
||||
|
||||
[ext_resource type="Script" path="res://addons/gdUnit4/src/ui/settings/GdUnitInputCapture.gd" id="1_gki1u"]
|
||||
|
||||
[node name="GdUnitInputMapper" type="Control"]
|
||||
top_level = true
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
script = ExtResource("1_gki1u")
|
||||
|
||||
[node name="Label" type="Label" parent="."]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 1
|
||||
anchors_preset = 8
|
||||
anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -60.5
|
||||
offset_top = -19.5
|
||||
offset_right = 60.5
|
||||
offset_bottom = 19.5
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
theme_override_colors/font_color = Color(1, 1, 1, 1)
|
||||
theme_override_font_sizes/font_size = 26
|
||||
text = "Press keys for shortcut"
|
||||
292
addons/gdUnit4/src/ui/settings/GdUnitSettingsDialog.gd
Normal file
|
|
@ -0,0 +1,292 @@
|
|||
@tool
|
||||
extends Window
|
||||
|
||||
const EAXAMPLE_URL := "https://github.com/MikeSchulze/gdUnit4-examples/archive/refs/heads/master.zip"
|
||||
|
||||
const GdUnitTools := preload("res://addons/gdUnit4/src/core/GdUnitTools.gd")
|
||||
const GdUnitUpdateClient = preload("res://addons/gdUnit4/src/update/GdUnitUpdateClient.gd")
|
||||
|
||||
@onready var _update_client :GdUnitUpdateClient = $GdUnitUpdateClient
|
||||
@onready var _version_label :RichTextLabel = %version
|
||||
@onready var _btn_install :Button = %btn_install_examples
|
||||
@onready var _progress_bar :ProgressBar = %ProgressBar
|
||||
@onready var _progress_text :Label = %progress_lbl
|
||||
@onready var _properties_template :Node = $property_template
|
||||
@onready var _properties_common :Node = %"common-content"
|
||||
@onready var _properties_ui :Node = %"ui-content"
|
||||
@onready var _properties_shortcuts :Node = %"shortcut-content"
|
||||
@onready var _properties_report :Node = %"report-content"
|
||||
@onready var _input_capture :GdUnitInputCapture = %GdUnitInputCapture
|
||||
@onready var _property_error :Window = %"propertyError"
|
||||
var _font_size :float
|
||||
|
||||
|
||||
func _ready():
|
||||
# initialize for testing
|
||||
if not Engine.is_editor_hint():
|
||||
GdUnitSettings.setup()
|
||||
GdUnit4Version.init_version_label(_version_label)
|
||||
_font_size = GdUnitFonts.init_fonts(_version_label)
|
||||
setup_properties(_properties_common, GdUnitSettings.COMMON_SETTINGS)
|
||||
setup_properties(_properties_ui, GdUnitSettings.UI_SETTINGS)
|
||||
setup_properties(_properties_report, GdUnitSettings.REPORT_SETTINGS)
|
||||
setup_properties(_properties_shortcuts, GdUnitSettings.SHORTCUT_SETTINGS)
|
||||
await get_tree().process_frame
|
||||
if not Engine.is_editor_hint():
|
||||
DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_WINDOWED)
|
||||
DisplayServer.window_set_size(Vector2i(1600, 800))
|
||||
popup_centered_ratio(1)
|
||||
else:
|
||||
popup_centered_ratio(.75)
|
||||
|
||||
|
||||
func _sort_by_key(left :GdUnitProperty, right :GdUnitProperty) -> bool:
|
||||
return left.name() < right.name()
|
||||
|
||||
|
||||
func setup_properties(properties_parent :Node, property_category) -> void:
|
||||
var category_properties := GdUnitSettings.list_settings(property_category)
|
||||
# sort by key
|
||||
category_properties.sort_custom(_sort_by_key)
|
||||
var theme_ := Theme.new()
|
||||
theme_.set_constant("h_separation", "GridContainer", 12)
|
||||
var last_category := "!"
|
||||
var min_size_overall := 0.0
|
||||
for p in category_properties:
|
||||
var min_size_ := 0.0
|
||||
var grid := GridContainer.new()
|
||||
grid.columns = 4
|
||||
grid.theme = theme_
|
||||
var property : GdUnitProperty = p
|
||||
var current_category = property.category()
|
||||
if current_category != last_category:
|
||||
var sub_category :Node = _properties_template.get_child(3).duplicate()
|
||||
sub_category.get_child(0).text = current_category.capitalize()
|
||||
sub_category.custom_minimum_size.y = _font_size + 16
|
||||
properties_parent.add_child(sub_category)
|
||||
last_category = current_category
|
||||
# property name
|
||||
var label :Label = _properties_template.get_child(0).duplicate()
|
||||
label.text = _to_human_readable(property.name())
|
||||
label.custom_minimum_size = Vector2(_font_size * 20, 0)
|
||||
grid.add_child(label)
|
||||
min_size_ += label.size.x
|
||||
|
||||
# property reset btn
|
||||
var reset_btn :Button = _properties_template.get_child(1).duplicate()
|
||||
reset_btn.icon = _get_btn_icon("Reload")
|
||||
reset_btn.disabled = property.value() == property.default()
|
||||
grid.add_child(reset_btn)
|
||||
min_size_ += reset_btn.size.x
|
||||
|
||||
# property type specific input element
|
||||
var input :Node = _create_input_element(property, reset_btn)
|
||||
input.custom_minimum_size = Vector2(_font_size * 15, 0)
|
||||
grid.add_child(input)
|
||||
min_size_ += input.size.x
|
||||
reset_btn.pressed.connect(_on_btn_property_reset_pressed.bind(property, input, reset_btn))
|
||||
# property help text
|
||||
var info :Node = _properties_template.get_child(2).duplicate()
|
||||
info.text = property.help()
|
||||
grid.add_child(info)
|
||||
min_size_ += info.text.length() * _font_size
|
||||
if min_size_overall < min_size_:
|
||||
min_size_overall = min_size_
|
||||
properties_parent.add_child(grid)
|
||||
properties_parent.custom_minimum_size.x = min_size_overall
|
||||
|
||||
|
||||
func _create_input_element(property: GdUnitProperty, reset_btn :Button) -> Node:
|
||||
if property.is_selectable_value():
|
||||
var options := OptionButton.new()
|
||||
options.alignment = HORIZONTAL_ALIGNMENT_CENTER
|
||||
var values_set := Array(property.value_set())
|
||||
for value in values_set:
|
||||
options.add_item(value)
|
||||
options.item_selected.connect(_on_option_selected.bind(property, reset_btn))
|
||||
options.select(property.value())
|
||||
return options
|
||||
if property.type() == TYPE_BOOL:
|
||||
var check_btn := CheckButton.new()
|
||||
check_btn.toggled.connect(_on_property_text_changed.bind(property, reset_btn))
|
||||
check_btn.button_pressed = property.value()
|
||||
return check_btn
|
||||
if property.type() in [TYPE_INT, TYPE_STRING]:
|
||||
var input := LineEdit.new()
|
||||
input.text_changed.connect(_on_property_text_changed.bind(property, reset_btn))
|
||||
input.set_context_menu_enabled(false)
|
||||
input.set_horizontal_alignment(HORIZONTAL_ALIGNMENT_CENTER)
|
||||
input.set_expand_to_text_length_enabled(true)
|
||||
input.text = str(property.value())
|
||||
return input
|
||||
if property.type() == TYPE_PACKED_INT32_ARRAY:
|
||||
var key_input_button := Button.new()
|
||||
key_input_button.text = to_shortcut(property.value())
|
||||
key_input_button.pressed.connect(_on_shortcut_change.bind(key_input_button, property, reset_btn))
|
||||
return key_input_button
|
||||
return Control.new()
|
||||
|
||||
|
||||
func to_shortcut(keys :PackedInt32Array) -> String:
|
||||
var input_event := InputEventKey.new()
|
||||
for key in keys:
|
||||
match key:
|
||||
KEY_CTRL: input_event.ctrl_pressed = true
|
||||
KEY_SHIFT: input_event.shift_pressed = true
|
||||
KEY_ALT: input_event.alt_pressed = true
|
||||
KEY_META: input_event.meta_pressed = true
|
||||
_:
|
||||
input_event.keycode = key as Key
|
||||
return input_event.as_text()
|
||||
|
||||
|
||||
func to_keys(input_event :InputEventKey) -> PackedInt32Array:
|
||||
var keys := PackedInt32Array()
|
||||
if input_event.ctrl_pressed:
|
||||
keys.append(KEY_CTRL)
|
||||
if input_event.shift_pressed:
|
||||
keys.append(KEY_SHIFT)
|
||||
if input_event.alt_pressed:
|
||||
keys.append(KEY_ALT)
|
||||
if input_event.meta_pressed:
|
||||
keys.append(KEY_META)
|
||||
keys.append(input_event.keycode)
|
||||
return keys
|
||||
|
||||
|
||||
func _to_human_readable(value :String) -> String:
|
||||
return value.split("/")[-1].capitalize()
|
||||
|
||||
|
||||
func _get_btn_icon(p_name :String) -> Texture2D:
|
||||
if not Engine.is_editor_hint():
|
||||
var placeholder := PlaceholderTexture2D.new()
|
||||
placeholder.size = Vector2(8,8)
|
||||
return placeholder
|
||||
var editor :EditorPlugin = Engine.get_meta("GdUnitEditorPlugin")
|
||||
if editor:
|
||||
var editior_control := editor.get_editor_interface().get_base_control()
|
||||
return GodotVersionFixures.get_icon(editior_control, p_name)
|
||||
return null
|
||||
|
||||
|
||||
func _install_examples() -> void:
|
||||
_init_progress(5)
|
||||
update_progress("Downloading examples")
|
||||
await get_tree().process_frame
|
||||
var tmp_path := GdUnitFileAccess.create_temp_dir("download")
|
||||
var zip_file := tmp_path + "/examples.zip"
|
||||
var response :GdUnitUpdateClient.HttpResponse = await _update_client.request_zip_package(EAXAMPLE_URL, zip_file)
|
||||
if response.code() != 200:
|
||||
push_warning("Examples cannot be retrieved from GitHub! \n Error code: %d : %s" % [response.code(), response.response()])
|
||||
update_progress("Install examples failed! Try it later again.")
|
||||
await get_tree().create_timer(3).timeout
|
||||
stop_progress()
|
||||
return
|
||||
# extract zip to tmp
|
||||
update_progress("Install examples into project")
|
||||
var result := GdUnitFileAccess.extract_zip(zip_file, "res://gdUnit4-examples/")
|
||||
if result.is_error():
|
||||
update_progress("Install examples failed! %s" % result.error_message())
|
||||
await get_tree().create_timer(3).timeout
|
||||
stop_progress()
|
||||
return
|
||||
update_progress("Refresh project")
|
||||
await rescan(true)
|
||||
update_progress("Examples successfully installed")
|
||||
await get_tree().create_timer(3).timeout
|
||||
stop_progress()
|
||||
|
||||
|
||||
func rescan(update_scripts :bool = false) -> void:
|
||||
await get_tree().idle_frame
|
||||
var plugin :EditorPlugin = Engine.get_meta("GdUnitEditorPlugin")
|
||||
var fs := plugin.get_editor_interface().get_resource_filesystem()
|
||||
fs.scan_sources()
|
||||
while fs.is_scanning():
|
||||
await get_tree().create_timer(1).timeout
|
||||
if update_scripts:
|
||||
plugin.get_editor_interface().get_resource_filesystem().update_script_classes()
|
||||
|
||||
|
||||
func _on_btn_report_bug_pressed():
|
||||
OS.shell_open("https://github.com/MikeSchulze/gdUnit4/issues/new?assignees=MikeSchulze&labels=bug&template=bug_report.md&title=")
|
||||
|
||||
|
||||
func _on_btn_request_feature_pressed():
|
||||
OS.shell_open("https://github.com/MikeSchulze/gdUnit4/issues/new?assignees=MikeSchulze&labels=enhancement&template=feature_request.md&title=")
|
||||
|
||||
|
||||
func _on_btn_install_examples_pressed():
|
||||
_btn_install.disabled = true
|
||||
await _install_examples()
|
||||
_btn_install.disabled = false
|
||||
|
||||
|
||||
func _on_btn_close_pressed():
|
||||
hide()
|
||||
|
||||
|
||||
func _on_btn_property_reset_pressed(property: GdUnitProperty, input :Node, reset_btn :Button):
|
||||
if input is CheckButton:
|
||||
input.button_pressed = property.default()
|
||||
elif input is LineEdit:
|
||||
input.text = str(property.default())
|
||||
# we have to update manually for text input fields because of no change event is emited
|
||||
_on_property_text_changed(property.default(), property, reset_btn)
|
||||
elif input is OptionButton:
|
||||
input.select(0)
|
||||
_on_option_selected(0, property, reset_btn)
|
||||
elif input is Button:
|
||||
input.text = to_shortcut(property.default())
|
||||
_on_property_text_changed(property.default(), property, reset_btn)
|
||||
|
||||
|
||||
func _on_property_text_changed(new_value :Variant, property: GdUnitProperty, reset_btn :Button):
|
||||
property.set_value(new_value)
|
||||
reset_btn.disabled = property.value() == property.default()
|
||||
var error :Variant = GdUnitSettings.update_property(property)
|
||||
if error:
|
||||
var label :Label = _property_error.get_child(0) as Label
|
||||
label.set_text(error)
|
||||
var control := gui_get_focus_owner()
|
||||
_property_error.show()
|
||||
if control != null:
|
||||
_property_error.position = control.global_position + Vector2(self.position) + Vector2(40, 40)
|
||||
|
||||
|
||||
func _on_option_selected(index :int, property: GdUnitProperty, reset_btn :Button):
|
||||
property.set_value(index)
|
||||
reset_btn.disabled = property.value() == property.default()
|
||||
GdUnitSettings.update_property(property)
|
||||
|
||||
|
||||
func _on_shortcut_change(input_button :Button, property: GdUnitProperty, reset_btn :Button) -> void:
|
||||
_input_capture.set_custom_minimum_size(_properties_shortcuts.get_size())
|
||||
_input_capture.visible = true
|
||||
_input_capture.show()
|
||||
set_process_input(false)
|
||||
_input_capture.reset()
|
||||
var input_event :InputEventKey = await _input_capture.input_completed
|
||||
input_button.text = input_event.as_text()
|
||||
_on_property_text_changed(to_keys(input_event), property, reset_btn)
|
||||
set_process_input(true)
|
||||
|
||||
|
||||
func _init_progress(max_value : int) -> void:
|
||||
_progress_bar.visible = true
|
||||
_progress_bar.max_value = max_value
|
||||
_progress_bar.value = 0
|
||||
|
||||
|
||||
func _progress() -> void:
|
||||
_progress_bar.value += 1
|
||||
|
||||
|
||||
func stop_progress() -> void:
|
||||
_progress_bar.visible = false
|
||||
|
||||
|
||||
func update_progress(message :String) -> void:
|
||||
_progress_text.text = message
|
||||
_progress_bar.value += 1
|
||||
315
addons/gdUnit4/src/ui/settings/GdUnitSettingsDialog.tscn
Normal file
|
|
@ -0,0 +1,315 @@
|
|||
[gd_scene load_steps=7 format=3 uid="uid://dwgat6j2u77g4"]
|
||||
|
||||
[ext_resource type="Script" path="res://addons/gdUnit4/src/ui/settings/GdUnitSettingsDialog.gd" id="2"]
|
||||
[ext_resource type="Texture2D" uid="uid://c7sk0yhd52lg3" path="res://addons/gdUnit4/src/ui/assets/icon.png" id="2_w63lb"]
|
||||
[ext_resource type="PackedScene" uid="uid://dte0m2endcgtu" path="res://addons/gdUnit4/src/ui/templates/TestSuiteTemplate.tscn" id="4"]
|
||||
[ext_resource type="PackedScene" path="res://addons/gdUnit4/src/ui/settings/GdUnitInputCapture.tscn" id="5_xu3j8"]
|
||||
[ext_resource type="Script" path="res://addons/gdUnit4/src/update/GdUnitUpdateClient.gd" id="8_2ggr0"]
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_hbbq5"]
|
||||
content_margin_left = 10.0
|
||||
content_margin_right = 10.0
|
||||
bg_color = Color(0.172549, 0.113725, 0.141176, 1)
|
||||
border_width_left = 4
|
||||
border_width_top = 4
|
||||
border_width_right = 4
|
||||
border_width_bottom = 4
|
||||
border_color = Color(0.87451, 0.0705882, 0.160784, 1)
|
||||
border_blend = true
|
||||
corner_radius_top_left = 8
|
||||
corner_radius_top_right = 8
|
||||
corner_radius_bottom_right = 8
|
||||
corner_radius_bottom_left = 8
|
||||
shadow_color = Color(0, 0, 0, 0.756863)
|
||||
shadow_size = 10
|
||||
shadow_offset = Vector2(10, 10)
|
||||
|
||||
[node name="Control" type="Window"]
|
||||
disable_3d = true
|
||||
title = "GdUnitSettings"
|
||||
initial_position = 1
|
||||
visible = false
|
||||
wrap_controls = true
|
||||
transient = true
|
||||
exclusive = true
|
||||
script = ExtResource("2")
|
||||
|
||||
[node name="property_template" type="Control" parent="."]
|
||||
visible = false
|
||||
layout_mode = 3
|
||||
anchors_preset = 0
|
||||
offset_left = 4.0
|
||||
offset_top = 4.0
|
||||
offset_right = 956.0
|
||||
offset_bottom = 656.0
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="Label" type="Label" parent="property_template"]
|
||||
layout_mode = 0
|
||||
offset_top = 13.0
|
||||
offset_right = 131.0
|
||||
offset_bottom = 27.0
|
||||
|
||||
[node name="btn_reset" type="Button" parent="property_template"]
|
||||
layout_mode = 0
|
||||
offset_right = 12.0
|
||||
offset_bottom = 40.0
|
||||
tooltip_text = "Reset to default value"
|
||||
clip_text = true
|
||||
|
||||
[node name="info" type="Label" parent="property_template"]
|
||||
layout_mode = 0
|
||||
offset_left = 390.0
|
||||
offset_top = 11.0
|
||||
offset_right = 590.0
|
||||
offset_bottom = 25.0
|
||||
size_flags_horizontal = 3
|
||||
text = "Enables/disables the update notification "
|
||||
clip_text = true
|
||||
max_lines_visible = 1
|
||||
|
||||
[node name="sub_category" type="Panel" parent="property_template"]
|
||||
layout_mode = 1
|
||||
anchors_preset = 10
|
||||
anchor_right = 1.0
|
||||
offset_bottom = 30.0
|
||||
grow_horizontal = 2
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="Label" type="Label" parent="property_template/sub_category"]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
theme_override_colors/font_color = Color(0.196078, 0.631373, 0.639216, 1)
|
||||
|
||||
[node name="GdUnitUpdateClient" type="Node" parent="."]
|
||||
script = ExtResource("8_2ggr0")
|
||||
|
||||
[node name="Panel" type="Panel" parent="."]
|
||||
clip_contents = true
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="v" type="VBoxContainer" parent="Panel"]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="Panel/v"]
|
||||
use_parent_material = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
theme_override_constants/margin_left = 4
|
||||
theme_override_constants/margin_top = 4
|
||||
theme_override_constants/margin_right = 4
|
||||
|
||||
[node name="GridContainer" type="HBoxContainer" parent="Panel/v/MarginContainer"]
|
||||
use_parent_material = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="PanelContainer" type="MarginContainer" parent="Panel/v/MarginContainer/GridContainer"]
|
||||
use_parent_material = true
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="Panel" type="VBoxContainer" parent="Panel/v/MarginContainer/GridContainer/PanelContainer"]
|
||||
use_parent_material = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="CenterContainer" type="CenterContainer" parent="Panel/v/MarginContainer/GridContainer/PanelContainer/Panel"]
|
||||
use_parent_material = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="logo" type="TextureRect" parent="Panel/v/MarginContainer/GridContainer/PanelContainer/Panel/CenterContainer"]
|
||||
custom_minimum_size = Vector2(120, 120)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 0
|
||||
size_flags_vertical = 4
|
||||
texture = ExtResource("2_w63lb")
|
||||
expand_mode = 1
|
||||
stretch_mode = 5
|
||||
|
||||
[node name="CenterContainer2" type="MarginContainer" parent="Panel/v/MarginContainer/GridContainer/PanelContainer/Panel"]
|
||||
use_parent_material = true
|
||||
custom_minimum_size = Vector2(0, 30)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="version" type="RichTextLabel" parent="Panel/v/MarginContainer/GridContainer/PanelContainer/Panel/CenterContainer2"]
|
||||
unique_name_in_owner = true
|
||||
use_parent_material = true
|
||||
clip_contents = false
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
auto_translate = false
|
||||
localize_numeral_system = false
|
||||
bbcode_enabled = true
|
||||
scroll_active = false
|
||||
meta_underlined = false
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="Panel/v/MarginContainer/GridContainer/PanelContainer"]
|
||||
custom_minimum_size = Vector2(200, 0)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
alignment = 2
|
||||
|
||||
[node name="btn_report_bug" type="Button" parent="Panel/v/MarginContainer/GridContainer/PanelContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
tooltip_text = "Press to create a bug report"
|
||||
text = "Report Bug"
|
||||
|
||||
[node name="btn_request_feature" type="Button" parent="Panel/v/MarginContainer/GridContainer/PanelContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
tooltip_text = "Press to create a feature request"
|
||||
text = "Request Feature"
|
||||
|
||||
[node name="btn_install_examples" type="Button" parent="Panel/v/MarginContainer/GridContainer/PanelContainer/VBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
tooltip_text = "Press to install the advanced test examples"
|
||||
disabled = true
|
||||
text = "Install Examples"
|
||||
|
||||
[node name="Properties" type="TabContainer" parent="Panel/v/MarginContainer/GridContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 11
|
||||
|
||||
[node name="Common" type="ScrollContainer" parent="Panel/v/MarginContainer/GridContainer/Properties"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="common-content" type="VBoxContainer" parent="Panel/v/MarginContainer/GridContainer/Properties/Common"]
|
||||
unique_name_in_owner = true
|
||||
clip_contents = true
|
||||
custom_minimum_size = Vector2(1445, 0)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="UI" type="ScrollContainer" parent="Panel/v/MarginContainer/GridContainer/Properties"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
|
||||
[node name="ui-content" type="VBoxContainer" parent="Panel/v/MarginContainer/GridContainer/Properties/UI"]
|
||||
unique_name_in_owner = true
|
||||
clip_contents = true
|
||||
custom_minimum_size = Vector2(1249, 0)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="Shortcuts" type="ScrollContainer" parent="Panel/v/MarginContainer/GridContainer/Properties"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
|
||||
[node name="shortcut-content" type="VBoxContainer" parent="Panel/v/MarginContainer/GridContainer/Properties/Shortcuts"]
|
||||
unique_name_in_owner = true
|
||||
clip_contents = true
|
||||
custom_minimum_size = Vector2(983, 0)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="GdUnitInputCapture" parent="Panel/v/MarginContainer/GridContainer/Properties/Shortcuts/shortcut-content" instance=ExtResource("5_xu3j8")]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
modulate = Color(0.000201742, 0.000201742, 0.000201742, 0.100182)
|
||||
z_index = 1
|
||||
z_as_relative = false
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 1
|
||||
size_flags_vertical = 1
|
||||
|
||||
[node name="Report" type="ScrollContainer" parent="Panel/v/MarginContainer/GridContainer/Properties"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
|
||||
[node name="report-content" type="VBoxContainer" parent="Panel/v/MarginContainer/GridContainer/Properties/Report"]
|
||||
unique_name_in_owner = true
|
||||
clip_contents = true
|
||||
custom_minimum_size = Vector2(1249, 0)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="Templates" parent="Panel/v/MarginContainer/GridContainer/Properties" instance=ExtResource("4")]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
|
||||
[node name="propertyError" type="PopupPanel" parent="Panel/v/MarginContainer/GridContainer/Properties"]
|
||||
unique_name_in_owner = true
|
||||
initial_position = 1
|
||||
size = Vector2i(400, 100)
|
||||
theme_override_styles/panel = SubResource("StyleBoxFlat_hbbq5")
|
||||
|
||||
[node name="Label" type="Label" parent="Panel/v/MarginContainer/GridContainer/Properties/propertyError"]
|
||||
offset_left = 10.0
|
||||
offset_top = 4.0
|
||||
offset_right = 390.0
|
||||
offset_bottom = 96.0
|
||||
theme_override_colors/font_color = Color(0.858824, 0, 0.109804, 1)
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="MarginContainer2" type="MarginContainer" parent="Panel/v"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
theme_override_constants/margin_left = 4
|
||||
theme_override_constants/margin_right = 4
|
||||
theme_override_constants/margin_bottom = 4
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="Panel/v/MarginContainer2"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
alignment = 2
|
||||
|
||||
[node name="ProgressBar" type="ProgressBar" parent="Panel/v/MarginContainer2/HBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="progress_lbl" type="Label" parent="Panel/v/MarginContainer2/HBoxContainer/ProgressBar"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
clip_text = true
|
||||
|
||||
[node name="btn_close" type="Button" parent="Panel/v/MarginContainer2/HBoxContainer"]
|
||||
custom_minimum_size = Vector2(200, 0)
|
||||
layout_mode = 2
|
||||
text = "Close"
|
||||
|
||||
[connection signal="pressed" from="Panel/v/MarginContainer/GridContainer/PanelContainer/VBoxContainer/btn_report_bug" to="." method="_on_btn_report_bug_pressed"]
|
||||
[connection signal="pressed" from="Panel/v/MarginContainer/GridContainer/PanelContainer/VBoxContainer/btn_request_feature" to="." method="_on_btn_request_feature_pressed"]
|
||||
[connection signal="pressed" from="Panel/v/MarginContainer/GridContainer/PanelContainer/VBoxContainer/btn_install_examples" to="." method="_on_btn_install_examples_pressed"]
|
||||
[connection signal="pressed" from="Panel/v/MarginContainer2/HBoxContainer/btn_close" to="." method="_on_btn_close_pressed"]
|
||||
122
addons/gdUnit4/src/ui/templates/TestSuiteTemplate.gd
Normal file
|
|
@ -0,0 +1,122 @@
|
|||
@tool
|
||||
extends MarginContainer
|
||||
|
||||
@onready var _template_editor :CodeEdit = $VBoxContainer/EdiorLayout/Editor
|
||||
@onready var _tags_editor :CodeEdit = $Tags/MarginContainer/TextEdit
|
||||
@onready var _title_bar :Panel = $VBoxContainer/sub_category
|
||||
@onready var _save_button :Button = $VBoxContainer/Panel/HBoxContainer/Save
|
||||
@onready var _selected_type :OptionButton = $VBoxContainer/EdiorLayout/Editor/MarginContainer/HBoxContainer/SelectType
|
||||
@onready var _show_tags :PopupPanel = $Tags
|
||||
|
||||
|
||||
var gd_key_words :PackedStringArray = ["extends", "class_name", "const", "var", "onready", "func", "void", "pass"]
|
||||
var gdunit_key_words :PackedStringArray = ["GdUnitTestSuite", "before", "after", "before_test", "after_test"]
|
||||
var _selected_template :int
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
setup_editor_colors()
|
||||
setup_fonts()
|
||||
setup_supported_types()
|
||||
load_template(GdUnitTestSuiteTemplate.TEMPLATE_ID_GD)
|
||||
setup_tags_help()
|
||||
|
||||
|
||||
func _notification(what :int) -> void:
|
||||
if what == EditorSettings.NOTIFICATION_EDITOR_SETTINGS_CHANGED:
|
||||
setup_fonts()
|
||||
|
||||
|
||||
func setup_editor_colors() -> void:
|
||||
if not Engine.is_editor_hint():
|
||||
return
|
||||
var plugin :EditorPlugin = Engine.get_meta("GdUnitEditorPlugin")
|
||||
var settings := plugin.get_editor_interface().get_editor_settings()
|
||||
var background_color :Color = settings.get_setting("text_editor/theme/highlighting/background_color")
|
||||
var text_color :Color = settings.get_setting("text_editor/theme/highlighting/text_color")
|
||||
var selection_color :Color = settings.get_setting("text_editor/theme/highlighting/selection_color")
|
||||
|
||||
for e in [_template_editor, _tags_editor]:
|
||||
var editor :CodeEdit = e
|
||||
editor.add_theme_color_override("background_color", background_color)
|
||||
editor.add_theme_color_override("font_color", text_color)
|
||||
editor.add_theme_color_override("font_readonly_color", text_color)
|
||||
editor.add_theme_color_override("font_selected_color", selection_color)
|
||||
setup_highlighter(editor, settings)
|
||||
|
||||
|
||||
func setup_highlighter(editor :CodeEdit, settings :EditorSettings) -> void:
|
||||
var highlighter := CodeHighlighter.new()
|
||||
editor.set_syntax_highlighter(highlighter)
|
||||
var number_color :Color = settings.get_setting("text_editor/theme/highlighting/number_color")
|
||||
var symbol_color :Color = settings.get_setting("text_editor/theme/highlighting/symbol_color")
|
||||
var function_color :Color = settings.get_setting("text_editor/theme/highlighting/function_color")
|
||||
var member_variable_color :Color = settings.get_setting("text_editor/theme/highlighting/member_variable_color")
|
||||
var comment_color :Color = settings.get_setting("text_editor/theme/highlighting/comment_color")
|
||||
var keyword_color :Color = settings.get_setting("text_editor/theme/highlighting/keyword_color")
|
||||
var base_type_color :Color = settings.get_setting("text_editor/theme/highlighting/base_type_color")
|
||||
var annotation_color :Color = settings.get_setting("text_editor/theme/highlighting/gdscript/annotation_color")
|
||||
|
||||
highlighter.clear_color_regions()
|
||||
highlighter.clear_keyword_colors()
|
||||
highlighter.add_color_region("#", "", comment_color, true)
|
||||
highlighter.add_color_region("${", "}", Color.YELLOW)
|
||||
highlighter.add_color_region("'", "'", Color.YELLOW)
|
||||
highlighter.add_color_region("\"", "\"", Color.YELLOW)
|
||||
highlighter.number_color = number_color
|
||||
highlighter.symbol_color = symbol_color
|
||||
highlighter.function_color = function_color
|
||||
highlighter.member_variable_color = member_variable_color
|
||||
highlighter.add_keyword_color("@", annotation_color)
|
||||
highlighter.add_keyword_color("warning_ignore", annotation_color)
|
||||
for word in gd_key_words:
|
||||
highlighter.add_keyword_color(word, keyword_color)
|
||||
for word in gdunit_key_words:
|
||||
highlighter.add_keyword_color(word, base_type_color)
|
||||
|
||||
|
||||
func setup_fonts() -> void:
|
||||
if _template_editor:
|
||||
GdUnitFonts.init_fonts(_template_editor)
|
||||
var font_size := GdUnitFonts.init_fonts(_tags_editor)
|
||||
_title_bar.size.y = font_size + 16
|
||||
_title_bar.custom_minimum_size.y = font_size + 16
|
||||
|
||||
|
||||
func setup_supported_types() -> void:
|
||||
_selected_type.clear()
|
||||
_selected_type.add_item("GD - GDScript", GdUnitTestSuiteTemplate.TEMPLATE_ID_GD)
|
||||
_selected_type.add_item("C# - CSharpScript", GdUnitTestSuiteTemplate.TEMPLATE_ID_CS)
|
||||
|
||||
|
||||
func setup_tags_help() -> void:
|
||||
_tags_editor.set_text(GdUnitTestSuiteTemplate.load_tags(_selected_template))
|
||||
|
||||
|
||||
func load_template(template_id :int) -> void:
|
||||
_selected_template = template_id
|
||||
_template_editor.set_text(GdUnitTestSuiteTemplate.load_template(template_id))
|
||||
|
||||
|
||||
func _on_Restore_pressed() -> void:
|
||||
_template_editor.set_text(GdUnitTestSuiteTemplate.default_template(_selected_template))
|
||||
GdUnitTestSuiteTemplate.reset_to_default(_selected_template)
|
||||
_save_button.disabled = true
|
||||
|
||||
|
||||
func _on_Save_pressed() -> void:
|
||||
GdUnitTestSuiteTemplate.save_template(_selected_template, _template_editor.get_text())
|
||||
_save_button.disabled = true
|
||||
|
||||
|
||||
func _on_Tags_pressed() -> void:
|
||||
_show_tags.popup_centered_ratio(.5)
|
||||
|
||||
|
||||
func _on_Editor_text_changed() -> void:
|
||||
_save_button.disabled = false
|
||||
|
||||
|
||||
func _on_SelectType_item_selected(index :int) -> void:
|
||||
load_template(_selected_type.get_item_id(index))
|
||||
setup_tags_help()
|
||||