Dev Démo 1.2
* les plantes se placent désormais sur une grille * ajouts de curseurs relatifs à l'item * ajout de settings sur la sensibilité à la souris * ajout d'un défi en fin de run
@@ -64,6 +64,10 @@ func generate_next_run_point(last_modifiers : Array[String] = []) -> RunPoint:
|
||||
challenge_modifiers.pick_random(),
|
||||
benefic_modifiers.pick_random()
|
||||
] as Array[RegionModifier]
|
||||
elif story_step.is_run_point_dangerous(next_level):
|
||||
region_parameter.modifiers = [
|
||||
challenge_modifiers.pick_random()
|
||||
] as Array[RegionModifier]
|
||||
else:
|
||||
region_parameter.modifiers = [
|
||||
normal_modifiers.pick_random()
|
||||
|
||||
@@ -58,8 +58,6 @@ const AVAILABLE_LANGUAGES_LABEL = [
|
||||
@export var action_remapped : Array[String] = []
|
||||
@export var input_remapped : Array[InputEvent] = []
|
||||
|
||||
@export var auto_pickup := true
|
||||
|
||||
@export var fov := 75. :
|
||||
set(v):
|
||||
fov = v
|
||||
@@ -68,6 +66,10 @@ const AVAILABLE_LANGUAGES_LABEL = [
|
||||
|
||||
#region ------------------ Game ------------------
|
||||
|
||||
@export var auto_pickup := true
|
||||
|
||||
@export var mouse_sensivity := 0.2
|
||||
|
||||
const MAX_ZOOM = 2.
|
||||
const MIN_ZOOM = 0.5
|
||||
|
||||
|
||||
@@ -37,7 +37,7 @@ func get_cave_occurence(_level : int) -> int:
|
||||
return 3
|
||||
|
||||
func get_challenge_chance(_level : int) -> float:
|
||||
return 0.3
|
||||
return 0.15
|
||||
|
||||
func get_run_point_number(level : int) -> int:
|
||||
if is_run_finished(level):
|
||||
@@ -47,6 +47,9 @@ func get_run_point_number(level : int) -> int:
|
||||
func get_charge_number(_level : int) -> int:
|
||||
return 10
|
||||
|
||||
func is_run_point_dangerous(level : int) -> bool:
|
||||
return level == get_region_sequence_length() - 2
|
||||
|
||||
func get_objective_for_region(level : int) -> int:
|
||||
match level:
|
||||
1: return 10
|
||||
|
||||
@@ -1,11 +1,40 @@
|
||||
extends Sprite2D
|
||||
class_name Circle
|
||||
|
||||
@export var radius : int = 0
|
||||
@export var color : Color = Color.WHITE
|
||||
@export var opacity : float = 1.0
|
||||
@export var fill : bool = true
|
||||
@export var width : int = -1
|
||||
@export var radius : int = 0 :
|
||||
set(v):
|
||||
radius = v
|
||||
queue_redraw()
|
||||
@export var color : Color = Color.WHITE :
|
||||
set(v):
|
||||
color = v
|
||||
queue_redraw()
|
||||
@export var opacity : float = 1.0 :
|
||||
set(v):
|
||||
opacity = v
|
||||
queue_redraw()
|
||||
@export var fill : bool = true :
|
||||
set(v):
|
||||
fill = v
|
||||
queue_redraw()
|
||||
@export var width : int = -1 :
|
||||
set(v):
|
||||
width = v
|
||||
queue_redraw()
|
||||
|
||||
|
||||
func _init(
|
||||
_radius = 0,
|
||||
_color = Color.WHITE,
|
||||
_opacity = 1.0,
|
||||
_fill = true,
|
||||
_width = -1,
|
||||
):
|
||||
radius = _radius
|
||||
color = _color
|
||||
opacity = _opacity
|
||||
fill = _fill
|
||||
width = _width
|
||||
|
||||
func _draw():
|
||||
draw_circle(
|
||||
|
||||
@@ -186,6 +186,7 @@ texture = ExtResource("3_rbgiq")
|
||||
|
||||
[node name="LifeTimeSprite" type="Sprite2D" parent="." unique_id=799762981]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
scale = Vector2(0.26000002, 0.26000005)
|
||||
texture = SubResource("ViewportTexture_rbgiq")
|
||||
|
||||
|
||||
@@ -5,26 +5,26 @@ var radius : int
|
||||
var sprite : Circle
|
||||
var collision_shape : CollisionShape2D
|
||||
var show_influence : bool = false :
|
||||
set(v):
|
||||
show_influence = v
|
||||
if sprite:
|
||||
sprite.visible = v
|
||||
set(v):
|
||||
show_influence = v
|
||||
if sprite:
|
||||
sprite.visible = v
|
||||
|
||||
func _init(_radius = 100):
|
||||
radius = _radius
|
||||
radius = _radius
|
||||
|
||||
func _ready():
|
||||
sprite = Circle.new()
|
||||
# sprite.z_index = 100
|
||||
sprite.radius = radius
|
||||
sprite.fill = false
|
||||
sprite.width = 1
|
||||
sprite.opacity = 0.5
|
||||
sprite.visible = show_influence
|
||||
add_child(sprite)
|
||||
sprite = Circle.new()
|
||||
# sprite.z_index = 100
|
||||
sprite.radius = radius
|
||||
sprite.fill = false
|
||||
sprite.width = 1
|
||||
sprite.opacity = 0.5
|
||||
sprite.visible = show_influence
|
||||
add_child(sprite)
|
||||
|
||||
collision_shape = CollisionShape2D.new()
|
||||
var circle_shape : CircleShape2D = CircleShape2D.new()
|
||||
circle_shape.radius = radius
|
||||
collision_shape.shape = circle_shape
|
||||
add_child(collision_shape)
|
||||
collision_shape = CollisionShape2D.new()
|
||||
var circle_shape : CircleShape2D = CircleShape2D.new()
|
||||
circle_shape.radius = radius
|
||||
collision_shape.shape = circle_shape
|
||||
add_child(collision_shape)
|
||||
@@ -56,8 +56,8 @@ func start_harvest_animation():
|
||||
|
||||
func set_display_lifetime_sprite(d := display_lifetime_sprite):
|
||||
display_lifetime_sprite = d
|
||||
if is_node_ready():
|
||||
%LifeTimeSprite.visible = d
|
||||
# if is_node_ready():
|
||||
# %LifeTimeSprite.visible = d
|
||||
|
||||
func set_sprite_modulate(c := sprite_modulate):
|
||||
sprite_modulate = c
|
||||
|
||||
@@ -14,6 +14,7 @@ enum ItemType {TOOL_ITEM, CONSUMABLE_ITEM}
|
||||
@export var type: ItemType : get = get_item_type
|
||||
@export var description: String : get = get_description
|
||||
var icon: Texture2D : get = get_icon
|
||||
var pointer: Texture2D : get = get_pointer
|
||||
@export var usage_zone_radius: int = 5 : get = get_usage_zone_radius
|
||||
@export var energy_usage : int = 1 : get = get_energy_used
|
||||
|
||||
@@ -29,6 +30,9 @@ func get_description() -> String:
|
||||
func get_icon() -> Texture2D:
|
||||
return icon
|
||||
|
||||
func get_pointer() -> Texture2D:
|
||||
return null
|
||||
|
||||
func get_energy_used() -> int:
|
||||
return energy_usage
|
||||
|
||||
@@ -50,6 +54,9 @@ func get_usage_object_affected(_i : Area2D) -> bool:
|
||||
func is_one_time_use():
|
||||
return false
|
||||
|
||||
func snap_usage_to_grid():
|
||||
return false
|
||||
|
||||
func can_use(_player : Player, _zone: Player.ActionZone) -> bool:
|
||||
return false
|
||||
|
||||
|
||||
@@ -13,6 +13,9 @@ func get_description() -> String:
|
||||
func get_icon() -> Texture2D:
|
||||
return preload("res://common/icons/broadcast.svg")
|
||||
|
||||
func get_pointer() -> Texture2D:
|
||||
return preload("res://gui/pointer/assets/cursors/pointer-signal.svg")
|
||||
|
||||
func get_energy_used() -> int:
|
||||
return 0
|
||||
|
||||
|
||||
@@ -12,9 +12,15 @@ func get_description() -> String:
|
||||
func get_icon() -> Texture2D:
|
||||
return preload("res://common/icons/fork.svg")
|
||||
|
||||
func get_pointer() -> Texture2D:
|
||||
return preload("res://gui/pointer/assets/cursors/pointer-fork.svg")
|
||||
|
||||
func get_item_type() -> ItemType:
|
||||
return Item.ItemType.TOOL_ITEM
|
||||
|
||||
func snap_usage_to_grid():
|
||||
return true
|
||||
|
||||
func get_energy_used() -> int:
|
||||
return 1
|
||||
|
||||
|
||||
@@ -12,6 +12,9 @@ func get_description() -> String:
|
||||
func get_icon() -> Texture2D:
|
||||
return preload("res://common/icons/pick.svg")
|
||||
|
||||
func get_pointer() -> Texture2D:
|
||||
return preload("res://gui/pointer/assets/cursors/pointer-dig.svg")
|
||||
|
||||
func get_energy_used() -> int:
|
||||
return 1
|
||||
|
||||
|
||||
@@ -65,15 +65,21 @@ func get_icon() -> Texture2D:
|
||||
stored_icon = PlantTextureBuilder.build_seed_texture(plant_name.hash())
|
||||
return stored_icon
|
||||
|
||||
func get_pointer() -> Texture2D:
|
||||
return preload("res://gui/pointer/assets/cursors/pointer-seed.svg")
|
||||
|
||||
func get_energy_used() -> int:
|
||||
return 1
|
||||
|
||||
func get_usage_zone_radius() -> int:
|
||||
return 50
|
||||
return 10
|
||||
|
||||
func get_usage_object_affected(i : Area2D) -> bool:
|
||||
return i is PlantSprite
|
||||
|
||||
func snap_usage_to_grid():
|
||||
return true
|
||||
|
||||
func use_text() -> String:
|
||||
return tr("PLANT_%s") % plant_name
|
||||
|
||||
@@ -88,13 +94,12 @@ func can_use(player : Player, zone : Player.ActionZone) -> bool:
|
||||
|
||||
var is_there_a_plant_here = false
|
||||
for area in zone.get_affected_areas():
|
||||
if area is PlantSprite:
|
||||
if area is PlantSprite or area is TruckRecharge:
|
||||
is_there_a_plant_here = true
|
||||
|
||||
var plant_tiles = Math.get_tiles_in_circle(
|
||||
var plant_tiles = [Math.get_tile_from_pos(
|
||||
zone.get_global_position(),
|
||||
20
|
||||
)
|
||||
)] as Array[Vector2i]
|
||||
|
||||
return (
|
||||
not is_there_a_plant_here
|
||||
|
||||
@@ -13,6 +13,9 @@ func get_description() -> String:
|
||||
func get_icon() -> Texture2D:
|
||||
return preload("res://common/icons/rocket.svg")
|
||||
|
||||
func get_pointer() -> Texture2D:
|
||||
return preload("res://gui/pointer/assets/cursors/pointer-ship.svg")
|
||||
|
||||
func get_energy_used() -> int:
|
||||
return 0
|
||||
|
||||
|
||||
@@ -12,8 +12,7 @@ signal player_updated(player: Player)
|
||||
signal upgraded
|
||||
|
||||
var terrain : Terrain
|
||||
var region : Region :
|
||||
get(): return terrain if terrain is Region else null
|
||||
@export var region : Region
|
||||
|
||||
var data : PlayerData
|
||||
var last_action_area_movement_timer : float = 100.
|
||||
@@ -91,11 +90,16 @@ func _process(delta):
|
||||
instruction.do(self)
|
||||
instruction = null
|
||||
|
||||
|
||||
if instruction and instruction.need_movement:
|
||||
if input_direction.length() != 0:
|
||||
instruction = null
|
||||
input_direction = calculate_direction_instruction_direction()
|
||||
|
||||
if instruction == null and action_zone:
|
||||
action_zone.destroy()
|
||||
action_zone = null
|
||||
|
||||
velocity = input_direction * SPEED
|
||||
turn_animate(input_direction)
|
||||
|
||||
@@ -286,8 +290,8 @@ func recharge(amount : int = data.max_energy):
|
||||
func full_recharge():
|
||||
data.energy = max(data.energy, data.max_energy)
|
||||
|
||||
func generate_action_zone(item : Item) -> ActionZone:
|
||||
var zone = ActionZone.new(item)
|
||||
func generate_action_zone(item : Item, preview = true) -> ActionZone:
|
||||
var zone = ActionZone.new(item, region.plant_grid, preview)
|
||||
|
||||
if not get_parent().is_node_ready():
|
||||
await get_parent().ready
|
||||
@@ -303,12 +307,12 @@ func setup_preview_zone(item : Item):
|
||||
preview_zone = null
|
||||
|
||||
if item:
|
||||
preview_zone = await generate_action_zone(item)
|
||||
preview_zone = await generate_action_zone(item, true)
|
||||
|
||||
func setup_action_zone(zone_position : Vector2, item: Item) -> ActionZone:
|
||||
if action_zone:
|
||||
action_zone.destroy()
|
||||
action_zone = await generate_action_zone(item)
|
||||
action_zone = await generate_action_zone(item, false)
|
||||
action_zone.move_to_position(zone_position)
|
||||
last_action_area_movement_timer = 0.
|
||||
return action_zone
|
||||
@@ -316,6 +320,7 @@ func setup_action_zone(zone_position : Vector2, item: Item) -> ActionZone:
|
||||
func move_preview_zone(zone_position : Vector2):
|
||||
if preview_zone:
|
||||
preview_zone.move_to_position(zone_position)
|
||||
preview_zone.update_preview(self)
|
||||
|
||||
class Instruction:
|
||||
|
||||
@@ -414,12 +419,21 @@ class InteractableInstruction extends Instruction:
|
||||
interactable.interact(player)
|
||||
|
||||
class ActionZone:
|
||||
const ZONE_ACTIVATED_COLOR = Color("#96B3DB")
|
||||
const ZONE_DEACTIVATED_COLOR = Color("#FF006E")
|
||||
const ZONE_OPACITY = 0.6
|
||||
|
||||
var item : Item = null
|
||||
var area : Area2D = Area2D.new()
|
||||
var affected_areas : Array[Area2D]= []
|
||||
var plant_grid : PlantGrid
|
||||
var circle : Circle
|
||||
var preview: bool
|
||||
|
||||
func _init(_i : Item):
|
||||
func _init(_i : Item, _grid : PlantGrid, _preview = false):
|
||||
item = _i
|
||||
plant_grid = _grid
|
||||
preview = _preview
|
||||
if item and item.get_usage_zone_radius() > 0:
|
||||
area = Area2D.new()
|
||||
var collision_shape = CollisionShape2D.new()
|
||||
@@ -429,11 +443,25 @@ class ActionZone:
|
||||
collision_shape.shape = circle_shape
|
||||
area.add_child(collision_shape)
|
||||
|
||||
circle = Circle.new(
|
||||
item.get_usage_zone_radius(),
|
||||
)
|
||||
circle.fill = preview
|
||||
circle.modulate.a = ZONE_OPACITY
|
||||
area.add_child(circle)
|
||||
circle.z_index = 100
|
||||
|
||||
func clear_preview_on_affected_area():
|
||||
for a in affected_areas:
|
||||
if a:
|
||||
a.affect_preview(false)
|
||||
|
||||
func update_preview(player : Player):
|
||||
update_preview_on_affected_area()
|
||||
if circle:
|
||||
circle.color = ZONE_ACTIVATED_COLOR if item.can_use(player, self) else ZONE_DEACTIVATED_COLOR
|
||||
|
||||
|
||||
func update_preview_on_affected_area():
|
||||
var detected_areas = get_affected_areas()
|
||||
clear_preview_on_affected_area()
|
||||
@@ -457,9 +485,13 @@ class ActionZone:
|
||||
return Vector2.ZERO if area == null else area.global_position
|
||||
|
||||
func move_to_position(pos : Vector2):
|
||||
if area:
|
||||
update_preview_on_affected_area()
|
||||
area.global_position = pos
|
||||
if area and plant_grid:
|
||||
if item and item.snap_usage_to_grid():
|
||||
area.global_position = plant_grid.get_point_for_tile(
|
||||
Math.get_tile_from_pos(pos)
|
||||
)
|
||||
else:
|
||||
area.global_position = pos
|
||||
|
||||
func get_tiles() -> Array[Vector2i]:
|
||||
return Math.get_tiles_in_circle(
|
||||
|
||||
@@ -39,10 +39,11 @@ func _ready():
|
||||
)
|
||||
|
||||
func _input(event):
|
||||
var sensivity = GameInfo.settings_data.mouse_sensivity / 100
|
||||
if controlling_player:
|
||||
if event is InputEventMouseMotion and Input.mouse_mode == Input.MOUSE_MODE_CAPTURED:
|
||||
rotate_y(-event.relative.x * MOUSE_SENSIVITY)
|
||||
%Camera3D.rotate_x(-event.relative.y * MOUSE_SENSIVITY)
|
||||
rotate_y(-event.relative.x * sensivity)
|
||||
%Camera3D.rotate_x(-event.relative.y * sensivity)
|
||||
%Camera3D.rotation.x = clampf($Camera3D.rotation.x, -deg_to_rad(70), deg_to_rad(70))
|
||||
query_mouse = true
|
||||
if event.is_action_pressed("action") and action_hovered and action_hovered.interactable:
|
||||
|
||||
@@ -48,6 +48,7 @@ func setup_video():
|
||||
func setup_controls():
|
||||
%AutoPickupCheckBox.button_pressed = settings.auto_pickup
|
||||
%FovSlider.value = settings.fov
|
||||
%SensibilitySlider.value = settings.mouse_sensivity
|
||||
|
||||
func _on_language_option_button_item_selected(index: int):
|
||||
settings.language = SettingsData.AVAILABLE_LANGUAGES[index]
|
||||
@@ -77,3 +78,6 @@ func _on_auto_pickup_check_box_toggled(toggled_on: bool):
|
||||
func _on_fov_slider_value_changed(value):
|
||||
if is_node_ready():
|
||||
settings.fov = value
|
||||
|
||||
func _on_sensibility_slider_value_changed(value: float):
|
||||
settings.mouse_sensivity = value
|
||||
|
||||
@@ -23,7 +23,7 @@ script = ExtResource("1_7t8mv")
|
||||
[node name="SettingsWindow" parent="." unique_id=798514856 instance=ExtResource("1_gkn1k")]
|
||||
unique_name_in_owner = true
|
||||
process_mode = 3
|
||||
custom_minimum_size = Vector2(700, 600)
|
||||
custom_minimum_size = Vector2(900, 634.155)
|
||||
layout_mode = 1
|
||||
offset_left = -349.99994
|
||||
offset_right = 350.00055
|
||||
@@ -155,6 +155,22 @@ title = "GAME"
|
||||
layout_mode = 2
|
||||
columns = 2
|
||||
|
||||
[node name="SensibilitySliderText" parent="SettingsWindow/WindowContent/MarginContainer/ContentContainer/MarginContainer/SettingsContent/GameSettings" unique_id=1624022562 instance=ExtResource("4_rbiwc")]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
text = "MOUSE_SENSIVITY"
|
||||
|
||||
[node name="SensibilitySlider" type="HSlider" parent="SettingsWindow/WindowContent/MarginContainer/ContentContainer/MarginContainer/SettingsContent/GameSettings" unique_id=1287461408]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
theme = ExtResource("2_7t8mv")
|
||||
min_value = 0.01
|
||||
max_value = 0.5
|
||||
step = 0.01
|
||||
value = 0.2
|
||||
|
||||
[node name="AutoPickupText" parent="SettingsWindow/WindowContent/MarginContainer/ContentContainer/MarginContainer/SettingsContent/GameSettings" unique_id=1206884739 instance=ExtResource("4_rbiwc")]
|
||||
layout_mode = 2
|
||||
text = "AUTO_PICKUP"
|
||||
@@ -187,6 +203,7 @@ bus = &"Sfx"
|
||||
[connection signal="value_changed" from="SettingsWindow/WindowContent/MarginContainer/ContentContainer/MarginContainer/SettingsContent/SoundSliders/SFXSlider" to="." method="_on_sfx_slider_value_changed"]
|
||||
[connection signal="toggled" from="SettingsWindow/WindowContent/MarginContainer/ContentContainer/MarginContainer/SettingsContent/VideoSettings/FullScreenCheckBox" to="." method="_on_full_screen_check_box_toggled"]
|
||||
[connection signal="value_changed" from="SettingsWindow/WindowContent/MarginContainer/ContentContainer/MarginContainer/SettingsContent/VideoSettings/FovSlider" to="." method="_on_fov_slider_value_changed"]
|
||||
[connection signal="value_changed" from="SettingsWindow/WindowContent/MarginContainer/ContentContainer/MarginContainer/SettingsContent/GameSettings/SensibilitySlider" to="." method="_on_sensibility_slider_value_changed"]
|
||||
[connection signal="toggled" from="SettingsWindow/WindowContent/MarginContainer/ContentContainer/MarginContainer/SettingsContent/GameSettings/AutoPickupCheckBox" to="." method="_on_auto_pickup_check_box_toggled"]
|
||||
|
||||
[editable path="SettingsWindow"]
|
||||
|
||||
65
gui/pointer/assets/cursors/pointer-action.svg
Normal file
@@ -0,0 +1,65 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="31.51301"
|
||||
height="31.618402"
|
||||
viewBox="0 0 31.51301 31.618402"
|
||||
fill="#ffffff"
|
||||
class="icon icon-tabler icons-tabler-filled icon-tabler-pointer"
|
||||
version="1.1"
|
||||
id="svg2"
|
||||
sodipodi:docname="pointer-action.svg"
|
||||
inkscape:version="1.3.2 (091e20e, 2023-11-25, custom)"
|
||||
xml:space="preserve"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"><defs
|
||||
id="defs2" /><sodipodi:namedview
|
||||
id="namedview2"
|
||||
pagecolor="#505050"
|
||||
bordercolor="#ffffff"
|
||||
borderopacity="1"
|
||||
inkscape:showpageshadow="0"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pagecheckerboard="1"
|
||||
inkscape:deskcolor="#505050"
|
||||
inkscape:zoom="16"
|
||||
inkscape:cx="17.15625"
|
||||
inkscape:cy="27.5"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1009"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg2" /><g
|
||||
style="fill:none;stroke:#000000;stroke-width:1.55009;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.286275"
|
||||
id="g24"
|
||||
transform="matrix(1.2902501,0,0,1.2902501,1.906775,4.5221262)"><path
|
||||
id="path21"
|
||||
style="color:#000000;fill:#000000;fill-opacity:0.286275;stroke:none;stroke-width:1.55009;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;-inkscape-stroke:none"
|
||||
d="M 6.9746325,7.96275e-4 C 6.3774115,7.96275e-4 5.7667509,0.19447765 5.27932,0.6277494 4.7918891,1.0610211 4.4746325,1.7507979 4.4746325,2.5007963 V 8.6140775 C 3.5501673,7.8751956 2.2432248,7.7739943 1.2109606,8.3933744 0.05913455,9.0839351 -0.34207236,10.592065 0.31642938,11.762515 2.19699,15.105289 3.2455731,16.945174 3.6367419,17.545718 c 0.066009,0.101604 0.1307351,0.203425 0.1972656,0.304688 a 1.0001,1.0001 0 0 0 0.00195,0 c 1.2404681,1.883628 3.3285351,2.986304 5.5703125,3.080078 a 1.0001,1.0001 0 0 0 0.068359,0.07031 h 0.2089844 1.7910156 c 3.854141,0 6.999999,-3.145859 6.999999,-7 V 9.5007963 c 0,-0.7499984 -0.317256,-1.4397751 -0.804687,-1.8730469 -0.487432,-0.4332718 -1.098091,-0.6269531 -1.695312,-0.6269531 -0.293968,0 -0.59082,0.047157 -0.875,0.1464843 C 14.979405,6.9496726 14.834788,6.7742764 14.669945,6.6277494 14.182513,6.1944776 13.571854,6.0007963 12.974633,6.0007963 c -0.293993,0 -0.590797,0.047139 -0.875,0.1464843 C 11.979405,5.9496726 11.834788,5.7742764 11.669945,5.6277494 11.182513,5.1944776 10.571854,5.0007963 9.9746325,5.0007963 c -0.1663802,0 -0.3344889,0.015818 -0.5,0.046875 V 2.5007963 C 9.4746325,1.7507979 9.1573759,1.0610211 8.669945,0.6277494 8.1825141,0.19447765 7.5718534,7.96275e-4 6.9746325,7.96275e-4 Z m 0,2.000000025 c 0.1527775,0 0.2921196,0.05632 0.3671875,0.1230468 0.075068,0.066727 0.1328125,0.126954 0.1328125,0.3769532 v 5 2 0.4999997 a 1,1 0 0 0 1,1 1,1 0 0 0 1,-1 v -0.4999997 -2 c 0,-0.2499992 0.057745,-0.3102261 0.1328125,-0.3769532 0.075068,-0.066727 0.21441,-0.1230468 0.3671875,-0.1230468 0.1527775,0 0.2921195,0.05632 0.3671875,0.1230468 0.07507,0.066727 0.132812,0.126954 0.132813,0.3769532 v 2.4999997 a 1,1 0 0 0 1,1 1,1 0 0 0 1,-1 V 8.5007963 c 0,-0.2499992 0.05775,-0.3102261 0.132812,-0.3769532 0.07507,-0.066727 0.214411,-0.1230468 0.367188,-0.1230468 0.152777,0 0.292119,0.05632 0.367187,0.1230468 0.07507,0.066727 0.132812,0.126954 0.132813,0.3769532 v 1.4999997 a 1,1 0 0 0 1,1 1,1 0 0 0 1,-1 V 9.5007963 c 0,-0.2499992 0.05775,-0.3102261 0.132812,-0.3769532 0.07507,-0.066727 0.214411,-0.1230468 0.367188,-0.1230468 0.152777,0 0.292119,0.05632 0.367187,0.1230468 0.07507,0.066727 0.132812,0.126954 0.132812,0.3769532 v 4.4999997 c 0,2.773264 -2.226736,5 -4.999999,5 H 9.6836169 9.6816638 C 7.9984054,19.00108 6.4316746,18.156594 5.5058825,16.750796 5.441233,16.652396 5.3766662,16.554605 5.3125231,16.455874 5.0796932,16.098421 3.9380018,14.119259 2.06057,10.782046 1.9224808,10.536601 1.996764,10.25303 2.2383044,10.108218 2.5836928,9.9009778 3.0138709,9.9544237 3.2988513,10.239078 l 1.46875,1.46875 a 1,1 0 0 0 0.052734,0.03516 1,1 0 0 0 0.2050782,0.136719 1,1 0 0 0 0.099609,0.05078 1,1 0 0 0 0.3496094,0.07031 1,1 0 0 0 0.3496094,-0.07031 1,1 0 0 0 0.099609,-0.05078 1,1 0 0 0 0.2050781,-0.136719 1,1 0 0 0 0.052734,-0.03516 1,1 0 0 0 0.09375,-0.109375 1,1 0 0 0 0.013672,-0.02148 1,1 0 0 0 0.1308594,-0.255859 1,1 0 0 0 0.00977,-0.03125 1,1 0 0 0 0.042969,-0.277344 1,1 0 0 0 0.00195,-0.01172 V 2.5007963 c 0,-0.2499992 0.057745,-0.3102261 0.1328125,-0.3769532 0.075068,-0.066727 0.21441,-0.1230468 0.3671872,-0.1230468 z" /></g><g
|
||||
style="fill:none;stroke:currentColor;stroke-width:1.55009;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
|
||||
id="g16"
|
||||
transform="matrix(1.2902501,0,0,1.2902501,1.906775,1.296501)"><path
|
||||
stroke="none"
|
||||
d="m -2.525305,-2.0000007 h 24 V 21.999999 h -24 z"
|
||||
fill="none"
|
||||
id="path1-2"
|
||||
style="stroke-width:1.55009" /><path
|
||||
d="M 5.474695,10.999999 V 2.4999993 a 1.5,1.5 0 0 1 3,0 v 7.5"
|
||||
id="path2-2"
|
||||
style="stroke:#ffffff;stroke-width:1.55009;stroke-opacity:1" /><path
|
||||
d="m 8.474695,9.4999993 v -2 a 1.5,1.5 0 1 1 3,0 v 2.5"
|
||||
id="path3"
|
||||
style="stroke:#ffffff;stroke-width:1.55009;stroke-opacity:1" /><path
|
||||
d="m 11.474695,8.4999993 a 1.5,1.5 0 0 1 3,0 v 1.5"
|
||||
id="path4-2"
|
||||
style="stroke:#ffffff;stroke-width:1.55009;stroke-opacity:1" /><path
|
||||
d="m 14.474695,9.4999993 a 1.5,1.5 0 0 1 3,0 v 4.4999997 a 6,6 0 0 1 -6,6 h -2 0.208 a 6,6 0 0 1 -5.012,-2.7 69.74,69.74 0 0 1 -0.196,-0.3 c -0.312,-0.479 -1.407,-2.388 -3.286,-5.728 a 1.5,1.5 0 0 1 0.536,-2.0219997 1.867,1.867 0 0 1 2.28,0.28 l 1.47,1.4699997"
|
||||
id="path5"
|
||||
style="stroke:#ffffff;stroke-width:1.55009;stroke-opacity:1" /></g><path
|
||||
stroke="none"
|
||||
d="M 0.39227299,0.37268114 H 31.358275 V 31.338684 H 0.39227299 Z"
|
||||
fill="none"
|
||||
id="path1"
|
||||
style="stroke-width:1" /></svg>
|
||||
|
After Width: | Height: | Size: 5.9 KiB |
43
gui/pointer/assets/cursors/pointer-action.svg.import
Normal file
@@ -0,0 +1,43 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cl3wt3tbjiep0"
|
||||
path="res://.godot/imported/pointer-action.svg-7d0a608f5d92b361c052c9c646842598.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://gui/pointer/assets/cursors/pointer-action.svg"
|
||||
dest_files=["res://.godot/imported/pointer-action.svg-7d0a608f5d92b361c052c9c646842598.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
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/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
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=false
|
||||
editor/convert_colors_with_editor_theme=false
|
||||
68
gui/pointer/assets/cursors/pointer-dig.svg
Normal file
@@ -0,0 +1,68 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="31.51301"
|
||||
height="31.618402"
|
||||
viewBox="0 0 31.51301 31.618402"
|
||||
fill="#ffffff"
|
||||
class="icon icon-tabler icons-tabler-filled icon-tabler-pointer"
|
||||
version="1.1"
|
||||
id="svg2"
|
||||
sodipodi:docname="pointer-dig.svg"
|
||||
inkscape:version="1.3.2 (091e20e, 2023-11-25, custom)"
|
||||
xml:space="preserve"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"><defs
|
||||
id="defs2" /><sodipodi:namedview
|
||||
id="namedview2"
|
||||
pagecolor="#505050"
|
||||
bordercolor="#ffffff"
|
||||
borderopacity="1"
|
||||
inkscape:showpageshadow="0"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pagecheckerboard="1"
|
||||
inkscape:deskcolor="#505050"
|
||||
inkscape:zoom="16"
|
||||
inkscape:cx="6.40625"
|
||||
inkscape:cy="16.0625"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1009"
|
||||
inkscape:window-x="1912"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg2" /><path
|
||||
d="M 3.039,6.3466574 6.943,19.909657 c 0.185,0.837 0.92,1.516 1.831,1.642 l 0.17,0.016 c 0.7939438,0.0476 1.551757,-0.337043 1.982,-1.006 l 0.045,-0.078 1.4,-2.072 c 0,0 0.980006,-1.592325 1.633484,-2.249269 0.68262,-0.68624 2.340516,-1.718731 2.340516,-1.718731 l 2.103,-1.412 c 0.726,-0.385 1.18,-1.278 1.053,-2.189 C 19.37474,9.9328713 18.696553,9.1972717 17.8,8.9976574 l -13.524,-3.89 c -0.7563604,-0.2168787 -1.4553214,0.4843442 -1.236,1.24 z"
|
||||
id="path4"
|
||||
sodipodi:nodetypes="cccccccaccccccc"
|
||||
style="fill:#000000;fill-opacity:0.286567" /><g
|
||||
style="fill:#000000;fill-opacity:0.286567;stroke:#ffffff;stroke-width:2.30733;stroke-linecap:round;stroke-linejoin:round"
|
||||
id="g7"
|
||||
transform="matrix(0.86680039,0,0,0.86680039,11.610822,11.908289)"><path
|
||||
d="m 13,8 -9.383,9.418 a 2.091,2.091 0 0 0 0,2.967 2.11,2.11 0 0 0 2.976,0 L 16,11"
|
||||
id="path6"
|
||||
style="fill:none;fill-opacity:0.286567;stroke:#000000;stroke-width:2.30733;stroke-opacity:0.286275" /><path
|
||||
d="m 9,3 h 4.586 a 1,1 0 0 1 0.707,0.293 l 6.414,6.414 A 1,1 0 0 1 21,10.414 V 15 a 2,2 0 1 1 -4,0 V 12 L 12,7 H 9 A 2,2 0 1 1 9,3 Z"
|
||||
id="path7"
|
||||
style="fill:none;fill-opacity:0.286567;stroke:#000000;stroke-width:2.30733;stroke-opacity:0.286275" /></g><path
|
||||
stroke="none"
|
||||
d="M 0,0 H 24 V 24 H 0 Z"
|
||||
fill="none"
|
||||
id="path1" /><path
|
||||
d="M 3.039,4.277 6.943,17.84 c 0.185,0.837 0.92,1.516 1.831,1.642 l 0.17,0.016 c 0.7939438,0.0476 1.551757,-0.337043 1.982,-1.006 l 0.045,-0.078 1.4,-2.072 c 0,0 0.980006,-1.592325 1.633484,-2.249269 C 14.687104,13.406491 16.345,12.374 16.345,12.374 l 2.103,-1.412 C 19.174,10.577 19.628,9.684 19.501,8.773 19.37474,7.8632139 18.696553,7.1276143 17.8,6.928 L 4.276,3.038 C 3.5196396,2.8211213 2.8206786,3.5223442 3.04,4.278 Z"
|
||||
id="path2"
|
||||
sodipodi:nodetypes="cccccccaccccccc" /><g
|
||||
style="fill:none;stroke:#ffffff;stroke-width:2.30733;stroke-linecap:round;stroke-linejoin:round"
|
||||
id="g1"
|
||||
transform="matrix(0.86680039,0,0,0.86680039,11.610822,9.7449335)"><path
|
||||
stroke="none"
|
||||
d="M 0,0 H 24 V 24 H 0 Z"
|
||||
fill="none"
|
||||
id="path1-1"
|
||||
style="stroke-width:2.30733" /><path
|
||||
d="m 13,8 -9.383,9.418 a 2.091,2.091 0 0 0 0,2.967 2.11,2.11 0 0 0 2.976,0 L 16,11"
|
||||
id="path2-8"
|
||||
style="stroke-width:2.30733" /><path
|
||||
d="m 9,3 h 4.586 a 1,1 0 0 1 0.707,0.293 l 6.414,6.414 A 1,1 0 0 1 21,10.414 V 15 a 2,2 0 1 1 -4,0 V 12 L 12,7 H 9 A 2,2 0 1 1 9,3 Z"
|
||||
id="path3-4"
|
||||
style="stroke-width:2.30733" /></g></svg>
|
||||
|
After Width: | Height: | Size: 3.6 KiB |
43
gui/pointer/assets/cursors/pointer-dig.svg.import
Normal file
@@ -0,0 +1,43 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bh4m4fbaxl6t4"
|
||||
path="res://.godot/imported/pointer-dig.svg-ad7b43afdaf2efe42f9726c76536bc0e.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://gui/pointer/assets/cursors/pointer-dig.svg"
|
||||
dest_files=["res://.godot/imported/pointer-dig.svg-ad7b43afdaf2efe42f9726c76536bc0e.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
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/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
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=false
|
||||
editor/convert_colors_with_editor_theme=false
|
||||
74
gui/pointer/assets/cursors/pointer-fork.svg
Normal file
@@ -0,0 +1,74 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="31.51301"
|
||||
height="31.618402"
|
||||
viewBox="0 0 31.51301 31.618402"
|
||||
fill="#ffffff"
|
||||
class="icon icon-tabler icons-tabler-filled icon-tabler-pointer"
|
||||
version="1.1"
|
||||
id="svg2"
|
||||
sodipodi:docname="pointer-fork.svg"
|
||||
inkscape:version="1.3.2 (091e20e, 2023-11-25, custom)"
|
||||
xml:space="preserve"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"><defs
|
||||
id="defs2" /><sodipodi:namedview
|
||||
id="namedview2"
|
||||
pagecolor="#505050"
|
||||
bordercolor="#ffffff"
|
||||
borderopacity="1"
|
||||
inkscape:showpageshadow="0"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pagecheckerboard="1"
|
||||
inkscape:deskcolor="#505050"
|
||||
inkscape:zoom="16"
|
||||
inkscape:cx="8.71875"
|
||||
inkscape:cy="17.8125"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1009"
|
||||
inkscape:window-x="1912"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="g12" /><g
|
||||
style="fill:none;stroke:#000000;stroke-width:2.94289;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.28627452"
|
||||
id="g12"
|
||||
transform="matrix(0.67960394,0,0,0.67960394,13.339158,15.414767)"><g
|
||||
id="g11"
|
||||
transform="matrix(0.86451374,0,0,0.86451374,3.4597458,-2.6863331)"
|
||||
style="stroke-width:3.4041;stroke:#000000;stroke-opacity:0.28627452"><path
|
||||
d="m -0.84148875,14.121696 1.68297754,1.682977 c 2.16879471,2.168795 5.68510011,2.168792 7.85389331,-10e-7 2.1687929,-2.168793 2.1687959,-5.685099 1.6e-6,-7.8538932 L 7.0124063,6.2678012"
|
||||
id="path10"
|
||||
style="stroke-width:3.4041;stroke:#000000;stroke-opacity:0.28627452" /><path
|
||||
d="M 20.598848,27.708138 2.5244663,9.6337562"
|
||||
id="path11"
|
||||
style="stroke-width:3.4041;stroke:#000000;stroke-opacity:0.28627452" /></g></g><path
|
||||
d="M 3.039,6.3466574 6.943,19.909657 c 0.185,0.837 0.92,1.516 1.831,1.642 l 0.17,0.016 c 0.7939438,0.0476 1.551757,-0.337043 1.982,-1.006 l 0.045,-0.078 1.4,-2.072 c 0,0 0.980006,-1.592325 1.633484,-2.249269 0.68262,-0.68624 2.340516,-1.718731 2.340516,-1.718731 l 2.103,-1.412 c 0.726,-0.385 1.18,-1.278 1.053,-2.189 C 19.37474,9.9328713 18.696553,9.1972717 17.8,8.9976574 l -13.524,-3.89 c -0.7563604,-0.2168787 -1.4553214,0.4843442 -1.236,1.24 z"
|
||||
id="path4"
|
||||
sodipodi:nodetypes="cccccccaccccccc"
|
||||
style="fill:#000000;fill-opacity:0.286567" /><path
|
||||
stroke="none"
|
||||
d="M 0,0 H 24 V 24 H 0 Z"
|
||||
fill="none"
|
||||
id="path1" /><path
|
||||
d="M 3.039,4.277 6.943,17.84 c 0.185,0.837 0.92,1.516 1.831,1.642 l 0.17,0.016 c 0.7939438,0.0476 1.551757,-0.337043 1.982,-1.006 l 0.045,-0.078 1.4,-2.072 c 0,0 0.980006,-1.592325 1.633484,-2.249269 C 14.687104,13.406491 16.345,12.374 16.345,12.374 l 2.103,-1.412 C 19.174,10.577 19.628,9.684 19.501,8.773 19.37474,7.8632139 18.696553,7.1276143 17.8,6.928 L 4.276,3.038 C 3.5196396,2.8211213 2.8206786,3.5223442 3.04,4.278 Z"
|
||||
id="path2"
|
||||
sodipodi:nodetypes="cccccccaccccccc" /><g
|
||||
style="fill:none;stroke:#ffffff;stroke-width:2.94289;stroke-linecap:round;stroke-linejoin:round"
|
||||
id="g9"
|
||||
transform="matrix(0.67960394,0,0,0.67960394,13.339158,13.557908)"><path
|
||||
stroke="none"
|
||||
d="M 0,0 H 24 V 24 H 0 Z"
|
||||
fill="none"
|
||||
id="path1-6"
|
||||
style="stroke-width:2.94289" /><g
|
||||
id="g3"
|
||||
transform="matrix(0.86451374,0,0,0.86451374,3.4597458,-2.6863331)"
|
||||
style="stroke-width:3.4041"><path
|
||||
d="m -0.84148875,14.121696 1.68297754,1.682977 c 2.16879471,2.168795 5.68510011,2.168792 7.85389331,-10e-7 2.1687929,-2.168793 2.1687959,-5.685099 1.6e-6,-7.8538932 L 7.0124063,6.2678012"
|
||||
id="path2-5"
|
||||
style="stroke-width:3.4041" /><path
|
||||
d="M 20.598848,27.708138 2.5244663,9.6337562"
|
||||
id="path3"
|
||||
style="stroke-width:3.4041" /></g></g></svg>
|
||||
|
After Width: | Height: | Size: 3.9 KiB |
43
gui/pointer/assets/cursors/pointer-fork.svg.import
Normal file
@@ -0,0 +1,43 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b1xvmctdfkyua"
|
||||
path="res://.godot/imported/pointer-fork.svg-7da3179fd298523652e878610e95a15b.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://gui/pointer/assets/cursors/pointer-fork.svg"
|
||||
dest_files=["res://.godot/imported/pointer-fork.svg-7da3179fd298523652e878610e95a15b.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
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/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
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=false
|
||||
editor/convert_colors_with_editor_theme=false
|
||||
70
gui/pointer/assets/cursors/pointer-seed.svg
Normal file
@@ -0,0 +1,70 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="31.51301"
|
||||
height="31.618402"
|
||||
viewBox="0 0 31.51301 31.618402"
|
||||
fill="#ffffff"
|
||||
class="icon icon-tabler icons-tabler-filled icon-tabler-pointer"
|
||||
version="1.1"
|
||||
id="svg2"
|
||||
sodipodi:docname="pointer-seed.svg"
|
||||
inkscape:version="1.3.2 (091e20e, 2023-11-25, custom)"
|
||||
xml:space="preserve"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"><defs
|
||||
id="defs2" /><sodipodi:namedview
|
||||
id="namedview2"
|
||||
pagecolor="#505050"
|
||||
bordercolor="#ffffff"
|
||||
borderopacity="1"
|
||||
inkscape:showpageshadow="0"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pagecheckerboard="1"
|
||||
inkscape:deskcolor="#505050"
|
||||
inkscape:zoom="16"
|
||||
inkscape:cx="11.03125"
|
||||
inkscape:cy="15.4375"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1009"
|
||||
inkscape:window-x="1912"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="g13" /><g
|
||||
style="fill:none;stroke:#000000;stroke-width:2.94289;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.28627452"
|
||||
id="g12"
|
||||
transform="matrix(0.67960394,0,0,0.67960394,13.339158,15.414767)"><g
|
||||
style="fill:none;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
|
||||
id="g13"
|
||||
transform="matrix(1.4714453,0,0,1.4714453,-14.996141,-13.751782)"><path
|
||||
id="path13"
|
||||
style="color:#000000;fill:#000000;fill-opacity:0.286275;stroke:none;stroke-linecap:butt;stroke-linejoin:miter;-inkscape-stroke:none"
|
||||
d="M 16.940169 10.817717 A 1.0001 1.0001 0 0 0 16.358138 11.005217 C 13.686618 12.918031 12.139709 16.20083 11.987044 19.169279 C 11.910714 20.653504 12.190597 22.096936 13.012434 23.229826 C 13.834272 24.362716 15.233584 25.083365 16.942122 25.083341 C 17.445115 25.083335 17.919788 25.020678 18.362044 24.903654 C 19.485925 25.236241 20.658194 25.074751 21.67845 24.59506 C 22.785741 24.07445 23.754996 23.204576 24.559309 22.141935 C 26.167934 20.016653 27.152551 17.08613 26.774153 14.243498 A 1.0001 1.0001 0 0 0 25.977278 13.393889 C 24.840684 13.168483 23.688671 13.163127 22.569075 13.333342 C 21.767554 13.455202 20.982858 13.669069 20.233137 13.956389 C 19.532786 12.819246 18.626458 11.794324 17.524153 11.005217 A 1.0001 1.0001 0 0 0 16.940169 10.817717 z M 16.942122 13.333342 C 18.610175 14.895648 19.791959 17.224316 19.8972 19.270842 C 19.95677 20.429245 19.713255 21.418522 19.250716 22.055998 C 18.788176 22.693473 18.142198 23.083325 16.942122 23.083341 C 15.74233 23.083358 15.094015 22.693462 14.631575 22.055998 C 14.169137 21.418532 13.925512 20.429297 13.985091 19.270842 C 14.090347 17.224223 15.27447 14.895584 16.942122 13.333342 z M 23.854231 15.315763 C 24.141473 15.312152 24.428327 15.321402 24.713606 15.343107 C 24.737476 17.319437 24.102823 19.429793 22.963606 20.934904 C 22.452793 21.609779 21.873278 22.152193 21.295637 22.520841 C 21.787879 21.522497 21.956426 20.358983 21.895247 19.169279 C 21.837627 18.048799 21.579738 16.884439 21.139387 15.764982 C 22.015184 15.472134 22.936412 15.327304 23.854231 15.315763 z " /><path
|
||||
id="path15"
|
||||
style="stroke:#000000;stroke-width:2;stroke-opacity:0.28627452"
|
||||
d="m 15.435411,20.320522 c 0.181249,0.701942 0.742034,1.209337 1.765659,1.209324"
|
||||
sodipodi:nodetypes="cc" /><path
|
||||
id="path2-1"
|
||||
style="stroke:#ffffff;stroke-width:2;stroke-opacity:1"
|
||||
d="m 16.940509,10.041523 c -4.729382,3.386248 -5.816673,12.263906 0,12.263824 5.817612,-8.1e-5 4.730439,-8.877446 0,-12.263824 z"
|
||||
sodipodi:nodetypes="csc" /><path
|
||||
id="path9"
|
||||
style="stroke:#ffffff;stroke-width:2;stroke-opacity:1"
|
||||
d="m 18.428167,22.095641 c 3.746016,1.405817 8.024015,-4.46492 7.35412,-9.497378 -2.024084,-0.40141 -4.155288,-0.02268 -5.992509,0.857428"
|
||||
sodipodi:nodetypes="ccc" /><path
|
||||
id="path10"
|
||||
style="stroke:#ffffff;stroke-width:2;stroke-opacity:1"
|
||||
d="m 15.435411,18.542844 c 0.181249,0.701942 0.742034,1.209337 1.765659,1.209324"
|
||||
sodipodi:nodetypes="cc" /></g></g><path
|
||||
d="M 3.039,6.3466574 6.943,19.909657 c 0.185,0.837 0.92,1.516 1.831,1.642 l 0.17,0.016 c 0.7939438,0.0476 1.551757,-0.337043 1.982,-1.006 l 0.045,-0.078 1.4,-2.072 c 0,0 0.980006,-1.592325 1.633484,-2.249269 0.68262,-0.68624 2.340516,-1.718731 2.340516,-1.718731 l 2.103,-1.412 c 0.726,-0.385 1.18,-1.278 1.053,-2.189 C 19.37474,9.9328713 18.696553,9.1972717 17.8,8.9976574 l -13.524,-3.89 c -0.7563604,-0.2168787 -1.4553214,0.4843442 -1.236,1.24 z"
|
||||
id="path4"
|
||||
sodipodi:nodetypes="cccccccaccccccc"
|
||||
style="fill:#000000;fill-opacity:0.286567" /><path
|
||||
stroke="none"
|
||||
d="M 0,0 H 24 V 24 H 0 Z"
|
||||
fill="none"
|
||||
id="path1" /><path
|
||||
d="M 3.039,4.277 6.943,17.84 c 0.185,0.837 0.92,1.516 1.831,1.642 l 0.17,0.016 c 0.7939438,0.0476 1.551757,-0.337043 1.982,-1.006 l 0.045,-0.078 1.4,-2.072 c 0,0 0.980006,-1.592325 1.633484,-2.249269 C 14.687104,13.406491 16.345,12.374 16.345,12.374 l 2.103,-1.412 C 19.174,10.577 19.628,9.684 19.501,8.773 19.37474,7.8632139 18.696553,7.1276143 17.8,6.928 L 4.276,3.038 C 3.5196396,2.8211213 2.8206786,3.5223442 3.04,4.278 Z"
|
||||
id="path2"
|
||||
sodipodi:nodetypes="cccccccaccccccc" /></svg>
|
||||
|
After Width: | Height: | Size: 5.3 KiB |
43
gui/pointer/assets/cursors/pointer-seed.svg.import
Normal file
@@ -0,0 +1,43 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://c7ph01vdeeoql"
|
||||
path="res://.godot/imported/pointer-seed.svg-5fd492bb617059b1e1c19cc9d7b92b0c.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://gui/pointer/assets/cursors/pointer-seed.svg"
|
||||
dest_files=["res://.godot/imported/pointer-seed.svg-5fd492bb617059b1e1c19cc9d7b92b0c.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
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/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
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=false
|
||||
editor/convert_colors_with_editor_theme=false
|
||||
66
gui/pointer/assets/cursors/pointer-ship.svg
Normal file
@@ -0,0 +1,66 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="31.51301"
|
||||
height="31.618402"
|
||||
viewBox="0 0 31.51301 31.618402"
|
||||
fill="#ffffff"
|
||||
class="icon icon-tabler icons-tabler-filled icon-tabler-pointer"
|
||||
version="1.1"
|
||||
id="svg2"
|
||||
sodipodi:docname="pointer-ship.svg"
|
||||
inkscape:version="1.3.2 (091e20e, 2023-11-25, custom)"
|
||||
xml:space="preserve"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"><defs
|
||||
id="defs2" /><sodipodi:namedview
|
||||
id="namedview2"
|
||||
pagecolor="#505050"
|
||||
bordercolor="#ffffff"
|
||||
borderopacity="1"
|
||||
inkscape:showpageshadow="0"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pagecheckerboard="1"
|
||||
inkscape:deskcolor="#505050"
|
||||
inkscape:zoom="11.313709"
|
||||
inkscape:cx="9.4133586"
|
||||
inkscape:cy="8.0433393"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1009"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg2" /><g
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1.45535;stroke-linecap:round;stroke-linejoin:round"
|
||||
id="g31"
|
||||
transform="matrix(1.37424,0,0,1.37424,-1.46875,1.72616)"><path
|
||||
stroke="none"
|
||||
d="M 0,0 H 24 V 24 H 0 Z"
|
||||
fill="none"
|
||||
id="path28"
|
||||
style="stroke-width:1.45535" /><path
|
||||
id="path29"
|
||||
style="stroke:#000000;stroke-width:1.45535;stroke-opacity:0.286275"
|
||||
d="M 17,4 A 9,9 0 0 0 9,10 6,6 0 0 0 4,13 8,8 0 0 1 6.9941406,14.003906 6,6 0 0 0 4,20 6,6 0 0 0 9.9960938,17.005859 8,8 0 0 1 11,20 6,6 0 0 0 14,15 9,9 0 0 0 20,7 3,3 0 0 0 17,4 Z M 7.0136719,14.013672 a 8,8 0 0 1 2.9726562,2.972656 z" /><path
|
||||
style="color:#000000;fill:#000000;fill-opacity:0.286275;stroke:none;stroke-linecap:butt;stroke-linejoin:miter;-inkscape-stroke:none"
|
||||
d="m 15,7.2714844 c -0.411705,0 -0.834342,0.1355176 -1.171875,0.4355468 C 13.516655,7.983893 13.271484,8.5307669 13.271484,9 c 0,0.4692332 0.556641,1.292969 0.556641,1.292969 0.178576,0.414797 0.76017,0.435547 1.171875,0.435547 0.411705,0 0.834342,-0.135518 1.171875,-0.435547 C 16.509408,9.9929395 16.728516,9.5152515 16.728516,9 c 0,-0.5152515 -0.219108,-0.9929395 -0.556641,-1.2929688 C 15.834342,7.407002 15.411705,7.2714844 15,7.2714844 Z"
|
||||
id="path31"
|
||||
sodipodi:nodetypes="sssssssss" /></g><g
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1.45535;stroke-linecap:round;stroke-linejoin:round"
|
||||
id="g28"
|
||||
transform="matrix(1.37424,0,0,1.37424,-1.46875,-2.0625)"><path
|
||||
stroke="none"
|
||||
d="M 0,0 H 24 V 24 H 0 Z"
|
||||
fill="none"
|
||||
id="path1-4"
|
||||
style="stroke-width:1.45535" /><path
|
||||
d="m 4,13 a 8,8 0 0 1 7,7 6,6 0 0 0 3,-5 9,9 0 0 0 6,-8 3,3 0 0 0 -3,-3 9,9 0 0 0 -8,6 6,6 0 0 0 -5,3"
|
||||
id="path2"
|
||||
style="stroke-width:1.45535" /><path
|
||||
d="m 7,14 a 6,6 0 0 0 -3,6 6,6 0 0 0 6,-3"
|
||||
id="path3-7"
|
||||
style="stroke-width:1.45535" /><path
|
||||
d="m 14,9 a 1,1 0 1 0 2,0 1,1 0 1 0 -2,0"
|
||||
id="path4"
|
||||
style="stroke-width:1.45535;fill:#ffffff;fill-opacity:1" /></g></svg>
|
||||
|
After Width: | Height: | Size: 3.2 KiB |
43
gui/pointer/assets/cursors/pointer-ship.svg.import
Normal file
@@ -0,0 +1,43 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://rupmj6lgmxn7"
|
||||
path="res://.godot/imported/pointer-ship.svg-3f864fc9504ac00ce18636a8c6203910.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://gui/pointer/assets/cursors/pointer-ship.svg"
|
||||
dest_files=["res://.godot/imported/pointer-ship.svg-3f864fc9504ac00ce18636a8c6203910.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
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/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
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=false
|
||||
editor/convert_colors_with_editor_theme=false
|
||||
63
gui/pointer/assets/cursors/pointer-signal.svg
Normal file
@@ -0,0 +1,63 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="31.51301"
|
||||
height="31.618402"
|
||||
viewBox="0 0 31.51301 31.618402"
|
||||
fill="#ffffff"
|
||||
class="icon icon-tabler icons-tabler-filled icon-tabler-pointer"
|
||||
version="1.1"
|
||||
id="svg2"
|
||||
sodipodi:docname="pointer-signal.svg"
|
||||
inkscape:version="1.3.2 (091e20e, 2023-11-25, custom)"
|
||||
xml:space="preserve"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"><defs
|
||||
id="defs2" /><sodipodi:namedview
|
||||
id="namedview2"
|
||||
pagecolor="#505050"
|
||||
bordercolor="#ffffff"
|
||||
borderopacity="1"
|
||||
inkscape:showpageshadow="0"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pagecheckerboard="1"
|
||||
inkscape:deskcolor="#505050"
|
||||
inkscape:zoom="16"
|
||||
inkscape:cx="8.71875"
|
||||
inkscape:cy="17.8125"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1009"
|
||||
inkscape:window-x="1912"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg2" /><path
|
||||
d="M 3.039,6.3466574 6.943,19.909657 c 0.185,0.837 0.92,1.516 1.831,1.642 l 0.17,0.016 c 0.7939438,0.0476 1.551757,-0.337043 1.982,-1.006 l 0.045,-0.078 1.4,-2.072 c 0,0 0.980006,-1.592325 1.633484,-2.249269 0.68262,-0.68624 2.340516,-1.718731 2.340516,-1.718731 l 2.103,-1.412 c 0.726,-0.385 1.18,-1.278 1.053,-2.189 C 19.37474,9.9328713 18.696553,9.1972717 17.8,8.9976574 l -13.524,-3.89 c -0.7563604,-0.2168787 -1.4553214,0.4843442 -1.236,1.24 z"
|
||||
id="path4"
|
||||
sodipodi:nodetypes="cccccccaccccccc"
|
||||
style="fill:#000000;fill-opacity:0.286567" /><path
|
||||
d="m 24.305261,27.085712 a 3.613208,3.5890983 0 1 0 -5.110521,0"
|
||||
id="path8"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.286275" /><path
|
||||
stroke="none"
|
||||
d="M 0,0 H 24 V 24 H 0 Z"
|
||||
fill="none"
|
||||
id="path1" /><path
|
||||
d="m 21.027359,24.547502 a 0.7226416,0.71781966 0 1 0 1.445283,0 0.7226416,0.71781966 0 1 0 -1.445283,0"
|
||||
id="path9"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.286275" /><path
|
||||
d="M 3.039,4.277 6.943,17.84 c 0.185,0.837 0.92,1.516 1.831,1.642 l 0.17,0.016 c 0.7939438,0.0476 1.551757,-0.337043 1.982,-1.006 l 0.045,-0.078 1.4,-2.072 c 0,0 0.980006,-1.592325 1.633484,-2.249269 C 14.687104,13.406491 16.345,12.374 16.345,12.374 l 2.103,-1.412 C 19.174,10.577 19.628,9.684 19.501,8.773 19.37474,7.8632139 18.696553,7.1276143 17.8,6.928 L 4.276,3.038 C 3.5196396,2.8211213 2.8206786,3.5223442 3.04,4.278 Z"
|
||||
id="path2"
|
||||
sodipodi:nodetypes="cccccccaccccccc" /><path
|
||||
d="m 26.348891,29.115706 a 6.5037744,6.4603769 0 1 0 -9.197782,0"
|
||||
id="path7"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.286275" /><path
|
||||
d="m 24.305261,25.055718 a 3.613208,3.5890983 0 1 0 -5.110521,0"
|
||||
id="path3"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round" /><path
|
||||
d="m 21.027359,22.517508 a 0.7226416,0.71781966 0 1 0 1.445283,0 0.7226416,0.71781966 0 1 0 -1.445283,0"
|
||||
id="path4-9"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round" /><path
|
||||
d="m 26.348891,27.085712 a 6.5037744,6.4603769 0 1 0 -9.197782,0"
|
||||
id="path2-7"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round" /></svg>
|
||||
|
After Width: | Height: | Size: 3.5 KiB |
43
gui/pointer/assets/cursors/pointer-signal.svg.import
Normal file
@@ -0,0 +1,43 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://sq5of6kpjrxj"
|
||||
path="res://.godot/imported/pointer-signal.svg-f760203858e8cefeb5c8506af6f58026.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://gui/pointer/assets/cursors/pointer-signal.svg"
|
||||
dest_files=["res://.godot/imported/pointer-signal.svg-f760203858e8cefeb5c8506af6f58026.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
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/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
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=false
|
||||
editor/convert_colors_with_editor_theme=false
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
width="31.51301"
|
||||
height="30.805902"
|
||||
viewBox="0 0 31.51301 30.805902"
|
||||
fill="#ffffff"
|
||||
class="icon icon-tabler icons-tabler-filled icon-tabler-pointer"
|
||||
version="1.1"
|
||||
@@ -24,18 +24,18 @@
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pagecheckerboard="1"
|
||||
inkscape:deskcolor="#505050"
|
||||
inkscape:zoom="16"
|
||||
inkscape:cx="7.84375"
|
||||
inkscape:cy="20.3125"
|
||||
inkscape:zoom="11.313709"
|
||||
inkscape:cx="16.661204"
|
||||
inkscape:cy="15.909903"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1009"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-x="1912"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg2" />
|
||||
<path
|
||||
stroke="none"
|
||||
d="M0 0h24v24H0z"
|
||||
d="M 0,0 H 24 V 24 H 0 Z"
|
||||
fill="none"
|
||||
id="path1" />
|
||||
<path
|
||||
@@ -43,6 +43,6 @@
|
||||
id="path3"
|
||||
style="fill:#000000;fill-opacity:0.286567" />
|
||||
<path
|
||||
d="M3.039 4.277l3.904 13.563c.185 .837 .92 1.516 1.831 1.642l.17 .016a2.2 2.2 0 0 0 1.982 -1.006l.045 -.078l1.4 -2.072l4.05 4.05a2.067 2.067 0 0 0 2.924 0l1.047 -1.047c.388 -.388 .606 -.913 .606 -1.461l-.008 -.182a2.067 2.067 0 0 0 -.598 -1.28l-4.047 -4.048l2.103 -1.412c.726 -.385 1.18 -1.278 1.053 -2.189a2.2 2.2 0 0 0 -1.701 -1.845l-13.524 -3.89a1 1 0 0 0 -1.236 1.24z"
|
||||
d="M 3.039,4.277 6.943,17.84 c 0.185,0.837 0.92,1.516 1.831,1.642 l 0.17,0.016 a 2.2,2.2 0 0 0 1.982,-1.006 l 0.045,-0.078 1.4,-2.072 4.05,4.05 a 2.067,2.067 0 0 0 2.924,0 l 1.047,-1.047 c 0.388,-0.388 0.606,-0.913 0.606,-1.461 L 20.99,17.702 a 2.067,2.067 0 0 0 -0.598,-1.28 l -4.047,-4.048 2.103,-1.412 c 0.726,-0.385 1.18,-1.278 1.053,-2.189 A 2.2,2.2 0 0 0 17.8,6.928 L 4.276,3.038 A 1,1 0 0 0 3.04,4.278 Z"
|
||||
id="path2" />
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
@@ -3,7 +3,7 @@
|
||||
[ext_resource type="Script" uid="uid://vhumsfntpqcl" path="res://gui/pointer/scripts/pointer.gd" id="1_1pe2k"]
|
||||
[ext_resource type="Texture2D" uid="uid://bspffyprdywgc" path="res://gui/pointer/assets/cursors/pointer.svg" id="2_q4bvb"]
|
||||
[ext_resource type="AudioStream" uid="uid://bym03qp4n6vep" path="res://gui/pointer/assets/sounds/click.wav" id="3_kj0cm"]
|
||||
[ext_resource type="Texture2D" uid="uid://b3vg3tipd4boh" path="res://common/icons/hand-finger.svg" id="3_mw4ws"]
|
||||
[ext_resource type="Texture2D" uid="uid://cl3wt3tbjiep0" path="res://gui/pointer/assets/cursors/pointer-action.svg" id="3_mw4ws"]
|
||||
[ext_resource type="AudioStream" uid="uid://bhsew2amu3ydx" path="res://gui/pointer/assets/sounds/action_press_time.wav" id="3_tof6i"]
|
||||
[ext_resource type="Texture2D" uid="uid://dcgnamu7sb3ov" path="res://common/icons/bolt.svg" id="4_b4uwv"]
|
||||
[ext_resource type="AudioStream" uid="uid://cs4y6sinpth8e" path="res://common/audio_manager/assets/sfx/recharge/recharge_capsule_1.wav" id="4_mw4ws"]
|
||||
@@ -74,7 +74,7 @@ metadata/_custom_type_script = "uid://dj2pv1hiwjfv0"
|
||||
process_mode = 3
|
||||
script = ExtResource("1_1pe2k")
|
||||
default_cursor = ExtResource("2_q4bvb")
|
||||
hover_cursor = ExtResource("3_mw4ws")
|
||||
action_cursor = ExtResource("3_mw4ws")
|
||||
|
||||
[node name="InspectorCanvasLayer" type="CanvasLayer" parent="." unique_id=561032710]
|
||||
layer = 128
|
||||
|
||||
@@ -13,7 +13,7 @@ const CARD_UP_PADDING = 50
|
||||
const PRESS_TIME_DRAG := 0.15
|
||||
|
||||
@export var default_cursor: Texture2D
|
||||
@export var hover_cursor: Texture2D
|
||||
@export var action_cursor: Texture2D
|
||||
|
||||
var all_inspected: Array[Node]
|
||||
var inspected: Node = null
|
||||
@@ -54,7 +54,6 @@ func get_current_inspected() -> Node:
|
||||
|
||||
func _ready():
|
||||
Input.set_custom_mouse_cursor(default_cursor)
|
||||
Input.set_custom_mouse_cursor(hover_cursor, Input.CURSOR_POINTING_HAND)
|
||||
%Action.visible = false
|
||||
|
||||
func _process(delta):
|
||||
@@ -66,18 +65,26 @@ func _process(delta):
|
||||
|
||||
%Inspector.position = get_viewport().get_mouse_position()
|
||||
|
||||
if not action_disabled and not dragging_inspected and current_selected_item and SceneManager.actual_scene.scene_id == "REGION":
|
||||
%ActionZone.radius = current_selected_item.usage_zone_radius * GameInfo.settings_data.zoom
|
||||
%ActionZone.color = ZONE_ACTIVATED_COLOR if can_use_item else ZONE_DEACTIVATED_COLOR
|
||||
else:
|
||||
%ActionZone.radius = 0
|
||||
# if not action_disabled and not dragging_inspected and current_selected_item and SceneManager.actual_scene.scene_id == "REGION":
|
||||
# %ActionZone.radius = current_selected_item.usage_zone_radius * GameInfo.settings_data.zoom
|
||||
# %ActionZone.color = ZONE_ACTIVATED_COLOR if can_use_item else ZONE_DEACTIVATED_COLOR
|
||||
# else:
|
||||
# %ActionZone.radius = 0
|
||||
|
||||
%ActionZone.queue_redraw()
|
||||
# %ActionZone.queue_redraw()
|
||||
|
||||
update_card()
|
||||
|
||||
update_inspector(get_current_inspected())
|
||||
|
||||
var cursor := default_cursor
|
||||
if not Pause.pause and player and not action_disabled:
|
||||
if can_interact:
|
||||
cursor = action_cursor
|
||||
elif current_selected_item and current_selected_item.get_pointer():
|
||||
cursor = current_selected_item.get_pointer()
|
||||
Input.set_custom_mouse_cursor(cursor)
|
||||
|
||||
if player and dragging_inspected:
|
||||
inspected.global_position = player.get_global_mouse_position()
|
||||
|
||||
@@ -226,7 +233,7 @@ func update_card():
|
||||
%CardVisualiser.show()
|
||||
|
||||
|
||||
func update_inspector(current_inspected: Node):
|
||||
func update_inspector(current_inspected):
|
||||
if current_inspected:
|
||||
if inspected != current_inspected:
|
||||
if inspected and inspected.has_method("inspect"):
|
||||
|
||||
@@ -6,6 +6,7 @@ const SHIP_ICON = preload("res://common/icons/rocket.svg")
|
||||
const START_ICON = preload("res://common/icons/device-floppy.svg")
|
||||
const REGION_ICON = preload("res://common/icons/globe.svg")
|
||||
const DESTINATION_ICON = preload("res://common/icons/flag-2.svg")
|
||||
const DANGER_ICON = preload("res://common/icons/alert-triangle.svg")
|
||||
|
||||
const PREVIOUS_COLOR = Color("2364AAAA")
|
||||
const CURRENT_COLOR = Color("e29f32")
|
||||
@@ -54,6 +55,9 @@ func update(with_animation := true):
|
||||
for m_i in range(len(modifiers)):
|
||||
spawn_icon(modifiers[m_i].get_icon(), Vector2(i,-m_i - 1),color, 0.7)
|
||||
|
||||
if story_step.is_run_point_dangerous(i):
|
||||
spawn_icon(DANGER_ICON, Vector2(i,-len(modifiers) - 1),color, 0.7)
|
||||
|
||||
spawn_icon(icon, Vector2(i,0),color)
|
||||
|
||||
ship_icon = spawn_icon(SHIP_ICON, Vector2(current_position, 1), CURRENT_COLOR, 1)
|
||||
|
||||
@@ -21,9 +21,9 @@
|
||||
[sub_resource type="Resource" id="Resource_r4e5h"]
|
||||
script = ExtResource("3_r4e5h")
|
||||
rain_value = 0.42404523
|
||||
cloud_value = 0.20464431
|
||||
wind_direction = Vector2(0.4359836, 0.8999546)
|
||||
wind_force = 0.9393943
|
||||
cloud_value = 0.4445428
|
||||
wind_direction = Vector2(-0.63176113, -0.7751632)
|
||||
wind_force = 0.92673165
|
||||
fog_value = 0.5362279
|
||||
ambiance_name = "ExteriorWindy"
|
||||
type = 3
|
||||
@@ -190,7 +190,8 @@ layer = 3
|
||||
[node name="Entities" type="Node2D" parent="." unique_id=2132324579]
|
||||
y_sort_enabled = true
|
||||
|
||||
[node name="Player" parent="Entities" unique_id=75851644 instance=ExtResource("5_ovqi1")]
|
||||
[node name="Player" parent="Entities" unique_id=75851644 node_paths=PackedStringArray("region") instance=ExtResource("5_ovqi1")]
|
||||
region = NodePath("../..")
|
||||
|
||||
[node name="RechargeStation" parent="Entities" unique_id=2068738444 instance=ExtResource("7_6d8m3")]
|
||||
unique_name_in_owner = true
|
||||
|
||||
73
stages/terrain/region/scripts/plant_grid.gd
Normal file
@@ -0,0 +1,73 @@
|
||||
extends Sprite2D
|
||||
class_name PlantGrid
|
||||
|
||||
const GRID_SHIFT : int = roundi(Region.TILE_SIZE / 2.)
|
||||
const GRID_SIZE : int = Region.TILE_SIZE
|
||||
const POINT_RADIUS : int = 5
|
||||
const POINT_COLOR : Color = Color.WHITE
|
||||
const POINT_RANDOM_SHIFT = roundi(Region.TILE_SIZE / 2.)
|
||||
|
||||
const REFRESH_TIME : float = 2.
|
||||
|
||||
var refresh_timer : float = 0.
|
||||
|
||||
var region : Region
|
||||
var noise : Noise
|
||||
|
||||
func _init(
|
||||
_region : Region
|
||||
):
|
||||
region = _region
|
||||
noise = FastNoiseLite.new()
|
||||
noise.seed = region.data.region_seed
|
||||
noise.noise_type = noise.TYPE_VALUE
|
||||
|
||||
|
||||
func _process(delta):
|
||||
refresh_timer += delta
|
||||
if refresh_timer > REFRESH_TIME:
|
||||
refresh_timer = 0
|
||||
queue_redraw()
|
||||
var current_item = GameInfo.game_data.player_data.inventory.get_item()
|
||||
var target_opacity = (1.) if current_item and current_item.snap_usage_to_grid() else 0.
|
||||
|
||||
modulate.a = lerp(
|
||||
modulate.a,
|
||||
target_opacity,
|
||||
0.1)
|
||||
|
||||
func _draw():
|
||||
for p in get_grid_point():
|
||||
draw_point(p)
|
||||
|
||||
|
||||
func get_grid_point() -> Array[Vector2]:
|
||||
var grid_points : Array[Vector2] = []
|
||||
|
||||
for x in range(-Region.CHUNK_TILE_SIZE, Region.CHUNK_TILE_SIZE * 2):
|
||||
for y in range(-Region.CHUNK_TILE_SIZE, Region.CHUNK_TILE_SIZE * 2):
|
||||
if (
|
||||
region.is_coords_decontaminated([Vector2(x,y)])
|
||||
and not region.is_coords_rocky([Vector2(x,y)])
|
||||
):
|
||||
grid_points.append(
|
||||
get_point_for_tile(Vector2(x,y))
|
||||
)
|
||||
return grid_points
|
||||
|
||||
func get_point_for_tile(tile_pos: Vector2):
|
||||
return get_world_pos_for_tile(tile_pos) + get_random_shift(tile_pos)
|
||||
|
||||
func get_world_pos_for_tile(tile_pos: Vector2):
|
||||
return tile_pos*GRID_SIZE + Vector2.ONE * GRID_SHIFT
|
||||
|
||||
func get_random_shift(pos: Vector2):
|
||||
return Vector2.RIGHT.rotated(noise.get_noise_2d(pos.x*100,pos.y*100) * 2*PI) * POINT_RANDOM_SHIFT * noise.get_noise_2d(pos.x*50,pos.y*50)
|
||||
|
||||
|
||||
func draw_point(pos: Vector2):
|
||||
draw_circle(
|
||||
pos,
|
||||
POINT_RADIUS,
|
||||
POINT_COLOR
|
||||
)
|
||||
1
stages/terrain/region/scripts/plant_grid.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://c8l37exf4csv7
|
||||
@@ -45,6 +45,7 @@ var data_last_updated = 0.
|
||||
|
||||
@onready var recharge_station : TruckRecharge = %RechargeStation
|
||||
@onready var camera : RegionCamera = %Camera
|
||||
var plant_grid : PlantGrid
|
||||
|
||||
# Cheat Code
|
||||
# func _input(_e):
|
||||
@@ -99,7 +100,9 @@ func _ready():
|
||||
GameInfo.game_data.player_data.inventory.add_item(Pickaxe.new())
|
||||
GameInfo.game_data.player_data.inventory.add_item(Fork.new())
|
||||
GameInfo.game_data.player_data.inventory.add_item(ShipPortal.new())
|
||||
|
||||
|
||||
plant_grid = PlantGrid.new(self)
|
||||
add_child(plant_grid)
|
||||
|
||||
data.succeded.connect(finishing_region_animation)
|
||||
|
||||
@@ -310,6 +313,8 @@ func is_coords_decontaminated(tiles_coords : Array[Vector2i]):
|
||||
var local_coord := TilesDiffData.get_local_coord(coord, chunk.chunk_coord)
|
||||
if not chunk.decontamination_layer.is_decontamined(local_coord):
|
||||
return false
|
||||
else:
|
||||
return false
|
||||
return true
|
||||
|
||||
func is_coords_rocky(tiles_coords : Array[Vector2i]):
|
||||
@@ -317,7 +322,9 @@ func is_coords_rocky(tiles_coords : Array[Vector2i]):
|
||||
var chunk : Chunk = get_chunk_for_coord(coord)
|
||||
if chunk:
|
||||
var local_coord := TilesDiffData.get_local_coord(coord, chunk.chunk_coord)
|
||||
if chunk.rock_layer.get_tile_type(local_coord) == RockLayer.TileType.ROCK:
|
||||
if (
|
||||
chunk.rock_layer.get_tile_type(local_coord) == RockLayer.TileType.ROCK
|
||||
or chunk.rock_layer.get_tile_type(local_coord) == RockLayer.TileType.CRISTAL):
|
||||
return true
|
||||
return false
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ extends Resource
|
||||
class_name RegionParameter
|
||||
|
||||
const DEFAULT_ROCK_THRESHOLD = 0.3
|
||||
const DEFAULT_DECONTAMINATION_THRESHOLD = 0.35
|
||||
const DEFAULT_CRISTAL_THRESHOLD = 0.1
|
||||
const DEFAULT_DECONTAMINATION_THRESHOLD = 0.1
|
||||
const DEFAULT_CRISTAL_THRESHOLD = 0.3
|
||||
const DEFAULT_CHARGE = 10
|
||||
const DEFAULT_TALION_CELL_CHANCE : Array[int] = [0,0,0,1,1]
|
||||
const DEFAULT_ENERGY_CELL_CHANCE : Array[int] = [1,2,2,2,3]
|
||||
|
||||
@@ -452,7 +452,6 @@ size = Vector2i(1980, 1080)
|
||||
|
||||
[node name="Planet3d" parent="SubViewport" unique_id=926789923 instance=ExtResource("5_7a1qq")]
|
||||
unique_name_in_owner = true
|
||||
details = 20
|
||||
noise = SubResource("FastNoiseLite_lwj2x")
|
||||
|
||||
[node name="Camera3D" type="Camera3D" parent="SubViewport" unique_id=806252928]
|
||||
|
||||
@@ -188,6 +188,7 @@ VIDEO,Video,Vidéo
|
||||
FULLSCREEN,Fullscreen,Plein écran
|
||||
FOV,Fov,Fov
|
||||
GAME,Game,Jeu
|
||||
MOUSE_SENSIVITY,Mouse Sensivity in 3D scenes,Sensibilité de la souris dans les scènes en 3D
|
||||
AUTO_PICKUP,Auto pickup seeds,Récolte automatique des graines
|
||||
CONTROLS,Controls,Contrôles
|
||||
MOVE_RIGHT,Move right,Déplacement à droite
|
||||
@@ -314,7 +315,7 @@ TOXIC_MODIFIER_DESC_TEXT,Reduce all plant lifetime by 1,Réduit la durée de vie
|
||||
SANDY,Sandy,Sableux
|
||||
SANDY_MODIFIER_DESC_TEXT,Reduce plants influence radius,Réduit le rayon d'influence des plantes
|
||||
RADIOACTIVE,Radioactive,Radioactif
|
||||
RADIOACTIVE_MODIFIER_DESC_TEXT,Reduce the plant's base plant point by 1,Réduit les points de plantes de base des plantes de 1
|
||||
RADIOACTIVE_MODIFIER_DESC_TEXT,Reduce the plant's base plant pPoint by 1,Réduit les points de plantes de base des plantes de 1
|
||||
CONTAMINATED,Contaminated,Contaminée
|
||||
CONTAMINATED_MODIFIER_DESC_TEXT,Decrease all plants seeds production by one,Diminue la production de graine de 1
|
||||
MAGNETIC,Magnetic,Magnétique
|
||||
|
||||
|