mirror of
https://github.com/godotengine/godot-demo-projects.git
synced 2026-01-04 06:09:46 +03:00
Compare commits
34 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
023845b0dd | ||
|
|
c0180d20d1 | ||
|
|
edee4413e3 | ||
|
|
3a23fdbe6a | ||
|
|
c8bb3b874a | ||
|
|
c8f0706055 | ||
|
|
ccc4354331 | ||
|
|
1849640ff8 | ||
|
|
3ae7f01a23 | ||
|
|
690dd395fd | ||
|
|
f85f8b2b4d | ||
|
|
7ddaf29f8d | ||
|
|
b626d3e628 | ||
|
|
a39928fc55 | ||
|
|
9e68af38d9 | ||
|
|
4357b5b620 | ||
|
|
24519e58a8 | ||
|
|
219e37b592 | ||
|
|
fe6f646c9d | ||
|
|
06bdeb97dc | ||
|
|
b1f9f2da48 | ||
|
|
d7c7e4ede3 | ||
|
|
0550497e60 | ||
|
|
5c13d21260 | ||
|
|
2f60828e6e | ||
|
|
61d9e0f1ab | ||
|
|
cd72b05a7d | ||
|
|
69758f2523 | ||
|
|
0f848370fe | ||
|
|
4618c9b04e | ||
|
|
6ddead591a | ||
|
|
6eec19b9af | ||
|
|
935e9bbc44 | ||
|
|
59d443e889 |
2
.github/dist/export_presets.cfg
vendored
2
.github/dist/export_presets.cfg
vendored
@@ -5,7 +5,7 @@ platform="HTML5"
|
|||||||
runnable=true
|
runnable=true
|
||||||
custom_features=""
|
custom_features=""
|
||||||
export_filter="all_resources"
|
export_filter="all_resources"
|
||||||
include_filter=""
|
include_filter="*.json"
|
||||||
exclude_filter=""
|
exclude_filter=""
|
||||||
export_path=""
|
export_path=""
|
||||||
script_export_mode=1
|
script_export_mode=1
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ extends CanvasLayer
|
|||||||
|
|
||||||
signal start_game
|
signal start_game
|
||||||
|
|
||||||
|
|
||||||
func show_message(text):
|
func show_message(text):
|
||||||
$MessageLabel.text = text
|
$MessageLabel.text = text
|
||||||
$MessageLabel.show()
|
$MessageLabel.show()
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ extends Node
|
|||||||
export(PackedScene) var mob_scene
|
export(PackedScene) var mob_scene
|
||||||
var score
|
var score
|
||||||
|
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
randomize()
|
randomize()
|
||||||
|
|
||||||
@@ -50,6 +51,7 @@ func _on_MobTimer_timeout():
|
|||||||
# Spawn the mob by adding it to the Main scene.
|
# Spawn the mob by adding it to the Main scene.
|
||||||
add_child(mob)
|
add_child(mob)
|
||||||
|
|
||||||
|
|
||||||
func _on_ScoreTimer_timeout():
|
func _on_ScoreTimer_timeout():
|
||||||
score += 1
|
score += 1
|
||||||
$HUD.update_score(score)
|
$HUD.update_score(score)
|
||||||
|
|||||||
@@ -20,9 +20,6 @@ mob_scene = ExtResource( 2 )
|
|||||||
anchor_right = 1.0
|
anchor_right = 1.0
|
||||||
anchor_bottom = 1.0
|
anchor_bottom = 1.0
|
||||||
color = Color( 0.219608, 0.372549, 0.380392, 1 )
|
color = Color( 0.219608, 0.372549, 0.380392, 1 )
|
||||||
__meta__ = {
|
|
||||||
"_edit_use_anchors_": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[node name="Player" parent="." instance=ExtResource( 3 )]
|
[node name="Player" parent="." instance=ExtResource( 3 )]
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
extends RigidBody2D
|
extends RigidBody2D
|
||||||
|
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
$AnimatedSprite.playing = true
|
$AnimatedSprite.playing = true
|
||||||
var mob_types = $AnimatedSprite.frames.get_animation_names()
|
var mob_types = $AnimatedSprite.frames.get_animation_names()
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ signal hit
|
|||||||
export var speed = 400 # How fast the player will move (pixels/sec).
|
export var speed = 400 # How fast the player will move (pixels/sec).
|
||||||
var screen_size # Size of the game window.
|
var screen_size # Size of the game window.
|
||||||
|
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
screen_size = get_viewport_rect().size
|
screen_size = get_viewport_rect().size
|
||||||
hide()
|
hide()
|
||||||
|
|||||||
@@ -17,5 +17,7 @@ force/max_rate=false
|
|||||||
force/max_rate_hz=44100
|
force/max_rate_hz=44100
|
||||||
edit/trim=true
|
edit/trim=true
|
||||||
edit/normalize=true
|
edit/normalize=true
|
||||||
edit/loop=false
|
edit/loop_mode=0
|
||||||
|
edit/loop_begin=0
|
||||||
|
edit/loop_end=-1
|
||||||
compress/mode=0
|
compress/mode=0
|
||||||
|
|||||||
@@ -7,9 +7,6 @@ anchor_left = 1.0
|
|||||||
anchor_right = 1.0
|
anchor_right = 1.0
|
||||||
margin_left = -220.0
|
margin_left = -220.0
|
||||||
margin_bottom = 170.0
|
margin_bottom = 170.0
|
||||||
__meta__ = {
|
|
||||||
"_edit_use_anchors_": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[node name="Keys" type="Label" parent="."]
|
[node name="Keys" type="Label" parent="."]
|
||||||
anchor_right = 1.0
|
anchor_right = 1.0
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ extends Panel
|
|||||||
|
|
||||||
onready var fsm_node = get_node("../../Player/StateMachine")
|
onready var fsm_node = get_node("../../Player/StateMachine")
|
||||||
|
|
||||||
|
|
||||||
func _process(_delta):
|
func _process(_delta):
|
||||||
var states_names = ""
|
var states_names = ""
|
||||||
var numbers = ""
|
var numbers = ""
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ export(float) var speed = 1000.0
|
|||||||
|
|
||||||
onready var root = get_tree().root
|
onready var root = get_tree().root
|
||||||
|
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
set_as_toplevel(true)
|
set_as_toplevel(true)
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ extends Node2D
|
|||||||
|
|
||||||
var bullet = preload("Bullet.tscn")
|
var bullet = preload("Bullet.tscn")
|
||||||
|
|
||||||
|
|
||||||
func _unhandled_input(event):
|
func _unhandled_input(event):
|
||||||
if event.is_action_pressed("fire"):
|
if event.is_action_pressed("fire"):
|
||||||
fire()
|
fire()
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ signal direction_changed(new_direction)
|
|||||||
|
|
||||||
var look_direction = Vector2.RIGHT setget set_look_direction
|
var look_direction = Vector2.RIGHT setget set_look_direction
|
||||||
|
|
||||||
|
|
||||||
func take_damage(attacker, amount, effect = null):
|
func take_damage(attacker, amount, effect = null):
|
||||||
if is_a_parent_of(attacker):
|
if is_a_parent_of(attacker):
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ onready var jump = $Jump
|
|||||||
onready var stagger = $Stagger
|
onready var stagger = $Stagger
|
||||||
onready var attack = $Attack
|
onready var attack = $Attack
|
||||||
|
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
states_map = {
|
states_map = {
|
||||||
"idle": idle,
|
"idle": idle,
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
extends "res://state_machine/state.gd"
|
extends "res://state_machine/state.gd"
|
||||||
|
|
||||||
|
|
||||||
func enter():
|
func enter():
|
||||||
owner.get_node("AnimationPlayer").play("idle")
|
owner.get_node("AnimationPlayer").play("idle")
|
||||||
|
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ extends "res://state_machine/state.gd"
|
|||||||
# The animation only affects the Body Sprite's modulate property so it
|
# The animation only affects the Body Sprite's modulate property so it
|
||||||
# could stack with other animations if we had two AnimationPlayer nodes.
|
# could stack with other animations if we had two AnimationPlayer nodes.
|
||||||
|
|
||||||
|
|
||||||
func enter():
|
func enter():
|
||||||
owner.get_node("AnimationPlayer").play("stagger")
|
owner.get_node("AnimationPlayer").play("stagger")
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ extends Label
|
|||||||
|
|
||||||
var start_position = Vector2()
|
var start_position = Vector2()
|
||||||
|
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
start_position = rect_position
|
start_position = rect_position
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
extends "res://state_machine/state.gd"
|
extends "res://state_machine/state.gd"
|
||||||
|
|
||||||
|
|
||||||
# Initialize the state. E.g. change the animation.
|
# Initialize the state. E.g. change the animation.
|
||||||
func enter():
|
func enter():
|
||||||
owner.set_dead(true)
|
owner.set_dead(true)
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ var horizontal_velocity = Vector2()
|
|||||||
var vertical_speed = 0.0
|
var vertical_speed = 0.0
|
||||||
var height = 0.0
|
var height = 0.0
|
||||||
|
|
||||||
|
|
||||||
func initialize(speed, velocity):
|
func initialize(speed, velocity):
|
||||||
horizontal_speed = speed
|
horizontal_speed = speed
|
||||||
if speed > 0.0:
|
if speed > 0.0:
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
extends "res://state_machine/state.gd"
|
extends "res://state_machine/state.gd"
|
||||||
# Collection of important methods to handle direction and animation.
|
# Collection of important methods to handle direction and animation.
|
||||||
|
|
||||||
|
|
||||||
func handle_input(event):
|
func handle_input(event):
|
||||||
if event.is_action_pressed("simulate_damage"):
|
if event.is_action_pressed("simulate_damage"):
|
||||||
emit_signal("finished", "stagger")
|
emit_signal("finished", "stagger")
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
extends "on_ground.gd"
|
extends "on_ground.gd"
|
||||||
|
|
||||||
|
|
||||||
func enter():
|
func enter():
|
||||||
owner.get_node("AnimationPlayer").play("idle")
|
owner.get_node("AnimationPlayer").play("idle")
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
extends "on_ground.gd"
|
extends "on_ground.gd"
|
||||||
|
|
||||||
export(float) var max_walk_speed = 450
|
|
||||||
export(float) var max_run_speed = 700
|
export(float) var max_walk_speed = 450.0
|
||||||
|
export(float) var max_run_speed = 700.0
|
||||||
|
|
||||||
|
|
||||||
func enter():
|
func enter():
|
||||||
speed = 0.0
|
speed = 0.0
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ extends "../motion.gd"
|
|||||||
var speed = 0.0
|
var speed = 0.0
|
||||||
var velocity = Vector2()
|
var velocity = Vector2()
|
||||||
|
|
||||||
|
|
||||||
func handle_input(event):
|
func handle_input(event):
|
||||||
if event.is_action_pressed("jump"):
|
if event.is_action_pressed("jump"):
|
||||||
emit_signal("finished", "jump")
|
emit_signal("finished", "jump")
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ var combo = [{
|
|||||||
|
|
||||||
var hit_objects = []
|
var hit_objects = []
|
||||||
|
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
# warning-ignore:return_value_discarded
|
# warning-ignore:return_value_discarded
|
||||||
$AnimationPlayer.connect("animation_finished", self, "_on_animation_finished")
|
$AnimationPlayer.connect("animation_finished", self, "_on_animation_finished")
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ extends Position2D
|
|||||||
|
|
||||||
var z_index_start = 0
|
var z_index_start = 0
|
||||||
|
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
#warning-ignore:return_value_discarded
|
#warning-ignore:return_value_discarded
|
||||||
owner.connect("direction_changed", self, "_on_Parent_direction_changed")
|
owner.connect("direction_changed", self, "_on_Parent_direction_changed")
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ extends Node
|
|||||||
# warning-ignore:unused_signal
|
# warning-ignore:unused_signal
|
||||||
signal finished(next_state_name)
|
signal finished(next_state_name)
|
||||||
|
|
||||||
|
|
||||||
# Initialize the state. E.g. change the animation.
|
# Initialize the state. E.g. change the animation.
|
||||||
func enter():
|
func enter():
|
||||||
pass
|
pass
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ var states_stack = []
|
|||||||
var current_state = null
|
var current_state = null
|
||||||
var _active = false setget set_active
|
var _active = false setget set_active
|
||||||
|
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
if not start_state:
|
if not start_state:
|
||||||
start_state = get_child(0).get_path()
|
start_state = get_child(0).get_path()
|
||||||
|
|||||||
@@ -48,6 +48,7 @@ var brush_shape = BrushShapes.CIRCLE;
|
|||||||
# in the _draw function for more details).
|
# in the _draw function for more details).
|
||||||
var bg_color = Color.white
|
var bg_color = Color.white
|
||||||
|
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
# Get the top left position node. We need this to find out whether or not the mouse is inside the canvas.
|
# Get the top left position node. We need this to find out whether or not the mouse is inside the canvas.
|
||||||
TL_node = get_node("TLPos")
|
TL_node = get_node("TLPos")
|
||||||
|
|||||||
@@ -215,8 +215,7 @@ text = "Clear picture"
|
|||||||
[node name="SaveFileDialog" type="FileDialog" parent="."]
|
[node name="SaveFileDialog" type="FileDialog" parent="."]
|
||||||
margin_right = 600.0
|
margin_right = 600.0
|
||||||
margin_bottom = 400.0
|
margin_bottom = 400.0
|
||||||
|
rect_min_size = Vector2( 300, 105 )
|
||||||
resizable = true
|
resizable = true
|
||||||
access = 2
|
access = 2
|
||||||
filters = PoolStringArray( "*.png" )
|
filters = PoolStringArray( "*.png" )
|
||||||
current_dir = "/home/aaronfranke/workspace/godot-demo-projects/2d/gd_paint"
|
|
||||||
current_path = "/home/aaronfranke/workspace/godot-demo-projects/2d/gd_paint/"
|
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ onready var _parent = get_parent()
|
|||||||
onready var save_dialog = _parent.get_node(@"SaveFileDialog")
|
onready var save_dialog = _parent.get_node(@"SaveFileDialog")
|
||||||
onready var paint_control = _parent.get_node(@"PaintControl")
|
onready var paint_control = _parent.get_node(@"PaintControl")
|
||||||
|
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
# warning-ignore-all:return_value_discarded
|
# warning-ignore-all:return_value_discarded
|
||||||
# Assign all of the needed signals for the oppersation buttons.
|
# Assign all of the needed signals for the oppersation buttons.
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ const CAVE_LIMIT = 1000
|
|||||||
|
|
||||||
onready var cave = $Cave
|
onready var cave = $Cave
|
||||||
|
|
||||||
|
|
||||||
func _unhandled_input(event):
|
func _unhandled_input(event):
|
||||||
if event is InputEventMouseMotion and event.button_mask > 0:
|
if event is InputEventMouseMotion and event.button_mask > 0:
|
||||||
var rel_x = event.relative.x
|
var rel_x = event.relative.x
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ extends KinematicBody2D
|
|||||||
const MOTION_SPEED = 160 # Pixels/second.
|
const MOTION_SPEED = 160 # Pixels/second.
|
||||||
const TAN30DEG = tan(deg2rad(30))
|
const TAN30DEG = tan(deg2rad(30))
|
||||||
|
|
||||||
|
|
||||||
func _physics_process(_delta):
|
func _physics_process(_delta):
|
||||||
var motion = Vector2()
|
var motion = Vector2()
|
||||||
motion.x = Input.get_action_strength("move_right") - Input.get_action_strength("move_left")
|
motion.x = Input.get_action_strength("move_right") - Input.get_action_strength("move_left")
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ extends Node2D
|
|||||||
|
|
||||||
export(PackedScene) var ball_scene = preload("res://ball.tscn")
|
export(PackedScene) var ball_scene = preload("res://ball.tscn")
|
||||||
|
|
||||||
|
|
||||||
func _unhandled_input(event):
|
func _unhandled_input(event):
|
||||||
if event.is_echo():
|
if event.is_echo():
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ extends KinematicBody2D
|
|||||||
|
|
||||||
const MOTION_SPEED = 160 # Pixels/second.
|
const MOTION_SPEED = 160 # Pixels/second.
|
||||||
|
|
||||||
|
|
||||||
func _physics_process(_delta):
|
func _physics_process(_delta):
|
||||||
var motion = Vector2()
|
var motion = Vector2()
|
||||||
motion.x = Input.get_action_strength("move_right") - Input.get_action_strength("move_left")
|
motion.x = Input.get_action_strength("move_right") - Input.get_action_strength("move_left")
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
extends Node
|
extends Node
|
||||||
|
|
||||||
|
|
||||||
func _on_body_entered(body):
|
func _on_body_entered(body):
|
||||||
if body.name == "Player":
|
if body.name == "Player":
|
||||||
$"../WinText".show()
|
$"../WinText".show()
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ var velocity = Vector2()
|
|||||||
|
|
||||||
onready var gravity = ProjectSettings.get_setting("physics/2d/default_gravity")
|
onready var gravity = ProjectSettings.get_setting("physics/2d/default_gravity")
|
||||||
|
|
||||||
|
|
||||||
func _physics_process(delta):
|
func _physics_process(delta):
|
||||||
# Horizontal movement code. First, get the player's input.
|
# Horizontal movement code. First, get the player's input.
|
||||||
var walk = WALK_FORCE * (Input.get_action_strength("move_right") - Input.get_action_strength("move_left"))
|
var walk = WALK_FORCE * (Input.get_action_strength("move_right") - Input.get_action_strength("move_left"))
|
||||||
|
|||||||
33
2d/navigation/character.gd
Normal file
33
2d/navigation/character.gd
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
extends Sprite
|
||||||
|
|
||||||
|
export(float) var character_speed = 400.0
|
||||||
|
|
||||||
|
onready var navigation_agent: NavigationAgent2D = $NavigationAgent2D
|
||||||
|
onready var navigation_path_debug_line: Line2D = $Line2D
|
||||||
|
|
||||||
|
|
||||||
|
func _ready():
|
||||||
|
navigation_path_debug_line.set_as_toplevel(true)
|
||||||
|
|
||||||
|
|
||||||
|
func set_target_location(target_location: Vector2):
|
||||||
|
navigation_agent.set_target_location(target_location)
|
||||||
|
# Alternative way to get a full navigation path with Server API.
|
||||||
|
var navigation_map: RID = get_world_2d().get_navigation_map()
|
||||||
|
var start_position: Vector2 = get_global_transform().get_origin()
|
||||||
|
var target_position: Vector2 = target_location
|
||||||
|
var optimize: bool = true
|
||||||
|
navigation_path_debug_line.points = Navigation2DServer.map_get_path(
|
||||||
|
navigation_map,
|
||||||
|
start_position,
|
||||||
|
target_position,
|
||||||
|
optimize
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
func _physics_process(delta):
|
||||||
|
if navigation_agent.is_navigation_finished():
|
||||||
|
return
|
||||||
|
|
||||||
|
var next_position: Vector2 = navigation_agent.get_next_location()
|
||||||
|
global_position = global_position.move_toward(next_position, delta * character_speed)
|
||||||
@@ -1,18 +1,19 @@
|
|||||||
[gd_scene load_steps=5 format=2]
|
[gd_scene load_steps=6 format=2]
|
||||||
|
|
||||||
[ext_resource path="res://navigation.gd" type="Script" id=1]
|
[ext_resource path="res://navigation.gd" type="Script" id=1]
|
||||||
[ext_resource path="res://map.png" type="Texture" id=2]
|
[ext_resource path="res://map.png" type="Texture" id=2]
|
||||||
[ext_resource path="res://character.png" type="Texture" id=3]
|
[ext_resource path="res://character.png" type="Texture" id=3]
|
||||||
|
[ext_resource path="res://character.gd" type="Script" id=4]
|
||||||
|
|
||||||
[sub_resource type="NavigationPolygon" id=1]
|
[sub_resource type="NavigationPolygon" id=1]
|
||||||
vertices = PoolVector2Array( 587.833, 271.924, 530.464, 284.878, 508.256, 281.177, 497.153, 255.269, 624.926, 359.595, 648.903, 394.065, 620.443, 383.995, 669.26, 297.833, 648.903, 321.891, 650.754, 251.567, 619.293, 510.654, 676.663, 493.998, 706.272, 501.401, 669.26, 529.16, 602.638, 523.608, 587.833, 179.393, 573.028, 140.53, 645.202, 159.036, 710.106, 179.216, 630.397, 212.704, 597.086, 192.348, 471.244, 251.567, 421.277, 270.074, 428.68, 246.015, 502.704, 97.9661, 517.509, 55.4019, 537.866, 99.8167, 536.016, 175.692, 495.302, 164.588, 487.899, 85.0117, 310.24, 75.7586, 308.39, 92.4142, 345.402, 210.854, 360.207, 223.808, 297.286, 258.97, 288.033, 231.211, 319.493, 190.497, 193.651, 423.675, 245.469, 477.343, 221.41, 488.446, 147.386, 408.87, 182.548, 382.961, 145.584, 224.311, 175.145, 332.995, 202.904, 99.8167, 310.24, 62.8043, 695.169, 303.385, 682.214, 284.878, 598.937, 492.148, 571.177, 501.401, 605.437, 456.366, 621.144, 486.596, 538.077, 499.891, 395.879, 501.87, 536.407, 524.944, 371.311, 518.056, 573.028, 94.2648, 582.281, 47.9994, 667.409, 75.7586, 350.954, 447.733, 363.908, 351.501, 384.265, 351.501, 376.862, 418.123, 373.441, 436.494, 424.978, 334.845, 421.277, 360.754, 352.804, 320.04, 321.344, 338.546, 299.136, 283.028, 241.767, 327.443, 234.365, 244.165, 325.228, 486.302, 300.441, 497.494, 317.643, 447.733, 332.441, 457.494, 524.608, 359.37, 526.762, 342.248, 366.441, 467.494, 480.497, 434.779, 496.638, 439.381, 476.441, 468.494, 265.825, 407.019, 184.398, 349.65, 310.24, 112.771, 267.676, 153.485, 221.41, 171.991, 700.721, 268.223, 397.219, 188.646, 415.725, 177.543, 465.692, 179.393, 476.796, 207.152, 443.485, 192.348, 437.933, 170.14, 452.738, 166.439, 460.14, 123.875, 476.796, 149.783, 189.95, 231.211 )
|
vertices = PoolVector2Array( 587.833, 271.924, 530.464, 284.878, 508.256, 281.177, 497.153, 255.269, 624.926, 359.595, 648.903, 394.065, 620.443, 383.995, 669.26, 297.833, 648.903, 321.891, 650.754, 251.567, 619.293, 510.654, 676.663, 493.998, 706.272, 501.401, 669.26, 529.16, 602.638, 523.608, 587.833, 179.393, 573.028, 140.53, 645.202, 159.036, 710.106, 179.216, 630.397, 212.704, 597.086, 192.348, 471.244, 251.567, 421.277, 270.074, 428.68, 246.015, 502.704, 97.9661, 517.509, 55.4019, 537.866, 99.8167, 536.016, 175.692, 495.302, 164.588, 487.899, 85.0117, 310.24, 75.7586, 308.39, 92.4142, 345.402, 210.854, 360.207, 223.808, 297.286, 258.97, 288.033, 231.211, 319.493, 190.497, 193.651, 423.675, 245.469, 477.343, 221.41, 488.446, 147.386, 408.87, 182.548, 382.961, 145.584, 224.311, 175.145, 332.995, 202.904, 99.8167, 310.24, 62.8043, 695.169, 303.385, 682.214, 284.878, 598.937, 492.148, 571.177, 501.401, 605.437, 456.366, 621.144, 486.596, 538.077, 499.891, 395.879, 501.87, 536.407, 524.944, 371.311, 518.056, 573.028, 94.2648, 582.281, 47.9994, 667.409, 75.7586, 350.954, 447.733, 363.908, 351.501, 384.265, 351.501, 376.862, 418.123, 373.441, 436.494, 424.978, 334.845, 421.277, 360.754, 352.804, 320.04, 321.344, 338.546, 299.136, 283.028, 241.767, 327.443, 234.365, 244.165, 325.228, 486.302, 300.441, 497.494, 317.643, 447.733, 332.441, 457.494, 524.608, 359.37, 526.762, 342.248, 366.441, 467.494, 480.497, 434.779, 496.638, 439.381, 476.441, 468.494, 265.825, 407.019, 184.398, 349.65, 310.24, 112.771, 267.676, 153.485, 221.41, 171.991, 700.721, 268.223, 397.219, 188.646, 415.725, 177.543, 465.692, 179.393, 476.796, 207.152, 443.485, 192.348, 437.933, 170.14, 452.738, 166.439, 460.14, 123.875, 476.796, 149.783, 189.95, 231.211 )
|
||||||
polygons = [ PoolIntArray( 0, 1, 2, 3 ), PoolIntArray( 4, 5, 6 ), PoolIntArray( 7, 8, 9 ), PoolIntArray( 10, 11, 12, 13, 14 ), PoolIntArray( 15, 16, 17, 18, 19, 20 ), PoolIntArray( 21, 3, 2, 22, 23 ), PoolIntArray( 24, 25, 26, 27, 28 ), PoolIntArray( 25, 24, 29 ), PoolIntArray( 30, 25, 29, 31 ), PoolIntArray( 32, 33, 34, 35, 36 ), PoolIntArray( 37, 38, 39, 40 ), PoolIntArray( 41, 37, 40 ), PoolIntArray( 41, 40, 42, 43 ), PoolIntArray( 44, 45, 30, 31 ), PoolIntArray( 46, 12, 11, 7, 47 ), PoolIntArray( 47, 7, 9 ), PoolIntArray( 48, 10, 14, 49 ), PoolIntArray( 50, 6, 5, 51, 48 ), PoolIntArray( 52, 50, 48, 49 ), PoolIntArray( 53, 52, 49, 54, 55 ), PoolIntArray( 17, 56, 57, 58, 18 ), PoolIntArray( 59, 60, 61, 62, 63 ), PoolIntArray( 64, 65, 61, 66 ), PoolIntArray( 66, 61, 60, 67, 68 ), PoolIntArray( 68, 67, 69, 70 ), PoolIntArray( 68, 70, 35, 34 ), PoolIntArray( 71, 53, 55, 72 ), PoolIntArray( 71, 72, 73, 74 ), PoolIntArray( 4, 6, 75, 76 ), PoolIntArray( 63, 77, 74, 59 ), PoolIntArray( 78, 2, 1, 76, 75, 79, 80 ), PoolIntArray( 78, 80, 63, 62 ), PoolIntArray( 81, 59, 74, 73 ), PoolIntArray( 81, 73, 41, 82 ), PoolIntArray( 44, 31, 83, 84, 85 ), PoolIntArray( 18, 86, 47, 9, 19 ), PoolIntArray( 15, 20, 3, 21 ), PoolIntArray( 23, 22, 87, 88 ), PoolIntArray( 89, 28, 27, 90, 91 ), PoolIntArray( 89, 91, 92, 93 ), PoolIntArray( 36, 94, 95, 93, 92 ), PoolIntArray( 36, 92, 88 ), PoolIntArray( 36, 88, 87, 32 ), PoolIntArray( 36, 35, 85, 84 ), PoolIntArray( 42, 44, 85, 96 ), PoolIntArray( 42, 96, 43 ), PoolIntArray( 41, 43, 82 ) ]
|
polygons = [ PoolIntArray( 0, 1, 2, 3 ), PoolIntArray( 4, 5, 6 ), PoolIntArray( 7, 8, 9 ), PoolIntArray( 10, 11, 12, 13, 14 ), PoolIntArray( 15, 16, 17, 18, 19, 20 ), PoolIntArray( 21, 3, 2, 22, 23 ), PoolIntArray( 24, 25, 26, 27, 28 ), PoolIntArray( 25, 24, 29 ), PoolIntArray( 30, 25, 29, 31 ), PoolIntArray( 32, 33, 34, 35, 36 ), PoolIntArray( 37, 38, 39, 40 ), PoolIntArray( 41, 37, 40 ), PoolIntArray( 41, 40, 42, 43 ), PoolIntArray( 44, 45, 30, 31 ), PoolIntArray( 46, 12, 11, 7, 47 ), PoolIntArray( 47, 7, 9 ), PoolIntArray( 48, 10, 14, 49 ), PoolIntArray( 50, 6, 5, 51, 48 ), PoolIntArray( 52, 50, 48, 49 ), PoolIntArray( 53, 52, 49, 54, 55 ), PoolIntArray( 17, 56, 57, 58, 18 ), PoolIntArray( 59, 60, 61, 62, 63 ), PoolIntArray( 64, 65, 61, 66 ), PoolIntArray( 66, 61, 60, 67, 68 ), PoolIntArray( 68, 67, 69, 70 ), PoolIntArray( 68, 70, 35, 34 ), PoolIntArray( 71, 53, 55, 72 ), PoolIntArray( 71, 72, 73, 74 ), PoolIntArray( 4, 6, 75, 76 ), PoolIntArray( 63, 77, 74, 59 ), PoolIntArray( 78, 2, 1, 76, 75, 79, 80 ), PoolIntArray( 78, 80, 63, 62 ), PoolIntArray( 81, 59, 74, 73 ), PoolIntArray( 81, 73, 41, 82 ), PoolIntArray( 44, 31, 83, 84, 85 ), PoolIntArray( 18, 86, 47, 9, 19 ), PoolIntArray( 15, 20, 3, 21 ), PoolIntArray( 23, 22, 87, 88 ), PoolIntArray( 89, 28, 27, 90, 91 ), PoolIntArray( 89, 91, 92, 93 ), PoolIntArray( 36, 94, 95, 93, 92 ), PoolIntArray( 36, 92, 88 ), PoolIntArray( 36, 88, 87, 32 ), PoolIntArray( 36, 35, 85, 84 ), PoolIntArray( 42, 44, 85, 96 ), PoolIntArray( 42, 96, 43 ), PoolIntArray( 41, 43, 82 ) ]
|
||||||
outlines = [ PoolVector2Array( 221.41, 488.446, 147.386, 408.87, 145.584, 224.311, 202.904, 99.8167, 310.24, 62.8043, 310.24, 75.7586, 517.509, 55.4019, 537.866, 99.8167, 536.016, 175.692, 476.796, 207.152, 443.485, 192.348, 437.933, 170.14, 415.725, 177.543, 428.68, 246.015, 471.244, 251.567, 587.833, 179.393, 573.028, 140.53, 645.202, 159.036, 573.028, 94.2648, 582.281, 47.9994, 667.409, 75.7586, 710.106, 179.216, 700.721, 268.223, 682.214, 284.878, 695.169, 303.385, 706.272, 501.401, 669.26, 529.16, 602.638, 523.608, 571.177, 501.401, 536.407, 524.944, 371.311, 518.056, 300.441, 497.494, 317.643, 447.733, 182.548, 382.961, 193.651, 423.675, 245.469, 477.343 ), PoolVector2Array( 350.954, 447.733, 363.908, 351.501, 321.344, 338.546, 241.767, 327.443, 234.365, 244.165, 288.033, 231.211, 221.41, 171.991, 189.95, 231.211, 175.145, 332.995, 184.398, 349.65, 265.825, 407.019 ), PoolVector2Array( 267.676, 153.485, 310.24, 112.771, 308.39, 92.4142, 487.899, 85.0117, 502.704, 97.9661, 495.302, 164.588, 465.692, 179.393, 452.738, 166.439, 476.796, 149.783, 460.14, 123.875, 319.493, 190.497 ), PoolVector2Array( 397.219, 188.646, 345.402, 210.854, 360.207, 223.808, 297.286, 258.97, 299.136, 283.028, 352.804, 320.04, 424.978, 334.845, 421.277, 360.754, 384.265, 351.501, 376.862, 418.123, 480.497, 434.779, 508.256, 281.177, 421.277, 270.074 ), PoolVector2Array( 497.153, 255.269, 597.086, 192.348, 630.397, 212.704, 650.754, 251.567, 648.903, 321.891, 669.26, 297.833, 676.663, 493.998, 619.293, 510.654, 598.937, 492.148, 621.144, 486.596, 648.903, 394.065, 624.926, 359.595, 526.762, 342.248, 530.464, 284.878, 587.833, 271.924 ), PoolVector2Array( 325.228, 486.302, 332.441, 457.494, 366.441, 467.494, 373.441, 436.494, 476.441, 468.494, 496.638, 439.381, 524.608, 359.37, 620.443, 383.995, 605.437, 456.366, 538.077, 499.891, 395.879, 501.87 ) ]
|
outlines = [ PoolVector2Array( 221.41, 488.446, 147.386, 408.87, 145.584, 224.311, 202.904, 99.8167, 310.24, 62.8043, 310.24, 75.7586, 517.509, 55.4019, 537.866, 99.8167, 536.016, 175.692, 476.796, 207.152, 443.485, 192.348, 437.933, 170.14, 415.725, 177.543, 428.68, 246.015, 471.244, 251.567, 587.833, 179.393, 573.028, 140.53, 645.202, 159.036, 573.028, 94.2648, 582.281, 47.9994, 667.409, 75.7586, 710.106, 179.216, 700.721, 268.223, 682.214, 284.878, 695.169, 303.385, 706.272, 501.401, 669.26, 529.16, 602.638, 523.608, 571.177, 501.401, 536.407, 524.944, 371.311, 518.056, 300.441, 497.494, 317.643, 447.733, 182.548, 382.961, 193.651, 423.675, 245.469, 477.343 ), PoolVector2Array( 350.954, 447.733, 363.908, 351.501, 321.344, 338.546, 241.767, 327.443, 234.365, 244.165, 288.033, 231.211, 221.41, 171.991, 189.95, 231.211, 175.145, 332.995, 184.398, 349.65, 265.825, 407.019 ), PoolVector2Array( 267.676, 153.485, 310.24, 112.771, 308.39, 92.4142, 487.899, 85.0117, 502.704, 97.9661, 495.302, 164.588, 465.692, 179.393, 452.738, 166.439, 476.796, 149.783, 460.14, 123.875, 319.493, 190.497 ), PoolVector2Array( 397.219, 188.646, 345.402, 210.854, 360.207, 223.808, 297.286, 258.97, 299.136, 283.028, 352.804, 320.04, 424.978, 334.845, 421.277, 360.754, 384.265, 351.501, 376.862, 418.123, 480.497, 434.779, 508.256, 281.177, 421.277, 270.074 ), PoolVector2Array( 497.153, 255.269, 597.086, 192.348, 630.397, 212.704, 650.754, 251.567, 648.903, 321.891, 669.26, 297.833, 676.663, 493.998, 619.293, 510.654, 598.937, 492.148, 621.144, 486.596, 648.903, 394.065, 624.926, 359.595, 526.762, 342.248, 530.464, 284.878, 587.833, 271.924 ), PoolVector2Array( 325.228, 486.302, 332.441, 457.494, 366.441, 467.494, 373.441, 436.494, 476.441, 468.494, 496.638, 439.381, 524.608, 359.37, 620.443, 383.995, 605.437, 456.366, 538.077, 499.891, 395.879, 501.87 ) ]
|
||||||
|
|
||||||
[node name="Navigation2D" type="Navigation2D"]
|
[node name="NavigationDemo" type="Node2D"]
|
||||||
script = ExtResource( 1 )
|
script = ExtResource( 1 )
|
||||||
|
|
||||||
[node name="Navmesh" type="NavigationPolygonInstance" parent="."]
|
[node name="NavigationPolygonInstance" type="NavigationPolygonInstance" parent="."]
|
||||||
navpoly = SubResource( 1 )
|
navpoly = SubResource( 1 )
|
||||||
|
|
||||||
[node name="Map" type="Sprite" parent="."]
|
[node name="Map" type="Sprite" parent="."]
|
||||||
@@ -24,6 +25,13 @@ position = Vector2( 228.464, 132.594 )
|
|||||||
scale = Vector2( 0.5, 0.5 )
|
scale = Vector2( 0.5, 0.5 )
|
||||||
texture = ExtResource( 3 )
|
texture = ExtResource( 3 )
|
||||||
offset = Vector2( 0, -26 )
|
offset = Vector2( 0, -26 )
|
||||||
|
script = ExtResource( 4 )
|
||||||
|
|
||||||
|
[node name="NavigationAgent2D" type="NavigationAgent2D" parent="Character"]
|
||||||
|
|
||||||
|
[node name="Line2D" type="Line2D" parent="Character"]
|
||||||
|
width = 4.0
|
||||||
|
default_color = Color( 1, 0, 0, 1 )
|
||||||
|
|
||||||
[node name="Camera2D" type="Camera2D" parent="."]
|
[node name="Camera2D" type="Camera2D" parent="."]
|
||||||
offset = Vector2( 420, 300 )
|
offset = Vector2( 420, 300 )
|
||||||
|
|||||||
@@ -1,46 +1,10 @@
|
|||||||
extends Navigation2D
|
extends Node2D
|
||||||
|
|
||||||
export(float) var character_speed = 400.0
|
|
||||||
var path = []
|
|
||||||
|
|
||||||
onready var character = $Character
|
onready var character = $Character
|
||||||
|
|
||||||
func _process(delta):
|
|
||||||
var walk_distance = character_speed * delta
|
|
||||||
move_along_path(walk_distance)
|
|
||||||
|
|
||||||
|
|
||||||
# The "click" event is a custom input action defined in
|
|
||||||
# Project > Project Settings > Input Map tab.
|
|
||||||
func _unhandled_input(event):
|
func _unhandled_input(event):
|
||||||
if not event.is_action_pressed("click"):
|
if not event.is_action_pressed("click"):
|
||||||
return
|
return
|
||||||
_update_navigation_path(character.position, get_local_mouse_position())
|
character.set_target_location(get_global_mouse_position())
|
||||||
|
|
||||||
|
|
||||||
func move_along_path(distance):
|
|
||||||
var last_point = character.position
|
|
||||||
while path.size():
|
|
||||||
var distance_between_points = last_point.distance_to(path[0])
|
|
||||||
# The position to move to falls between two points.
|
|
||||||
if distance <= distance_between_points:
|
|
||||||
character.position = last_point.linear_interpolate(path[0], distance / distance_between_points)
|
|
||||||
return
|
|
||||||
# The position is past the end of the segment.
|
|
||||||
distance -= distance_between_points
|
|
||||||
last_point = path[0]
|
|
||||||
path.remove(0)
|
|
||||||
# The character reached the end of the path.
|
|
||||||
character.position = last_point
|
|
||||||
set_process(false)
|
|
||||||
|
|
||||||
|
|
||||||
func _update_navigation_path(start_position, end_position):
|
|
||||||
# get_simple_path is part of the Navigation2D class.
|
|
||||||
# It returns a PoolVector2Array of points that lead you
|
|
||||||
# from the start_position to the end_position.
|
|
||||||
path = get_simple_path(start_position, end_position, true)
|
|
||||||
# The first point is always the start_position.
|
|
||||||
# We don't need it in this example as it corresponds to the character's position.
|
|
||||||
path.remove(0)
|
|
||||||
set_process(true)
|
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ var _target_position = Vector2()
|
|||||||
|
|
||||||
var _velocity = Vector2()
|
var _velocity = Vector2()
|
||||||
|
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
_change_state(States.IDLE)
|
_change_state(States.IDLE)
|
||||||
|
|
||||||
@@ -33,7 +34,7 @@ func _process(_delta):
|
|||||||
func _unhandled_input(event):
|
func _unhandled_input(event):
|
||||||
if event.is_action_pressed("click"):
|
if event.is_action_pressed("click"):
|
||||||
var global_mouse_pos = get_global_mouse_position()
|
var global_mouse_pos = get_global_mouse_position()
|
||||||
if Input.is_key_pressed(KEY_SHIFT):
|
if Input.is_key_pressed(KEY_SHIFT) and get_parent().get_node("TileMap").check_start_position(global_mouse_pos):
|
||||||
global_position = global_mouse_pos
|
global_position = global_mouse_pos
|
||||||
else:
|
else:
|
||||||
_target_position = global_mouse_pos
|
_target_position = global_mouse_pos
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ onready var astar_node = AStar.new()
|
|||||||
onready var obstacles = get_used_cells_by_id(0)
|
onready var obstacles = get_used_cells_by_id(0)
|
||||||
onready var _half_cell_size = cell_size / 2
|
onready var _half_cell_size = cell_size / 2
|
||||||
|
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
var walkable_cells_list = astar_add_walkable_cells(obstacles)
|
var walkable_cells_list = astar_add_walkable_cells(obstacles)
|
||||||
astar_connect_walkable_cells(walkable_cells_list)
|
astar_connect_walkable_cells(walkable_cells_list)
|
||||||
@@ -126,6 +127,14 @@ func is_outside_map_bounds(point):
|
|||||||
return point.x < 0 or point.y < 0 or point.x >= map_size.x or point.y >= map_size.y
|
return point.x < 0 or point.y < 0 or point.x >= map_size.x or point.y >= map_size.y
|
||||||
|
|
||||||
|
|
||||||
|
func check_start_position(world_start):
|
||||||
|
var start_point = world_to_map(world_start)
|
||||||
|
if start_point in obstacles:
|
||||||
|
return false
|
||||||
|
|
||||||
|
return true
|
||||||
|
|
||||||
|
|
||||||
func get_astar_path(world_start, world_end):
|
func get_astar_path(world_start, world_end):
|
||||||
self.path_start_position = world_to_map(world_start)
|
self.path_start_position = world_to_map(world_start)
|
||||||
self.path_end_position = world_to_map(world_end)
|
self.path_end_position = world_to_map(world_end)
|
||||||
|
|||||||
@@ -17,5 +17,7 @@ force/max_rate=false
|
|||||||
force/max_rate_hz=44100
|
force/max_rate_hz=44100
|
||||||
edit/trim=true
|
edit/trim=true
|
||||||
edit/normalize=true
|
edit/normalize=true
|
||||||
edit/loop=false
|
edit/loop_mode=0
|
||||||
|
edit/loop_begin=0
|
||||||
|
edit/loop_end=-1
|
||||||
compress/mode=0
|
compress/mode=0
|
||||||
|
|||||||
@@ -17,5 +17,7 @@ force/max_rate=false
|
|||||||
force/max_rate_hz=44100
|
force/max_rate_hz=44100
|
||||||
edit/trim=true
|
edit/trim=true
|
||||||
edit/normalize=true
|
edit/normalize=true
|
||||||
edit/loop=false
|
edit/loop_mode=0
|
||||||
|
edit/loop_begin=0
|
||||||
|
edit/loop_end=-1
|
||||||
compress/mode=0
|
compress/mode=0
|
||||||
|
|||||||
@@ -17,5 +17,7 @@ force/max_rate=false
|
|||||||
force/max_rate_hz=44100
|
force/max_rate_hz=44100
|
||||||
edit/trim=true
|
edit/trim=true
|
||||||
edit/normalize=true
|
edit/normalize=true
|
||||||
edit/loop=false
|
edit/loop_mode=0
|
||||||
|
edit/loop_begin=0
|
||||||
|
edit/loop_end=-1
|
||||||
compress/mode=0
|
compress/mode=0
|
||||||
|
|||||||
@@ -17,5 +17,7 @@ force/max_rate=false
|
|||||||
force/max_rate_hz=44100
|
force/max_rate_hz=44100
|
||||||
edit/trim=true
|
edit/trim=true
|
||||||
edit/normalize=true
|
edit/normalize=true
|
||||||
edit/loop=false
|
edit/loop_mode=0
|
||||||
|
edit/loop_begin=0
|
||||||
|
edit/loop_end=-1
|
||||||
compress/mode=0
|
compress/mode=0
|
||||||
|
|||||||
@@ -17,5 +17,7 @@ force/max_rate=false
|
|||||||
force/max_rate_hz=44100
|
force/max_rate_hz=44100
|
||||||
edit/trim=true
|
edit/trim=true
|
||||||
edit/normalize=true
|
edit/normalize=true
|
||||||
edit/loop=false
|
edit/loop_mode=0
|
||||||
|
edit/loop_begin=0
|
||||||
|
edit/loop_end=-1
|
||||||
compress/mode=0
|
compress/mode=0
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ extends Area2D
|
|||||||
|
|
||||||
var taken = false
|
var taken = false
|
||||||
|
|
||||||
|
|
||||||
func _on_body_enter(body):
|
func _on_body_enter(body):
|
||||||
if not taken and body is Player:
|
if not taken and body is Player:
|
||||||
($AnimationPlayer as AnimationPlayer).play("taken")
|
($AnimationPlayer as AnimationPlayer).play("taken")
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ var Bullet = preload("res://player/bullet.gd")
|
|||||||
onready var rc_left = $RaycastLeft
|
onready var rc_left = $RaycastLeft
|
||||||
onready var rc_right = $RaycastRight
|
onready var rc_right = $RaycastRight
|
||||||
|
|
||||||
|
|
||||||
func _integrate_forces(s):
|
func _integrate_forces(s):
|
||||||
var lv = s.get_linear_velocity()
|
var lv = s.get_linear_velocity()
|
||||||
var new_anim = anim
|
var new_anim = anim
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ export var cycle = 1.0
|
|||||||
|
|
||||||
var accum = 0.0
|
var accum = 0.0
|
||||||
|
|
||||||
|
|
||||||
func _physics_process(delta):
|
func _physics_process(delta):
|
||||||
accum += delta * (1.0 / cycle) * TAU
|
accum += delta * (1.0 / cycle) * TAU
|
||||||
accum = fmod(accum, TAU)
|
accum = fmod(accum, TAU)
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ extends RigidBody2D
|
|||||||
|
|
||||||
var disabled = false
|
var disabled = false
|
||||||
|
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
($Timer as Timer).start()
|
($Timer as Timer).start()
|
||||||
|
|
||||||
|
|||||||
@@ -54,6 +54,7 @@ onready var sprite_smoke = sprite.get_node(@"Smoke")
|
|||||||
onready var animation_player = $AnimationPlayer
|
onready var animation_player = $AnimationPlayer
|
||||||
onready var bullet_shoot = $BulletShoot
|
onready var bullet_shoot = $BulletShoot
|
||||||
|
|
||||||
|
|
||||||
func _integrate_forces(s):
|
func _integrate_forces(s):
|
||||||
var lv = s.get_linear_velocity()
|
var lv = s.get_linear_velocity()
|
||||||
var step = s.get_step()
|
var step = s.get_step()
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ func _ready():
|
|||||||
options.add_menu_item(OPTION_TEST_CASE_DETECT_FLOOR_NO_SNAP)
|
options.add_menu_item(OPTION_TEST_CASE_DETECT_FLOOR_NO_SNAP)
|
||||||
options.add_menu_item(OPTION_TEST_CASE_DETECT_FLOOR_MOTION_CHANGES)
|
options.add_menu_item(OPTION_TEST_CASE_DETECT_FLOOR_MOTION_CHANGES)
|
||||||
|
|
||||||
|
|
||||||
func _physics_process(_delta):
|
func _physics_process(_delta):
|
||||||
if _moving_body:
|
if _moving_body:
|
||||||
if _moving_body.is_on_floor():
|
if _moving_body.is_on_floor():
|
||||||
|
|||||||
@@ -12,6 +12,3 @@ text = "TEST OPTIONS"
|
|||||||
flat = false
|
flat = false
|
||||||
align = 0
|
align = 0
|
||||||
script = ExtResource( 1 )
|
script = ExtResource( 1 )
|
||||||
__meta__ = {
|
|
||||||
"_edit_use_anchors_": false
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -2,6 +2,10 @@
|
|||||||
|
|
||||||
[ext_resource path="res://assets/theme/fonts/kenney_mini_square.tres" type="DynamicFontData" id=1]
|
[ext_resource path="res://assets/theme/fonts/kenney_mini_square.tres" type="DynamicFontData" id=1]
|
||||||
|
|
||||||
|
[sub_resource type="DynamicFont" id=6]
|
||||||
|
size = 30
|
||||||
|
font_data = ExtResource( 1 )
|
||||||
|
|
||||||
[sub_resource type="StyleBoxFlat" id=1]
|
[sub_resource type="StyleBoxFlat" id=1]
|
||||||
content_margin_left = 6.0
|
content_margin_left = 6.0
|
||||||
content_margin_right = 6.0
|
content_margin_right = 6.0
|
||||||
@@ -62,10 +66,6 @@ border_width_right = 1
|
|||||||
border_width_bottom = 1
|
border_width_bottom = 1
|
||||||
border_color = Color( 0.41, 0.61, 0.91, 1 )
|
border_color = Color( 0.41, 0.61, 0.91, 1 )
|
||||||
|
|
||||||
[sub_resource type="DynamicFont" id=6]
|
|
||||||
size = 30
|
|
||||||
font_data = ExtResource( 1 )
|
|
||||||
|
|
||||||
[resource]
|
[resource]
|
||||||
default_font = SubResource( 6 )
|
default_font = SubResource( 6 )
|
||||||
Button/colors/font_color = Color( 0.8, 0.8075, 0.8275, 1 )
|
Button/colors/font_color = Color( 0.8, 0.8075, 0.8275, 1 )
|
||||||
@@ -75,7 +75,7 @@ Button/colors/font_color_pressed = Color( 0.411765, 0.611765, 0.909804, 1 )
|
|||||||
Button/colors/icon_color_hover = Color( 1.15, 1.15, 1.15, 1 )
|
Button/colors/icon_color_hover = Color( 1.15, 1.15, 1.15, 1 )
|
||||||
Button/colors/icon_color_pressed = Color( 0.4715, 0.7015, 1.0465, 1 )
|
Button/colors/icon_color_pressed = Color( 0.4715, 0.7015, 1.0465, 1 )
|
||||||
Button/constants/hseparation = 2
|
Button/constants/hseparation = 2
|
||||||
Button/fonts/font = null
|
Button/fonts/font = SubResource( 6 )
|
||||||
Button/styles/disabled = SubResource( 1 )
|
Button/styles/disabled = SubResource( 1 )
|
||||||
Button/styles/focus = SubResource( 2 )
|
Button/styles/focus = SubResource( 2 )
|
||||||
Button/styles/hover = SubResource( 3 )
|
Button/styles/hover = SubResource( 3 )
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ const FLOOR_NORMAL = Vector2.UP
|
|||||||
|
|
||||||
var _velocity = Vector2.ZERO
|
var _velocity = Vector2.ZERO
|
||||||
|
|
||||||
|
|
||||||
# _physics_process is called after the inherited _physics_process function.
|
# _physics_process is called after the inherited _physics_process function.
|
||||||
# This allows the Player and Enemy scenes to be affected by gravity.
|
# This allows the Player and Enemy scenes to be affected by gravity.
|
||||||
func _physics_process(delta):
|
func _physics_process(delta):
|
||||||
|
|||||||
@@ -15,11 +15,13 @@ onready var floor_detector_right = $FloorDetectorRight
|
|||||||
onready var sprite = $Sprite
|
onready var sprite = $Sprite
|
||||||
onready var animation_player = $AnimationPlayer
|
onready var animation_player = $AnimationPlayer
|
||||||
|
|
||||||
|
|
||||||
# This function is called when the scene enters the scene tree.
|
# This function is called when the scene enters the scene tree.
|
||||||
# We can initialize variables here.
|
# We can initialize variables here.
|
||||||
func _ready():
|
func _ready():
|
||||||
_velocity.x = speed.x
|
_velocity.x = speed.x
|
||||||
|
|
||||||
|
|
||||||
# Physics process is a built-in loop in Godot.
|
# Physics process is a built-in loop in Godot.
|
||||||
# If you define _physics_process on a node, Godot will call it every frame.
|
# If you define _physics_process on a node, Godot will call it every frame.
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
[gd_scene load_steps=13 format=2]
|
[gd_scene load_steps=14 format=2]
|
||||||
|
|
||||||
[ext_resource path="res://assets/art/player/bullet/bullet.png" type="Texture" id=1]
|
[ext_resource path="res://assets/art/player/bullet/bullet.png" type="Texture" id=1]
|
||||||
[ext_resource path="res://assets/audio/sfx/explode.wav" type="AudioStream" id=2]
|
[ext_resource path="res://assets/audio/sfx/explode.wav" type="AudioStream" id=2]
|
||||||
@@ -8,6 +8,21 @@
|
|||||||
|
|
||||||
[sub_resource type="CanvasItemMaterial" id=1]
|
[sub_resource type="CanvasItemMaterial" id=1]
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id=8]
|
||||||
|
length = 0.001
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/path = NodePath("Explosion:scale_amount")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PoolRealArray( 0 ),
|
||||||
|
"transitions": PoolRealArray( 1 ),
|
||||||
|
"update": 0,
|
||||||
|
"values": [ 4.0 ]
|
||||||
|
}
|
||||||
|
|
||||||
[sub_resource type="Animation" id=2]
|
[sub_resource type="Animation" id=2]
|
||||||
resource_name = "destroy"
|
resource_name = "destroy"
|
||||||
length = 1.5
|
length = 1.5
|
||||||
@@ -60,48 +75,36 @@ tracks/3/keys = {
|
|||||||
"values": [ false, true ]
|
"values": [ false, true ]
|
||||||
}
|
}
|
||||||
tracks/4/type = "value"
|
tracks/4/type = "value"
|
||||||
tracks/4/path = NodePath("Explosion:process_material:scale")
|
tracks/4/path = NodePath("Hit:playing")
|
||||||
tracks/4/interp = 1
|
tracks/4/interp = 1
|
||||||
tracks/4/loop_wrap = true
|
tracks/4/loop_wrap = true
|
||||||
tracks/4/imported = false
|
tracks/4/imported = false
|
||||||
tracks/4/enabled = true
|
tracks/4/enabled = true
|
||||||
tracks/4/keys = {
|
tracks/4/keys = {
|
||||||
"times": PoolRealArray( 0.6, 1 ),
|
|
||||||
"transitions": PoolRealArray( 1, 1 ),
|
|
||||||
"update": 0,
|
|
||||||
"values": [ 1.0, 4.0 ]
|
|
||||||
}
|
|
||||||
tracks/5/type = "value"
|
|
||||||
tracks/5/path = NodePath("Hit:playing")
|
|
||||||
tracks/5/interp = 1
|
|
||||||
tracks/5/loop_wrap = true
|
|
||||||
tracks/5/imported = false
|
|
||||||
tracks/5/enabled = true
|
|
||||||
tracks/5/keys = {
|
|
||||||
"times": PoolRealArray( 0.00999999 ),
|
"times": PoolRealArray( 0.00999999 ),
|
||||||
"transitions": PoolRealArray( 1 ),
|
"transitions": PoolRealArray( 1 ),
|
||||||
"update": 1,
|
"update": 1,
|
||||||
"values": [ true ]
|
"values": [ true ]
|
||||||
}
|
}
|
||||||
tracks/6/type = "value"
|
tracks/5/type = "value"
|
||||||
tracks/6/path = NodePath("Explode:playing")
|
tracks/5/path = NodePath("Explode:playing")
|
||||||
tracks/6/interp = 1
|
tracks/5/interp = 1
|
||||||
tracks/6/loop_wrap = true
|
tracks/5/loop_wrap = true
|
||||||
tracks/6/imported = false
|
tracks/5/imported = false
|
||||||
tracks/6/enabled = true
|
tracks/5/enabled = true
|
||||||
tracks/6/keys = {
|
tracks/5/keys = {
|
||||||
"times": PoolRealArray( 0.8 ),
|
"times": PoolRealArray( 0.8 ),
|
||||||
"transitions": PoolRealArray( 1 ),
|
"transitions": PoolRealArray( 1 ),
|
||||||
"update": 1,
|
"update": 1,
|
||||||
"values": [ true ]
|
"values": [ true ]
|
||||||
}
|
}
|
||||||
tracks/7/type = "method"
|
tracks/6/type = "method"
|
||||||
tracks/7/path = NodePath(".")
|
tracks/6/path = NodePath(".")
|
||||||
tracks/7/interp = 1
|
tracks/6/interp = 1
|
||||||
tracks/7/loop_wrap = true
|
tracks/6/loop_wrap = true
|
||||||
tracks/7/imported = false
|
tracks/6/imported = false
|
||||||
tracks/7/enabled = true
|
tracks/6/enabled = true
|
||||||
tracks/7/keys = {
|
tracks/6/keys = {
|
||||||
"times": PoolRealArray( 1.5 ),
|
"times": PoolRealArray( 1.5 ),
|
||||||
"transitions": PoolRealArray( 1 ),
|
"transitions": PoolRealArray( 1 ),
|
||||||
"values": [ {
|
"values": [ {
|
||||||
@@ -109,29 +112,41 @@ tracks/7/keys = {
|
|||||||
"method": "queue_free"
|
"method": "queue_free"
|
||||||
} ]
|
} ]
|
||||||
}
|
}
|
||||||
tracks/8/type = "value"
|
tracks/7/type = "value"
|
||||||
tracks/8/path = NodePath(".:collision_layer")
|
tracks/7/path = NodePath(".:collision_layer")
|
||||||
tracks/8/interp = 1
|
tracks/7/interp = 1
|
||||||
tracks/8/loop_wrap = true
|
tracks/7/loop_wrap = true
|
||||||
tracks/8/imported = false
|
tracks/7/imported = false
|
||||||
tracks/8/enabled = true
|
tracks/7/enabled = true
|
||||||
tracks/8/keys = {
|
tracks/7/keys = {
|
||||||
"times": PoolRealArray( 0 ),
|
"times": PoolRealArray( 0 ),
|
||||||
"transitions": PoolRealArray( 1 ),
|
"transitions": PoolRealArray( 1 ),
|
||||||
"update": 1,
|
"update": 1,
|
||||||
"values": [ 0 ]
|
"values": [ 0 ]
|
||||||
}
|
}
|
||||||
|
tracks/8/type = "value"
|
||||||
|
tracks/8/path = NodePath("Sprite:position")
|
||||||
|
tracks/8/interp = 1
|
||||||
|
tracks/8/loop_wrap = true
|
||||||
|
tracks/8/imported = false
|
||||||
|
tracks/8/enabled = true
|
||||||
|
tracks/8/keys = {
|
||||||
|
"times": PoolRealArray( 0, 0.2, 0.4 ),
|
||||||
|
"transitions": PoolRealArray( 2.2974, 0.183011, 1 ),
|
||||||
|
"update": 0,
|
||||||
|
"values": [ Vector2( 0, 0 ), Vector2( 0, -32 ), Vector2( 0, 0 ) ]
|
||||||
|
}
|
||||||
tracks/9/type = "value"
|
tracks/9/type = "value"
|
||||||
tracks/9/path = NodePath("Sprite:position")
|
tracks/9/path = NodePath("Explosion:scale_amount")
|
||||||
tracks/9/interp = 1
|
tracks/9/interp = 1
|
||||||
tracks/9/loop_wrap = true
|
tracks/9/loop_wrap = true
|
||||||
tracks/9/imported = false
|
tracks/9/imported = false
|
||||||
tracks/9/enabled = true
|
tracks/9/enabled = true
|
||||||
tracks/9/keys = {
|
tracks/9/keys = {
|
||||||
"times": PoolRealArray( 0, 0.2, 0.4 ),
|
"times": PoolRealArray( 0.6, 1 ),
|
||||||
"transitions": PoolRealArray( 2.2974, 0.183011, 1 ),
|
"transitions": PoolRealArray( 1, 1 ),
|
||||||
"update": 0,
|
"update": 0,
|
||||||
"values": [ Vector2( 0, 0 ), Vector2( 0, -32 ), Vector2( 0, 0 ) ]
|
"values": [ 1.0, 4.0 ]
|
||||||
}
|
}
|
||||||
|
|
||||||
[sub_resource type="Animation" id=3]
|
[sub_resource type="Animation" id=3]
|
||||||
@@ -211,6 +226,7 @@ hframes = 8
|
|||||||
frame = 7
|
frame = 7
|
||||||
|
|
||||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||||
|
anims/RESET = SubResource( 8 )
|
||||||
anims/destroy = SubResource( 2 )
|
anims/destroy = SubResource( 2 )
|
||||||
anims/idle = SubResource( 3 )
|
anims/idle = SubResource( 3 )
|
||||||
anims/walk = SubResource( 4 )
|
anims/walk = SubResource( 4 )
|
||||||
@@ -237,6 +253,7 @@ gravity = Vector2( 0, 250 )
|
|||||||
initial_velocity = 120.0
|
initial_velocity = 120.0
|
||||||
initial_velocity_random = 0.5
|
initial_velocity_random = 0.5
|
||||||
angle_random = 1.0
|
angle_random = 1.0
|
||||||
|
scale_amount = 4.0
|
||||||
scale_amount_random = 1.0
|
scale_amount_random = 1.0
|
||||||
color_ramp = SubResource( 7 )
|
color_ramp = SubResource( 7 )
|
||||||
hue_variation = 0.05
|
hue_variation = 0.05
|
||||||
|
|||||||
@@ -1,10 +1,12 @@
|
|||||||
extends Node2D
|
extends Node2D
|
||||||
|
|
||||||
|
|
||||||
const LIMIT_LEFT = -315
|
const LIMIT_LEFT = -315
|
||||||
const LIMIT_TOP = -250
|
const LIMIT_TOP = -250
|
||||||
const LIMIT_RIGHT = 955
|
const LIMIT_RIGHT = 955
|
||||||
const LIMIT_BOTTOM = 690
|
const LIMIT_BOTTOM = 690
|
||||||
|
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
for child in get_children():
|
for child in get_children():
|
||||||
if child is Player:
|
if child is Player:
|
||||||
|
|||||||
@@ -1,9 +1,11 @@
|
|||||||
extends AudioStreamPlayer
|
extends AudioStreamPlayer
|
||||||
|
|
||||||
|
|
||||||
const DOUBLE_VOLUME_DB = 6 # Do not change. Represents doubling of sound pressure.
|
const DOUBLE_VOLUME_DB = 6 # Do not change. Represents doubling of sound pressure.
|
||||||
|
|
||||||
export(int) var base_volume_db = -14
|
export(int) var base_volume_db = -14
|
||||||
|
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
# To avoid AudioStreamPlayer2D sounds playing on top of each other and
|
# To avoid AudioStreamPlayer2D sounds playing on top of each other and
|
||||||
# being very loud, let's decrease the volume for splitscreen mode, but
|
# being very loud, let's decrease the volume for splitscreen mode, but
|
||||||
|
|||||||
@@ -25,10 +25,18 @@ func _unhandled_input(event):
|
|||||||
if event.is_action_pressed("toggle_fullscreen"):
|
if event.is_action_pressed("toggle_fullscreen"):
|
||||||
OS.window_fullscreen = not OS.window_fullscreen
|
OS.window_fullscreen = not OS.window_fullscreen
|
||||||
get_tree().set_input_as_handled()
|
get_tree().set_input_as_handled()
|
||||||
# The GlobalControls node, in the Stage scene, is set to process even
|
# The desired behavior is when pausing is to pause the gamplay,
|
||||||
# when the game is paused, so this code keeps running.
|
# but the Pause Menu should continue to process.
|
||||||
# To see that, select GlobalControls, and scroll down to the Pause category
|
# To achieve this, the "Pause Mode" field is used on nodes in the Game scene:
|
||||||
# in the inspector.
|
# 1. The root node in the Game scene is set to process even when the game is paused
|
||||||
|
# (via Pause Mode = Process), so this Game script keeps running in order to open/close
|
||||||
|
# the Pause Menu when the player presses the "toggle_pause" action.
|
||||||
|
# 2. The Level scene has Pause Mode = Stop (and its child Player scene has Pause Mode = Inherit),
|
||||||
|
# so the gameplay will stop.
|
||||||
|
# 3. The InterfaceLayer node has Pause Mode = Inherit, with its child PauseMenu scene having
|
||||||
|
# Pause Mode = Process, so it will continue to process even when the game is paused.
|
||||||
|
# To see the Pause Mode of any node, select the node and you'll see "Pause Mode" near the bottom
|
||||||
|
# of the Inspector under "Node" fields.
|
||||||
elif event.is_action_pressed("toggle_pause"):
|
elif event.is_action_pressed("toggle_pause"):
|
||||||
var tree = get_tree()
|
var tree = get_tree()
|
||||||
tree.paused = not tree.paused
|
tree.paused = not tree.paused
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ class_name Coin
|
|||||||
extends Area2D
|
extends Area2D
|
||||||
# Collectible that disappears when the player touches it.
|
# Collectible that disappears when the player touches it.
|
||||||
|
|
||||||
|
|
||||||
onready var animation_player = $AnimationPlayer
|
onready var animation_player = $AnimationPlayer
|
||||||
|
|
||||||
# The Coins only detects collisions with the Player thanks to its collision mask.
|
# The Coins only detects collisions with the Player thanks to its collision mask.
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
extends Panel
|
extends Panel
|
||||||
|
|
||||||
|
|
||||||
var coins_collected = 0
|
var coins_collected = 0
|
||||||
|
|
||||||
onready var coins_label = $Label
|
onready var coins_label = $Label
|
||||||
|
|||||||
@@ -40,9 +40,6 @@ rect_min_size = Vector2( 100, 45 )
|
|||||||
theme = ExtResource( 1 )
|
theme = ExtResource( 1 )
|
||||||
custom_styles/panel = SubResource( 1 )
|
custom_styles/panel = SubResource( 1 )
|
||||||
script = ExtResource( 3 )
|
script = ExtResource( 3 )
|
||||||
__meta__ = {
|
|
||||||
"_edit_use_anchors_": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[node name="Label" type="Label" parent="."]
|
[node name="Label" type="Label" parent="."]
|
||||||
anchor_right = 1.0
|
anchor_right = 1.0
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
extends Area2D
|
extends Area2D
|
||||||
|
|
||||||
|
|
||||||
const DEFAULT_SPEED = 100
|
const DEFAULT_SPEED = 100
|
||||||
|
|
||||||
var _speed = DEFAULT_SPEED
|
var _speed = DEFAULT_SPEED
|
||||||
@@ -7,6 +8,7 @@ var direction = Vector2.LEFT
|
|||||||
|
|
||||||
onready var _initial_pos = position
|
onready var _initial_pos = position
|
||||||
|
|
||||||
|
|
||||||
func _process(delta):
|
func _process(delta):
|
||||||
_speed += delta * 2
|
_speed += delta * 2
|
||||||
position += _speed * delta * direction
|
position += _speed * delta * direction
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
extends Area2D
|
extends Area2D
|
||||||
|
|
||||||
|
|
||||||
export var _bounce_direction = 1
|
export var _bounce_direction = 1
|
||||||
|
|
||||||
|
|
||||||
func _on_area_entered(area):
|
func _on_area_entered(area):
|
||||||
if area.name == "Ball":
|
if area.name == "Ball":
|
||||||
area.direction = (area.direction + Vector2(0, _bounce_direction)).normalized()
|
area.direction = (area.direction + Vector2(0, _bounce_direction)).normalized()
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
extends Area2D
|
extends Area2D
|
||||||
|
|
||||||
|
|
||||||
const MOVE_SPEED = 100
|
const MOVE_SPEED = 100
|
||||||
|
|
||||||
var _ball_dir
|
var _ball_dir
|
||||||
@@ -8,6 +9,7 @@ var _down
|
|||||||
|
|
||||||
onready var _screen_size_y = get_viewport_rect().size.y
|
onready var _screen_size_y = get_viewport_rect().size.y
|
||||||
|
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
var n = String(name).to_lower()
|
var n = String(name).to_lower()
|
||||||
_up = n + "_move_up"
|
_up = n + "_move_up"
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
extends Area2D
|
extends Area2D
|
||||||
|
|
||||||
|
|
||||||
func _on_wall_area_entered(area):
|
func _on_wall_area_entered(area):
|
||||||
if area.name == "Ball":
|
if area.name == "Ball":
|
||||||
#oops, ball went out of game place, reset
|
#oops, ball went out of game place, reset
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ window/size/width=640
|
|||||||
window/size/height=400
|
window/size/height=400
|
||||||
window/dpi/allow_hidpi=true
|
window/dpi/allow_hidpi=true
|
||||||
window/stretch/mode="2d"
|
window/stretch/mode="2d"
|
||||||
window/stretch/aspect="expand"
|
window/stretch/aspect="keep"
|
||||||
stretch_2d=true
|
stretch_2d=true
|
||||||
|
|
||||||
[gdnative]
|
[gdnative]
|
||||||
|
|||||||
@@ -1,10 +1,12 @@
|
|||||||
extends Node
|
extends Node
|
||||||
|
|
||||||
|
|
||||||
|
const PLAYER_WIN = "res://dialogue/dialogue_data/player_won.json"
|
||||||
|
const PLAYER_LOSE = "res://dialogue/dialogue_data/player_lose.json"
|
||||||
|
|
||||||
export(NodePath) var combat_screen
|
export(NodePath) var combat_screen
|
||||||
export(NodePath) var exploration_screen
|
export(NodePath) var exploration_screen
|
||||||
|
|
||||||
const PLAYER_WIN = "res://dialogue/dialogue_data/player_won.json"
|
|
||||||
const PLAYER_LOSE = "res://dialogue/dialogue_data/player_lose.json"
|
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
exploration_screen = get_node(exploration_screen)
|
exploration_screen = get_node(exploration_screen)
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
extends Node
|
extends Node
|
||||||
|
|
||||||
|
|
||||||
signal combat_finished(winner, loser)
|
signal combat_finished(winner, loser)
|
||||||
|
|
||||||
|
|
||||||
func initialize(combat_combatants):
|
func initialize(combat_combatants):
|
||||||
for combatant in combat_combatants:
|
for combatant in combat_combatants:
|
||||||
combatant = combatant.instance()
|
combatant = combatant.instance()
|
||||||
|
|||||||
@@ -1,10 +1,12 @@
|
|||||||
extends Node
|
extends Node
|
||||||
|
|
||||||
|
|
||||||
|
signal active_combatant_changed(active_combatant)
|
||||||
|
|
||||||
export(NodePath) var combatants_list
|
export(NodePath) var combatants_list
|
||||||
var queue = [] setget set_queue
|
var queue = [] setget set_queue
|
||||||
var active_combatant = null setget _set_active_combatant
|
var active_combatant = null setget _set_active_combatant
|
||||||
|
|
||||||
signal active_combatant_changed(active_combatant)
|
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
combatants_list = get_node(combatants_list)
|
combatants_list = get_node(combatants_list)
|
||||||
|
|||||||
@@ -1,12 +1,16 @@
|
|||||||
class_name Combatant
|
class_name Combatant
|
||||||
extends Node
|
extends Node
|
||||||
|
|
||||||
export(int) var damage = 1
|
|
||||||
export(int) var defense = 1
|
|
||||||
var active = false setget set_active
|
|
||||||
|
|
||||||
signal turn_finished
|
signal turn_finished
|
||||||
|
|
||||||
|
export(int) var damage = 1
|
||||||
|
export(int) var defense = 1
|
||||||
|
|
||||||
|
var active = false setget set_active
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
func set_active(value):
|
func set_active(value):
|
||||||
active = value
|
active = value
|
||||||
set_process(value)
|
set_process(value)
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
extends Node
|
extends Node
|
||||||
|
|
||||||
|
|
||||||
signal dead
|
signal dead
|
||||||
signal health_changed(life)
|
signal health_changed(life)
|
||||||
|
|
||||||
@@ -8,6 +9,7 @@ export var max_life = 10
|
|||||||
export var base_armor = 0
|
export var base_armor = 0
|
||||||
var armor = 0
|
var armor = 0
|
||||||
|
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
armor = base_armor
|
armor = base_armor
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
extends Combatant
|
extends Combatant
|
||||||
|
|
||||||
|
|
||||||
func set_active(value):
|
func set_active(value):
|
||||||
.set_active(value)
|
.set_active(value)
|
||||||
if not active:
|
if not active:
|
||||||
|
|||||||
@@ -7,9 +7,6 @@ margin_right = 409.0
|
|||||||
margin_bottom = 239.0
|
margin_bottom = 239.0
|
||||||
size_flags_horizontal = 3
|
size_flags_horizontal = 3
|
||||||
size_flags_vertical = 3
|
size_flags_vertical = 3
|
||||||
__meta__ = {
|
|
||||||
"_edit_use_anchors_": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[node name="VBoxContainer" type="VBoxContainer" parent="."]
|
[node name="VBoxContainer" type="VBoxContainer" parent="."]
|
||||||
margin_left = 7.0
|
margin_left = 7.0
|
||||||
|
|||||||
@@ -1,8 +1,10 @@
|
|||||||
extends Control
|
extends Control
|
||||||
|
|
||||||
|
|
||||||
export(NodePath) var combatants_node
|
export(NodePath) var combatants_node
|
||||||
export(PackedScene) var info_scene
|
export(PackedScene) var info_scene
|
||||||
|
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
combatants_node = get_node(combatants_node)
|
combatants_node = get_node(combatants_node)
|
||||||
|
|
||||||
|
|||||||
@@ -1,13 +1,15 @@
|
|||||||
extends Node
|
extends Node
|
||||||
|
|
||||||
|
|
||||||
|
signal dialogue_started
|
||||||
|
signal dialogue_finished
|
||||||
|
|
||||||
export(String, FILE, "*.json") var dialogue_file
|
export(String, FILE, "*.json") var dialogue_file
|
||||||
var dialogue_keys = []
|
var dialogue_keys = []
|
||||||
var dialogue_name = ""
|
var dialogue_name = ""
|
||||||
var current = 0
|
var current = 0
|
||||||
var dialogue_text = ""
|
var dialogue_text = ""
|
||||||
|
|
||||||
signal dialogue_started
|
|
||||||
signal dialogue_finished
|
|
||||||
|
|
||||||
func start_dialogue():
|
func start_dialogue():
|
||||||
emit_signal("dialogue_started")
|
emit_signal("dialogue_started")
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
extends Control
|
extends Control
|
||||||
|
|
||||||
|
|
||||||
var dialogue_node = null
|
var dialogue_node = null
|
||||||
|
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
hide()
|
hide()
|
||||||
|
|
||||||
|
|||||||
@@ -9,9 +9,6 @@ margin_right = 1280.0
|
|||||||
margin_bottom = 720.0
|
margin_bottom = 720.0
|
||||||
theme = ExtResource( 1 )
|
theme = ExtResource( 1 )
|
||||||
script = ExtResource( 2 )
|
script = ExtResource( 2 )
|
||||||
__meta__ = {
|
|
||||||
"_edit_use_anchors_": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[node name="Name" type="RichTextLabel" parent="."]
|
[node name="Name" type="RichTextLabel" parent="."]
|
||||||
margin_left = 40.0
|
margin_left = 40.0
|
||||||
|
|||||||
@@ -1,8 +1,10 @@
|
|||||||
extends TileMap
|
extends TileMap
|
||||||
|
|
||||||
|
|
||||||
enum CellType { ACTOR, OBSTACLE, OBJECT }
|
enum CellType { ACTOR, OBSTACLE, OBJECT }
|
||||||
export(NodePath) var dialogue_ui
|
export(NodePath) var dialogue_ui
|
||||||
|
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
for child in get_children():
|
for child in get_children():
|
||||||
set_cellv(world_to_map(child.position), child.type)
|
set_cellv(world_to_map(child.position), child.type)
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
extends Pawn
|
extends Pawn
|
||||||
|
|
||||||
onready var Grid = get_parent()
|
|
||||||
var lost = false
|
var lost = false
|
||||||
|
onready var Grid = get_parent()
|
||||||
|
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
update_look_direction(Vector2.RIGHT)
|
update_look_direction(Vector2.RIGHT)
|
||||||
|
|||||||
@@ -1,9 +1,11 @@
|
|||||||
extends Pawn
|
extends Pawn
|
||||||
|
|
||||||
|
|
||||||
#warning-ignore:unused_class_variable
|
#warning-ignore:unused_class_variable
|
||||||
export(PackedScene) var combat_actor
|
export(PackedScene) var combat_actor
|
||||||
#warning-ignore:unused_class_variable
|
#warning-ignore:unused_class_variable
|
||||||
var lost = false
|
var lost = false
|
||||||
|
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
set_process(false)
|
set_process(false)
|
||||||
|
|||||||
@@ -1,12 +1,14 @@
|
|||||||
class_name Pawn
|
class_name Pawn
|
||||||
extends Node2D
|
extends Node2D
|
||||||
|
|
||||||
|
|
||||||
enum CellType { ACTOR, OBSTACLE, OBJECT }
|
enum CellType { ACTOR, OBSTACLE, OBJECT }
|
||||||
#warning-ignore:unused_class_variable
|
#warning-ignore:unused_class_variable
|
||||||
export(CellType) var type = CellType.ACTOR
|
export(CellType) var type = CellType.ACTOR
|
||||||
|
|
||||||
var active = true setget set_active
|
var active = true setget set_active
|
||||||
|
|
||||||
|
|
||||||
func set_active(value):
|
func set_active(value):
|
||||||
active = value
|
active = value
|
||||||
set_process(value)
|
set_process(value)
|
||||||
|
|||||||
@@ -1,10 +1,12 @@
|
|||||||
extends Pawn
|
extends Pawn
|
||||||
|
|
||||||
onready var parent = get_parent()
|
|
||||||
#warning-ignore:unused_class_variable
|
#warning-ignore:unused_class_variable
|
||||||
export(PackedScene) var combat_actor
|
export(PackedScene) var combat_actor
|
||||||
#warning-ignore:unused_class_variable
|
#warning-ignore:unused_class_variable
|
||||||
var lost = false
|
var lost = false
|
||||||
|
onready var parent = get_parent()
|
||||||
|
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
update_look_direction(Vector2.RIGHT)
|
update_look_direction(Vector2.RIGHT)
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
extends Control
|
extends Control
|
||||||
|
|
||||||
|
|
||||||
onready var effect = $Effect
|
onready var effect = $Effect
|
||||||
onready var effects = $Effects
|
onready var effects = $Effects
|
||||||
onready var picture = $Picture
|
onready var picture = $Picture
|
||||||
|
|||||||
@@ -1,10 +1,12 @@
|
|||||||
extends Node2D
|
extends Node2D
|
||||||
|
|
||||||
|
|
||||||
const LIMIT_LEFT = -315
|
const LIMIT_LEFT = -315
|
||||||
const LIMIT_TOP = -250
|
const LIMIT_TOP = -250
|
||||||
const LIMIT_RIGHT = 955
|
const LIMIT_RIGHT = 955
|
||||||
const LIMIT_BOTTOM = 690
|
const LIMIT_BOTTOM = 690
|
||||||
|
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
for child in get_children():
|
for child in get_children():
|
||||||
if child is Player:
|
if child is Player:
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
class_name Player
|
class_name Player
|
||||||
extends KinematicBody2D
|
extends KinematicBody2D
|
||||||
|
|
||||||
|
|
||||||
# Keep this in sync with the AnimationTree's state names and numbers.
|
# Keep this in sync with the AnimationTree's state names and numbers.
|
||||||
enum States {
|
enum States {
|
||||||
IDLE = 0,
|
IDLE = 0,
|
||||||
|
|||||||
@@ -1747,7 +1747,7 @@ nodes/walk_animation/node = SubResource( 21 )
|
|||||||
nodes/walk_animation/position = Vector2( 0, 140 )
|
nodes/walk_animation/position = Vector2( 0, 140 )
|
||||||
nodes/walk_timescale/node = SubResource( 22 )
|
nodes/walk_timescale/node = SubResource( 22 )
|
||||||
nodes/walk_timescale/position = Vector2( 200, 120 )
|
nodes/walk_timescale/position = Vector2( 200, 120 )
|
||||||
node_connections = [ "state", 0, "idle_animation", "state", 1, "walk_timescale", "state", 2, "run_timescale", "state", 3, "fly_animation", "state", 4, "fall_animation", "output", 0, "land_hard", "land", 0, "jump", "land", 1, "land_animation", "jump", 0, "state", "jump", 1, "jump_animation", "land_hard", 0, "land", "land_hard", 1, "land_hard_animation", "run_timescale", 0, "run_animation", "walk_timescale", 0, "walk_animation" ]
|
node_connections = [ "jump", 0, "state", "jump", 1, "jump_animation", "land", 0, "jump", "land", 1, "land_animation", "land_hard", 0, "land", "land_hard", 1, "land_hard_animation", "run_timescale", 0, "run_animation", "walk_timescale", 0, "walk_animation", "state", 0, "idle_animation", "state", 1, "walk_timescale", "state", 2, "run_timescale", "state", 3, "fly_animation", "state", 4, "fall_animation", "output", 0, "land_hard" ]
|
||||||
|
|
||||||
[sub_resource type="RectangleShape2D" id=24]
|
[sub_resource type="RectangleShape2D" id=24]
|
||||||
extents = Vector2( 11, 16.4358 )
|
extents = Vector2( 11, 16.4358 )
|
||||||
@@ -1878,7 +1878,7 @@ skeleton = NodePath("../../Skeleton2D")
|
|||||||
polygon = PoolVector2Array( 237.601, 31.7394, 217.703, 30.1435, 183.732, 47.8469, 274.303, 49.2926, 271.111, 94.5053, 183.877, 89.7181, 185.505, 166.856, 248.688, 172.323, 242.541, 187.015, 189.46, 182.958, 190.308, 202.449, 180.383, 225.837, 201.435, 321.531, 242.841, 196.76, 256.334, 215.801, 276.077, 283.732, 295.215, 310.526, 272.249, 351.675, 216.746, 356.459 )
|
polygon = PoolVector2Array( 237.601, 31.7394, 217.703, 30.1435, 183.732, 47.8469, 274.303, 49.2926, 271.111, 94.5053, 183.877, 89.7181, 185.505, 166.856, 248.688, 172.323, 242.541, 187.015, 189.46, 182.958, 190.308, 202.449, 180.383, 225.837, 201.435, 321.531, 242.841, 196.76, 256.334, 215.801, 276.077, 283.732, 295.215, 310.526, 272.249, 351.675, 216.746, 356.459 )
|
||||||
uv = PoolVector2Array( 235.407, 30.1435, 217.703, 30.1435, 183.732, 47.8469, 276.555, 49.2823, 274.641, 85.6459, 181.34, 83.7321, 184.689, 180.383, 253.11, 178.469, 243.541, 188.995, 188.038, 187.081, 188.995, 200, 180.383, 225.837, 201.435, 321.531, 244.976, 199.043, 259.809, 215.789, 276.077, 283.732, 295.215, 310.526, 272.249, 351.675, 216.746, 356.459 )
|
uv = PoolVector2Array( 235.407, 30.1435, 217.703, 30.1435, 183.732, 47.8469, 276.555, 49.2823, 274.641, 85.6459, 181.34, 83.7321, 184.689, 180.383, 253.11, 178.469, 243.541, 188.995, 188.038, 187.081, 188.995, 200, 180.383, 225.837, 201.435, 321.531, 244.976, 199.043, 259.809, 215.789, 276.077, 283.732, 295.215, 310.526, 272.249, 351.675, 216.746, 356.459 )
|
||||||
polygons = [ PoolIntArray( 0, 1, 2, 5, 4, 3 ), PoolIntArray( 4, 7, 6, 5 ), PoolIntArray( 8, 7, 6, 9 ), PoolIntArray( 13, 8, 9, 10 ), PoolIntArray( 13, 14, 11, 10 ), PoolIntArray( 14, 15, 12, 11 ), PoolIntArray( 15, 16, 17, 18, 12 ) ]
|
polygons = [ PoolIntArray( 0, 1, 2, 5, 4, 3 ), PoolIntArray( 4, 7, 6, 5 ), PoolIntArray( 8, 7, 6, 9 ), PoolIntArray( 13, 8, 9, 10 ), PoolIntArray( 13, 14, 11, 10 ), PoolIntArray( 14, 15, 12, 11 ), PoolIntArray( 15, 16, 17, 18, 12 ) ]
|
||||||
bones = [ NodePath("Hip"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/Chest"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/Chest/RightArm"), PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1, 0.5, 0.5, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/Chest/RightArm/RightForearm"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0.5, 0.5, 1, 1, 0.5, 1, 1, 0.5, 0, 0, 0 ), NodePath("Hip/Chest/RightArm/RightForearm/RightHand"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.5, 0, 0, 0.5, 1, 1, 1 ), NodePath("Hip/Chest/Head"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/Chest/Head/Chin"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/Chest/LeftArm"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/Chest/LeftArm/LeftForearm"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/Chest/LeftArm/LeftForearm/LeftHand"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/LeftLeg"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/LeftLeg/LeftLowerLeg"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/LeftLeg/LeftLowerLeg/LeftFoot"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/RightLeg"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/RightLeg/RightLowerLeg"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/RightLeg/RightLowerLeg/RightFoot"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ) ]
|
bones = [ "Hip", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/Chest", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/Chest/RightArm", PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1, 0.5, 0.5, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/Chest/RightArm/RightForearm", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0.5, 0.5, 1, 1, 0.5, 1, 1, 0.5, 0, 0, 0 ), "Hip/Chest/RightArm/RightForearm/RightHand", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.5, 0, 0, 0.5, 1, 1, 1 ), "Hip/Chest/Head", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/Chest/Head/Chin", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/Chest/LeftArm", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/Chest/LeftArm/LeftForearm", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/Chest/LeftArm/LeftForearm/LeftHand", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/LeftLeg", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/LeftLeg/LeftLowerLeg", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/LeftLeg/LeftLowerLeg/LeftFoot", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/RightLeg", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/RightLeg/RightLowerLeg", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/RightLeg/RightLowerLeg/RightFoot", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ) ]
|
||||||
internal_vertex_count = 19
|
internal_vertex_count = 19
|
||||||
|
|
||||||
[node name="RightLeg" type="Polygon2D" parent="Sprite/Polygons"]
|
[node name="RightLeg" type="Polygon2D" parent="Sprite/Polygons"]
|
||||||
@@ -1888,7 +1888,7 @@ skeleton = NodePath("../../Skeleton2D")
|
|||||||
polygon = PoolVector2Array( 348.266, 400, 289.099, 380.833, 280.766, 435, 276.599, 470.833, 250.766, 515, 249.933, 604.167, 246.599, 690.833, 407.433, 695.833, 409.099, 659.167, 384.099, 606.667, 349.099, 599.167, 330.766, 550, 342.433, 476.667, 337.433, 442.5 )
|
polygon = PoolVector2Array( 348.266, 400, 289.099, 380.833, 280.766, 435, 276.599, 470.833, 250.766, 515, 249.933, 604.167, 246.599, 690.833, 407.433, 695.833, 409.099, 659.167, 384.099, 606.667, 349.099, 599.167, 330.766, 550, 342.433, 476.667, 337.433, 442.5 )
|
||||||
uv = PoolVector2Array( 348.266, 400, 289.099, 380.833, 280.766, 435, 276.599, 470.833, 250.766, 515, 249.933, 604.167, 246.599, 690.833, 407.433, 695.833, 409.099, 659.167, 384.099, 606.667, 349.099, 599.167, 330.766, 550, 342.433, 476.667, 337.433, 442.5 )
|
uv = PoolVector2Array( 348.266, 400, 289.099, 380.833, 280.766, 435, 276.599, 470.833, 250.766, 515, 249.933, 604.167, 246.599, 690.833, 407.433, 695.833, 409.099, 659.167, 384.099, 606.667, 349.099, 599.167, 330.766, 550, 342.433, 476.667, 337.433, 442.5 )
|
||||||
polygons = [ PoolIntArray( 0, 1, 2, 13 ), PoolIntArray( 13, 12, 3, 2 ), PoolIntArray( 12, 11, 4, 3 ), PoolIntArray( 11, 10, 5, 4 ), PoolIntArray( 10, 9, 8, 7, 6, 5 ) ]
|
polygons = [ PoolIntArray( 0, 1, 2, 13 ), PoolIntArray( 13, 12, 3, 2 ), PoolIntArray( 12, 11, 4, 3 ), PoolIntArray( 11, 10, 5, 4 ), PoolIntArray( 10, 9, 8, 7, 6, 5 ) ]
|
||||||
bones = [ NodePath("Hip"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/Chest"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/Chest/Head"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/Chest/Head/Chin"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/LeftArm"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/LeftArm/LeftForearm"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/LeftArm/LeftForearm/LeftHand"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/RightArm"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/RightArm/RightForearm"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/RightArm/RightForearm/RightHand"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/LeftLeg"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/LeftLeg/LeftLowerLeg"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/LeftLeg/LeftLowerLeg/LeftFoot"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/RightLeg"), PoolRealArray( 1, 1, 1, 0.53, 0, 0, 0, 0, 0, 0, 0, 0, 0.53, 1 ), NodePath("Hip/RightLeg/RightLowerLeg"), PoolRealArray( 0, 0, 0, 0.53, 1, 1, 0, 0, 0, 0, 0, 1, 0.53, 0 ), NodePath("Hip/RightLeg/RightLowerLeg/RightFoot"), PoolRealArray( 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0.53, 0, 0, 0 ) ]
|
bones = [ "Hip", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/Chest", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/Chest/Head", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/Chest/Head/Chin", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/LeftArm", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/LeftArm/LeftForearm", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/LeftArm/LeftForearm/LeftHand", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/RightArm", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/RightArm/RightForearm", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/RightArm/RightForearm/RightHand", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/LeftLeg", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/LeftLeg/LeftLowerLeg", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/LeftLeg/LeftLowerLeg/LeftFoot", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/RightLeg", PoolRealArray( 1, 1, 1, 0.53, 0, 0, 0, 0, 0, 0, 0, 0, 0.53, 1 ), "Hip/RightLeg/RightLowerLeg", PoolRealArray( 0, 0, 0, 0.53, 1, 1, 0, 0, 0, 0, 0, 1, 0.53, 0 ), "Hip/RightLeg/RightLowerLeg/RightFoot", PoolRealArray( 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0.53, 0, 0, 0 ) ]
|
||||||
internal_vertex_count = 14
|
internal_vertex_count = 14
|
||||||
|
|
||||||
[node name="Body" type="Polygon2D" parent="Sprite/Polygons"]
|
[node name="Body" type="Polygon2D" parent="Sprite/Polygons"]
|
||||||
@@ -1898,7 +1898,7 @@ skeleton = NodePath("../../Skeleton2D")
|
|||||||
polygon = PoolVector2Array( 473.936, 29.2553, 430.851, 19.6809, 384.043, 78.7234, 344.681, 107.447, 348.404, 192.553, 375.532, 240.426, 375, 255.319, 351.064, 269.681, 347.34, 294.681, 371.809, 334.574, 468.085, 347.872, 490.957, 296.809, 489.894, 276.596, 472.368, 259.211, 473.936, 245.745, 505.319, 222.34, 522.872, 179.787, 507.447, 121.809, 484.043, 84.0426, 398.404, 38.2979, 419.681, 344.149 )
|
polygon = PoolVector2Array( 473.936, 29.2553, 430.851, 19.6809, 384.043, 78.7234, 344.681, 107.447, 348.404, 192.553, 375.532, 240.426, 375, 255.319, 351.064, 269.681, 347.34, 294.681, 371.809, 334.574, 468.085, 347.872, 490.957, 296.809, 489.894, 276.596, 472.368, 259.211, 473.936, 245.745, 505.319, 222.34, 522.872, 179.787, 507.447, 121.809, 484.043, 84.0426, 398.404, 38.2979, 419.681, 344.149 )
|
||||||
uv = PoolVector2Array( 473.936, 29.2553, 430.851, 19.6809, 384.043, 78.7234, 344.681, 107.447, 348.404, 192.553, 375.532, 240.426, 375, 255.319, 351.064, 269.681, 347.34, 294.681, 371.809, 334.574, 468.085, 347.872, 490.957, 296.809, 489.894, 276.596, 472.368, 259.211, 473.936, 245.745, 505.319, 222.34, 522.872, 179.787, 507.447, 121.809, 484.043, 84.0426, 398.404, 38.2979, 419.681, 344.149 )
|
uv = PoolVector2Array( 473.936, 29.2553, 430.851, 19.6809, 384.043, 78.7234, 344.681, 107.447, 348.404, 192.553, 375.532, 240.426, 375, 255.319, 351.064, 269.681, 347.34, 294.681, 371.809, 334.574, 468.085, 347.872, 490.957, 296.809, 489.894, 276.596, 472.368, 259.211, 473.936, 245.745, 505.319, 222.34, 522.872, 179.787, 507.447, 121.809, 484.043, 84.0426, 398.404, 38.2979, 419.681, 344.149 )
|
||||||
polygons = [ PoolIntArray( 2, 19, 1, 0, 18 ), PoolIntArray( 2, 3, 17, 18 ), PoolIntArray( 3, 4, 15, 16, 17 ), PoolIntArray( 4, 5, 14, 15 ), PoolIntArray( 5, 6, 13, 14 ), PoolIntArray( 6, 7, 12, 13 ), PoolIntArray( 7, 8, 11, 12 ), PoolIntArray( 8, 9, 20, 10, 11 ) ]
|
polygons = [ PoolIntArray( 2, 19, 1, 0, 18 ), PoolIntArray( 2, 3, 17, 18 ), PoolIntArray( 3, 4, 15, 16, 17 ), PoolIntArray( 4, 5, 14, 15 ), PoolIntArray( 5, 6, 13, 14 ), PoolIntArray( 6, 7, 12, 13 ), PoolIntArray( 7, 8, 11, 12 ), PoolIntArray( 8, 9, 20, 10, 11 ) ]
|
||||||
bones = [ NodePath("Hip"), PoolRealArray( 0, 0, 0, 0, 0, 0.51, 0.51, 1, 1, 1, 1, 1, 1, 0.51, 0.51, 0, 0, 0, 0, 0, 1 ), NodePath("Hip/Chest"), PoolRealArray( 1, 1, 1, 1, 1, 0.51, 0.51, 0, 0, 0, 0, 0, 0, 0.51, 0.51, 1, 1, 1, 1, 1, 0 ), NodePath("Hip/Chest/Head"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/Chest/Head/Chin"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/LeftArm"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/LeftArm/LeftForearm"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/LeftArm/LeftForearm/LeftHand"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/RightArm"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/RightArm/RightForearm"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/RightArm/RightForearm/RightHand"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/LeftLeg"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/LeftLeg/LeftLowerLeg"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/LeftLeg/LeftLowerLeg/LeftFoot"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("RightLeg"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("RightLeg/RightLowerLeg"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("RightLeg/RightLowerLeg/RightFoot"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ) ]
|
bones = [ "Hip", PoolRealArray( 0, 0, 0, 0, 0, 0.51, 0.51, 1, 1, 1, 1, 1, 1, 0.51, 0.51, 0, 0, 0, 0, 0, 1 ), "Hip/Chest", PoolRealArray( 1, 1, 1, 1, 1, 0.51, 0.51, 0, 0, 0, 0, 0, 0, 0.51, 0.51, 1, 1, 1, 1, 1, 0 ), "Hip/Chest/Head", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/Chest/Head/Chin", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/LeftArm", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/LeftArm/LeftForearm", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/LeftArm/LeftForearm/LeftHand", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/RightArm", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/RightArm/RightForearm", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/RightArm/RightForearm/RightHand", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/LeftLeg", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/LeftLeg/LeftLowerLeg", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/LeftLeg/LeftLowerLeg/LeftFoot", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "RightLeg", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "RightLeg/RightLowerLeg", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "RightLeg/RightLowerLeg/RightFoot", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ) ]
|
||||||
internal_vertex_count = 21
|
internal_vertex_count = 21
|
||||||
|
|
||||||
[node name="LeftLeg" type="Polygon2D" parent="Sprite/Polygons"]
|
[node name="LeftLeg" type="Polygon2D" parent="Sprite/Polygons"]
|
||||||
@@ -1908,7 +1908,7 @@ skeleton = NodePath("../../Skeleton2D")
|
|||||||
polygon = PoolVector2Array( 65.7658, 390, 92.4325, 386.667, 119.099, 398.333, 119.099, 426.667, 120.766, 477.5, 107.433, 551.667, 129.099, 592.5, 163.266, 604.167, 188.266, 675, 173.266, 692.5, 20.7658, 686.667, 25.7658, 648.333, 29.9325, 608.333, 24.0992, 530.833, 54.9325, 472.5 )
|
polygon = PoolVector2Array( 65.7658, 390, 92.4325, 386.667, 119.099, 398.333, 119.099, 426.667, 120.766, 477.5, 107.433, 551.667, 129.099, 592.5, 163.266, 604.167, 188.266, 675, 173.266, 692.5, 20.7658, 686.667, 25.7658, 648.333, 29.9325, 608.333, 24.0992, 530.833, 54.9325, 472.5 )
|
||||||
uv = PoolVector2Array( 65.7658, 390, 92.4325, 386.667, 119.099, 398.333, 119.099, 426.667, 120.766, 477.5, 107.433, 551.667, 129.099, 592.5, 163.266, 604.167, 188.266, 675, 173.266, 692.5, 20.7658, 686.667, 25.7658, 648.333, 29.9325, 608.333, 24.0992, 530.833, 54.9325, 472.5 )
|
uv = PoolVector2Array( 65.7658, 390, 92.4325, 386.667, 119.099, 398.333, 119.099, 426.667, 120.766, 477.5, 107.433, 551.667, 129.099, 592.5, 163.266, 604.167, 188.266, 675, 173.266, 692.5, 20.7658, 686.667, 25.7658, 648.333, 29.9325, 608.333, 24.0992, 530.833, 54.9325, 472.5 )
|
||||||
polygons = [ PoolIntArray( 0, 1, 2, 3, 4, 14 ), PoolIntArray( 4, 5, 13, 14 ), PoolIntArray( 5, 6, 12, 13 ), PoolIntArray( 6, 7, 8, 9, 10, 11, 12 ) ]
|
polygons = [ PoolIntArray( 0, 1, 2, 3, 4, 14 ), PoolIntArray( 4, 5, 13, 14 ), PoolIntArray( 5, 6, 12, 13 ), PoolIntArray( 6, 7, 8, 9, 10, 11, 12 ) ]
|
||||||
bones = [ NodePath("Hip"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/Chest"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/Chest/Head"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/Chest/Head/Chin"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/LeftArm"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/LeftArm/LeftForearm"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/LeftArm/LeftForearm/LeftHand"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/RightArm"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/RightArm/RightForearm"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/RightArm/RightForearm/RightHand"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/LeftLeg"), PoolRealArray( 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/LeftLeg/LeftLowerLeg"), PoolRealArray( 0, 0, 0, 0, 0.03, 1, 0, 0, 0, 0, 0, 0, 0.53, 0.5, 0.03 ), NodePath("Hip/LeftLeg/LeftLowerLeg/LeftFoot"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0.53, 1, 1, 1, 1, 1, 0, 0, 0 ), NodePath("RightLeg"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("RightLeg/RightLowerLeg"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("RightLeg/RightLowerLeg/RightFoot"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ) ]
|
bones = [ "Hip", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/Chest", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/Chest/Head", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/Chest/Head/Chin", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/LeftArm", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/LeftArm/LeftForearm", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/LeftArm/LeftForearm/LeftHand", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/RightArm", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/RightArm/RightForearm", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/RightArm/RightForearm/RightHand", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/LeftLeg", PoolRealArray( 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/LeftLeg/LeftLowerLeg", PoolRealArray( 0, 0, 0, 0, 0.03, 1, 0, 0, 0, 0, 0, 0, 0.53, 0.5, 0.03 ), "Hip/LeftLeg/LeftLowerLeg/LeftFoot", PoolRealArray( 0, 0, 0, 0, 0, 0, 0.53, 1, 1, 1, 1, 1, 0, 0, 0 ), "RightLeg", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "RightLeg/RightLowerLeg", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "RightLeg/RightLowerLeg/RightFoot", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ) ]
|
||||||
internal_vertex_count = 15
|
internal_vertex_count = 15
|
||||||
|
|
||||||
[node name="Head" type="Polygon2D" parent="Sprite/Polygons"]
|
[node name="Head" type="Polygon2D" parent="Sprite/Polygons"]
|
||||||
@@ -1918,7 +1918,7 @@ skeleton = NodePath("../../Skeleton2D")
|
|||||||
polygon = PoolVector2Array( 616.26, 246.341, 555.285, 285.366, 508.13, 330.894, 482.114, 380.488, 482.114, 448.781, 492.683, 498.374, 552.846, 534.146, 656.911, 538.211, 773.984, 511.382, 807.317, 506.504, 813.821, 342.276, 789.431, 297.561, 757.724, 269.106, 669.106, 249.594 )
|
polygon = PoolVector2Array( 616.26, 246.341, 555.285, 285.366, 508.13, 330.894, 482.114, 380.488, 482.114, 448.781, 492.683, 498.374, 552.846, 534.146, 656.911, 538.211, 773.984, 511.382, 807.317, 506.504, 813.821, 342.276, 789.431, 297.561, 757.724, 269.106, 669.106, 249.594 )
|
||||||
uv = PoolVector2Array( 616.26, 246.341, 555.285, 285.366, 508.13, 330.894, 482.114, 380.488, 482.114, 448.781, 492.683, 498.374, 552.846, 534.146, 656.911, 538.211, 773.984, 511.382, 807.317, 506.504, 813.821, 342.276, 789.431, 297.561, 757.724, 269.106, 669.106, 249.594 )
|
uv = PoolVector2Array( 616.26, 246.341, 555.285, 285.366, 508.13, 330.894, 482.114, 380.488, 482.114, 448.781, 492.683, 498.374, 552.846, 534.146, 656.911, 538.211, 773.984, 511.382, 807.317, 506.504, 813.821, 342.276, 789.431, 297.561, 757.724, 269.106, 669.106, 249.594 )
|
||||||
polygons = [ PoolIntArray( 10, 11, 12, 13, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ) ]
|
polygons = [ PoolIntArray( 10, 11, 12, 13, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ) ]
|
||||||
bones = [ NodePath("Hip"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/Chest"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/Chest/Head"), PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ), NodePath("Hip/Chest/Head/Chin"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/LeftArm"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/LeftArm/LeftForearm"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/LeftArm/LeftForearm/LeftHand"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/RightArm"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/RightArm/RightForearm"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/RightArm/RightForearm/RightHand"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/LeftLeg"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/LeftLeg/LeftLowerLeg"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/LeftLeg/LeftLowerLeg/LeftFoot"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("RightLeg"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("RightLeg/RightLowerLeg"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("RightLeg/RightLowerLeg/RightFoot"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ) ]
|
bones = [ "Hip", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/Chest", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/Chest/Head", PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ), "Hip/Chest/Head/Chin", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/LeftArm", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/LeftArm/LeftForearm", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/LeftArm/LeftForearm/LeftHand", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/RightArm", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/RightArm/RightForearm", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/RightArm/RightForearm/RightHand", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/LeftLeg", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/LeftLeg/LeftLowerLeg", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/LeftLeg/LeftLowerLeg/LeftFoot", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "RightLeg", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "RightLeg/RightLowerLeg", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "RightLeg/RightLowerLeg/RightFoot", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ) ]
|
||||||
internal_vertex_count = 14
|
internal_vertex_count = 14
|
||||||
|
|
||||||
[node name="Chin" type="Polygon2D" parent="Sprite/Polygons"]
|
[node name="Chin" type="Polygon2D" parent="Sprite/Polygons"]
|
||||||
@@ -1929,7 +1929,7 @@ skeleton = NodePath("../../Skeleton2D")
|
|||||||
polygon = PoolVector2Array( 486, 576, 812, 562, 823, 605, 790, 666, 722, 690, 547, 686, 493, 646 )
|
polygon = PoolVector2Array( 486, 576, 812, 562, 823, 605, 790, 666, 722, 690, 547, 686, 493, 646 )
|
||||||
uv = PoolVector2Array( 486, 576, 812, 562, 823, 605, 790, 666, 722, 690, 547, 686, 493, 646 )
|
uv = PoolVector2Array( 486, 576, 812, 562, 823, 605, 790, 666, 722, 690, 547, 686, 493, 646 )
|
||||||
polygons = [ PoolIntArray( 0, 1, 2, 3, 4, 5, 6 ) ]
|
polygons = [ PoolIntArray( 0, 1, 2, 3, 4, 5, 6 ) ]
|
||||||
bones = [ NodePath("Hip"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/Chest"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/Chest/Head"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/Chest/Head/Chin"), PoolRealArray( 1, 1, 1, 1, 1, 1, 1 ), NodePath("Hip/LeftArm"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/LeftArm/LeftForearm"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/LeftArm/LeftForearm/LeftHand"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/RightArm"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/RightArm/RightForearm"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/RightArm/RightForearm/RightHand"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/LeftLeg"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/LeftLeg/LeftLowerLeg"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/LeftLeg/LeftLowerLeg/LeftFoot"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0 ), NodePath("RightLeg"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0 ), NodePath("RightLeg/RightLowerLeg"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0 ), NodePath("RightLeg/RightLowerLeg/RightFoot"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0 ) ]
|
bones = [ "Hip", PoolRealArray( 0, 0, 0, 0, 0, 0, 0 ), "Hip/Chest", PoolRealArray( 0, 0, 0, 0, 0, 0, 0 ), "Hip/Chest/Head", PoolRealArray( 0, 0, 0, 0, 0, 0, 0 ), "Hip/Chest/Head/Chin", PoolRealArray( 1, 1, 1, 1, 1, 1, 1 ), "Hip/LeftArm", PoolRealArray( 0, 0, 0, 0, 0, 0, 0 ), "Hip/LeftArm/LeftForearm", PoolRealArray( 0, 0, 0, 0, 0, 0, 0 ), "Hip/LeftArm/LeftForearm/LeftHand", PoolRealArray( 0, 0, 0, 0, 0, 0, 0 ), "Hip/RightArm", PoolRealArray( 0, 0, 0, 0, 0, 0, 0 ), "Hip/RightArm/RightForearm", PoolRealArray( 0, 0, 0, 0, 0, 0, 0 ), "Hip/RightArm/RightForearm/RightHand", PoolRealArray( 0, 0, 0, 0, 0, 0, 0 ), "Hip/LeftLeg", PoolRealArray( 0, 0, 0, 0, 0, 0, 0 ), "Hip/LeftLeg/LeftLowerLeg", PoolRealArray( 0, 0, 0, 0, 0, 0, 0 ), "Hip/LeftLeg/LeftLowerLeg/LeftFoot", PoolRealArray( 0, 0, 0, 0, 0, 0, 0 ), "RightLeg", PoolRealArray( 0, 0, 0, 0, 0, 0, 0 ), "RightLeg/RightLowerLeg", PoolRealArray( 0, 0, 0, 0, 0, 0, 0 ), "RightLeg/RightLowerLeg/RightFoot", PoolRealArray( 0, 0, 0, 0, 0, 0, 0 ) ]
|
||||||
internal_vertex_count = 7
|
internal_vertex_count = 7
|
||||||
|
|
||||||
[node name="LeftArm" type="Polygon2D" parent="Sprite/Polygons"]
|
[node name="LeftArm" type="Polygon2D" parent="Sprite/Polygons"]
|
||||||
@@ -1939,7 +1939,7 @@ skeleton = NodePath("../../Skeleton2D")
|
|||||||
polygon = PoolVector2Array( 89.9521, 16.268, 77.5119, 15.7895, 55.5023, 25.8373, 39.2344, 29.1866, 33.9712, 59.3302, 27.2727, 154.545, 29.1865, 180.861, 33.4928, 196.172, 20.5741, 240.67, 36.842, 321.531, 61.244, 359.809, 125.837, 353.11, 137.799, 309.569, 122.967, 287.56, 106.22, 202.871, 92.3444, 191.866, 91.866, 179.426, 127.273, 70.3349, 134.928, 48.3254, 119.617, 30.622 )
|
polygon = PoolVector2Array( 89.9521, 16.268, 77.5119, 15.7895, 55.5023, 25.8373, 39.2344, 29.1866, 33.9712, 59.3302, 27.2727, 154.545, 29.1865, 180.861, 33.4928, 196.172, 20.5741, 240.67, 36.842, 321.531, 61.244, 359.809, 125.837, 353.11, 137.799, 309.569, 122.967, 287.56, 106.22, 202.871, 92.3444, 191.866, 91.866, 179.426, 127.273, 70.3349, 134.928, 48.3254, 119.617, 30.622 )
|
||||||
uv = PoolVector2Array( 89.9521, 16.268, 77.5119, 15.7895, 55.5023, 25.8373, 39.2344, 29.1866, 33.9712, 59.3302, 27.2727, 154.545, 29.1865, 180.861, 33.4928, 196.172, 20.5741, 240.67, 36.842, 321.531, 61.244, 359.809, 125.837, 353.11, 137.799, 309.569, 122.967, 287.56, 106.22, 202.871, 92.3444, 191.866, 91.866, 179.426, 127.273, 70.3349, 134.928, 48.3254, 119.617, 30.622 )
|
uv = PoolVector2Array( 89.9521, 16.268, 77.5119, 15.7895, 55.5023, 25.8373, 39.2344, 29.1866, 33.9712, 59.3302, 27.2727, 154.545, 29.1865, 180.861, 33.4928, 196.172, 20.5741, 240.67, 36.842, 321.531, 61.244, 359.809, 125.837, 353.11, 137.799, 309.569, 122.967, 287.56, 106.22, 202.871, 92.3444, 191.866, 91.866, 179.426, 127.273, 70.3349, 134.928, 48.3254, 119.617, 30.622 )
|
||||||
polygons = [ PoolIntArray( 3, 2, 1, 0, 19, 18, 17, 4 ), PoolIntArray( 4, 5, 16, 17 ), PoolIntArray( 16, 15, 7, 6 ), PoolIntArray( 16, 6, 5 ), PoolIntArray( 7, 8, 14, 15 ), PoolIntArray( 14, 13, 9, 8 ), PoolIntArray( 13, 12, 11, 10, 9 ) ]
|
polygons = [ PoolIntArray( 3, 2, 1, 0, 19, 18, 17, 4 ), PoolIntArray( 4, 5, 16, 17 ), PoolIntArray( 16, 15, 7, 6 ), PoolIntArray( 16, 6, 5 ), PoolIntArray( 7, 8, 14, 15 ), PoolIntArray( 14, 13, 9, 8 ), PoolIntArray( 13, 12, 11, 10, 9 ) ]
|
||||||
bones = [ NodePath("Hip"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/Chest"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/Chest/RightArm"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/Chest/RightArm/RightForearm"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/Chest/RightArm/RightForearm/RightHand"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/Chest/Head"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/Chest/Head/Chin"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/Chest/LeftArm"), PoolRealArray( 1, 1, 1, 1, 1, 0.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.5, 1, 1, 1 ), NodePath("Hip/Chest/LeftArm/LeftForearm"), PoolRealArray( 0, 0, 0, 0, 0, 0, 1, 1, 1, 0.5, 0, 0, 0, 0.5, 1, 1, 0.5, 0, 0, 0 ), NodePath("Hip/Chest/LeftArm/LeftForearm/LeftHand"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.5, 1, 1, 1, 0.5, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/LeftLeg"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/LeftLeg/LeftLowerLeg"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/LeftLeg/LeftLowerLeg/LeftFoot"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/RightLeg"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/RightLeg/RightLowerLeg"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), NodePath("Hip/RightLeg/RightLowerLeg/RightFoot"), PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ) ]
|
bones = [ "Hip", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/Chest", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/Chest/RightArm", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/Chest/RightArm/RightForearm", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/Chest/RightArm/RightForearm/RightHand", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/Chest/Head", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/Chest/Head/Chin", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/Chest/LeftArm", PoolRealArray( 1, 1, 1, 1, 1, 0.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.5, 1, 1, 1 ), "Hip/Chest/LeftArm/LeftForearm", PoolRealArray( 0, 0, 0, 0, 0, 0, 1, 1, 1, 0.5, 0, 0, 0, 0.5, 1, 1, 0.5, 0, 0, 0 ), "Hip/Chest/LeftArm/LeftForearm/LeftHand", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.5, 1, 1, 1, 0.5, 0, 0, 0, 0, 0, 0 ), "Hip/LeftLeg", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/LeftLeg/LeftLowerLeg", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/LeftLeg/LeftLowerLeg/LeftFoot", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/RightLeg", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/RightLeg/RightLowerLeg", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "Hip/RightLeg/RightLowerLeg/RightFoot", PoolRealArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ) ]
|
||||||
internal_vertex_count = 20
|
internal_vertex_count = 20
|
||||||
|
|
||||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ compress/bptc_ldr=0
|
|||||||
compress/normal_map=0
|
compress/normal_map=0
|
||||||
flags/repeat=0
|
flags/repeat=0
|
||||||
flags/filter=true
|
flags/filter=true
|
||||||
flags/mipmaps=false
|
flags/mipmaps=true
|
||||||
flags/anisotropic=false
|
flags/anisotropic=false
|
||||||
flags/srgb=2
|
flags/srgb=2
|
||||||
process/fix_alpha_border=true
|
process/fix_alpha_border=true
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 117 KiB After Width: | Height: | Size: 564 KiB |
@@ -61,64 +61,68 @@ shader_param/amount = 4.0
|
|||||||
|
|
||||||
[node name="SpriteShaders" type="Node2D"]
|
[node name="SpriteShaders" type="Node2D"]
|
||||||
material = SubResource( 1 )
|
material = SubResource( 1 )
|
||||||
position = Vector2( 263.737, 179.444 )
|
position = Vector2( 512, 300 )
|
||||||
scale = Vector2( 0.3, 0.3 )
|
|
||||||
|
|
||||||
[node name="Normal" type="Sprite" parent="."]
|
[node name="Normal" type="Sprite" parent="."]
|
||||||
material = SubResource( 2 )
|
material = SubResource( 2 )
|
||||||
position = Vector2( -2.16144, 0 )
|
position = Vector2( -300, -150 )
|
||||||
|
scale = Vector2( 0.375, 0.375 )
|
||||||
texture = ExtResource( 2 )
|
texture = ExtResource( 2 )
|
||||||
|
|
||||||
[node name="Outline" type="Sprite" parent="."]
|
[node name="Outline" type="Sprite" parent="."]
|
||||||
material = SubResource( 3 )
|
material = SubResource( 3 )
|
||||||
position = Vector2( 400, 0 )
|
position = Vector2( -150, -150 )
|
||||||
|
scale = Vector2( 0.375, 0.375 )
|
||||||
texture = ExtResource( 2 )
|
texture = ExtResource( 2 )
|
||||||
|
|
||||||
[node name="Aura" type="Sprite" parent="."]
|
[node name="Aura" type="Sprite" parent="."]
|
||||||
material = SubResource( 4 )
|
material = SubResource( 4 )
|
||||||
position = Vector2( 800, 0 )
|
position = Vector2( 0, -150 )
|
||||||
|
scale = Vector2( 0.375, 0.375 )
|
||||||
texture = ExtResource( 2 )
|
texture = ExtResource( 2 )
|
||||||
|
|
||||||
[node name="Blur" type="Sprite" parent="."]
|
[node name="Blur" type="Sprite" parent="."]
|
||||||
material = SubResource( 5 )
|
material = SubResource( 5 )
|
||||||
position = Vector2( 1200, 0 )
|
position = Vector2( 150, -150 )
|
||||||
|
scale = Vector2( 0.375, 0.375 )
|
||||||
texture = ExtResource( 2 )
|
texture = ExtResource( 2 )
|
||||||
|
|
||||||
[node name="Fatty" type="Sprite" parent="."]
|
[node name="Fatty" type="Sprite" parent="."]
|
||||||
material = SubResource( 6 )
|
material = SubResource( 6 )
|
||||||
position = Vector2( 1600, 0 )
|
position = Vector2( 300, -150 )
|
||||||
|
scale = Vector2( 0.375, 0.375 )
|
||||||
texture = ExtResource( 2 )
|
texture = ExtResource( 2 )
|
||||||
|
|
||||||
[node name="DropShadow" type="Sprite" parent="."]
|
[node name="DropShadow" type="Sprite" parent="."]
|
||||||
material = SubResource( 7 )
|
material = SubResource( 7 )
|
||||||
position = Vector2( 0, 800 )
|
position = Vector2( -300, 150 )
|
||||||
|
scale = Vector2( 0.375, 0.375 )
|
||||||
texture = ExtResource( 2 )
|
texture = ExtResource( 2 )
|
||||||
|
|
||||||
[node name="OffsetShadow" type="Sprite" parent="."]
|
[node name="OffsetShadow" type="Sprite" parent="."]
|
||||||
material = SubResource( 8 )
|
material = SubResource( 8 )
|
||||||
position = Vector2( 400, 800 )
|
position = Vector2( -150, 150 )
|
||||||
|
scale = Vector2( 0.375, 0.375 )
|
||||||
texture = ExtResource( 2 )
|
texture = ExtResource( 2 )
|
||||||
|
|
||||||
[node name="Silouette" type="Sprite" parent="."]
|
[node name="Silouette" type="Sprite" parent="."]
|
||||||
material = SubResource( 9 )
|
material = SubResource( 9 )
|
||||||
position = Vector2( 800, 800 )
|
position = Vector2( 0, 150 )
|
||||||
|
scale = Vector2( 0.375, 0.375 )
|
||||||
texture = ExtResource( 2 )
|
texture = ExtResource( 2 )
|
||||||
|
|
||||||
[node name="Glow" type="Sprite" parent="."]
|
[node name="Glow" type="Sprite" parent="."]
|
||||||
material = SubResource( 10 )
|
material = SubResource( 10 )
|
||||||
position = Vector2( 1200, 800 )
|
position = Vector2( 150, 150 )
|
||||||
|
scale = Vector2( 0.375, 0.375 )
|
||||||
texture = ExtResource( 2 )
|
texture = ExtResource( 2 )
|
||||||
|
|
||||||
[node name="Disintegrate" type="Sprite" parent="."]
|
[node name="Disintegrate" type="Sprite" parent="."]
|
||||||
material = SubResource( 11 )
|
material = SubResource( 11 )
|
||||||
position = Vector2( 1600, 800 )
|
position = Vector2( 300, 150 )
|
||||||
|
scale = Vector2( 0.375, 0.375 )
|
||||||
texture = ExtResource( 2 )
|
texture = ExtResource( 2 )
|
||||||
region_rect = Rect2( 141, 115, 39, 6 )
|
region_rect = Rect2( 141, 115, 39, 6 )
|
||||||
|
|
||||||
[node name="Camera2D" type="Camera2D" parent="."]
|
[node name="Camera2D" type="Camera2D" parent="."]
|
||||||
offset = Vector2( 248, 120 )
|
|
||||||
current = true
|
current = true
|
||||||
drag_margin_left = 0.0
|
|
||||||
drag_margin_top = 0.0
|
|
||||||
drag_margin_right = 0.0
|
|
||||||
drag_margin_bottom = 0.0
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
extends Control
|
extends Control
|
||||||
|
|
||||||
|
|
||||||
const trans_list = ["Linear", "Sine", "Quint", "Quart", "Quad", "Expo", "Elastic", "Cubic", "Circ", "Bounce", "Back"]
|
const trans_list = ["Linear", "Sine", "Quint", "Quart", "Quad", "Expo", "Elastic", "Cubic", "Circ", "Bounce", "Back"]
|
||||||
const eases_list = ["In", "Out", "InOut", "OutIn"]
|
const eases_list = ["In", "Out", "InOut", "OutIn"]
|
||||||
const modes_list = ["Move", "Color", "Scale", "Rotate", "Callback", "Follow", "Repeat", "Pause"]
|
const modes_list = ["Move", "Color", "Scale", "Rotate", "Callback", "Follow", "Repeat", "Pause"]
|
||||||
@@ -29,6 +30,7 @@ onready var follow_mode = modes_vbox.get_node(@"Follow")
|
|||||||
onready var repeat_mode = modes_vbox.get_node(@"Repeat")
|
onready var repeat_mode = modes_vbox.get_node(@"Repeat")
|
||||||
onready var paused_mode = modes_vbox.get_node(@"Pause")
|
onready var paused_mode = modes_vbox.get_node(@"Pause")
|
||||||
|
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
for index in range(trans_list.size()):
|
for index in range(trans_list.size()):
|
||||||
trans_vbox.get_node(trans_list[index]).connect("pressed", self, "on_trans_changed", [index])
|
trans_vbox.get_node(trans_list[index]).connect("pressed", self, "on_trans_changed", [index])
|
||||||
|
|||||||
@@ -91,8 +91,8 @@ custom_constants/separation = 20
|
|||||||
alignment = 1
|
alignment = 1
|
||||||
|
|
||||||
[node name="Modes" type="VBoxContainer" parent="Controls"]
|
[node name="Modes" type="VBoxContainer" parent="Controls"]
|
||||||
margin_left = 37.0
|
margin_left = 23.0
|
||||||
margin_right = 110.0
|
margin_right = 96.0
|
||||||
margin_bottom = 383.0
|
margin_bottom = 383.0
|
||||||
rect_min_size = Vector2( 70, 0 )
|
rect_min_size = Vector2( 70, 0 )
|
||||||
size_flags_vertical = 0
|
size_flags_vertical = 0
|
||||||
@@ -178,8 +178,8 @@ toggle_mode = true
|
|||||||
text = "pause"
|
text = "pause"
|
||||||
|
|
||||||
[node name="Transitions" type="VBoxContainer" parent="Controls"]
|
[node name="Transitions" type="VBoxContainer" parent="Controls"]
|
||||||
margin_left = 130.0
|
margin_left = 116.0
|
||||||
margin_right = 215.0
|
margin_right = 201.0
|
||||||
margin_bottom = 518.0
|
margin_bottom = 518.0
|
||||||
rect_min_size = Vector2( 70, 0 )
|
rect_min_size = Vector2( 70, 0 )
|
||||||
size_flags_vertical = 0
|
size_flags_vertical = 0
|
||||||
@@ -283,8 +283,8 @@ toggle_mode = true
|
|||||||
text = "back"
|
text = "back"
|
||||||
|
|
||||||
[node name="Eases" type="VBoxContainer" parent="Controls"]
|
[node name="Eases" type="VBoxContainer" parent="Controls"]
|
||||||
margin_left = 235.0
|
margin_left = 221.0
|
||||||
margin_right = 305.0
|
margin_right = 291.0
|
||||||
margin_bottom = 203.0
|
margin_bottom = 203.0
|
||||||
rect_min_size = Vector2( 70, 0 )
|
rect_min_size = Vector2( 70, 0 )
|
||||||
size_flags_vertical = 0
|
size_flags_vertical = 0
|
||||||
@@ -334,7 +334,7 @@ toggle_mode = true
|
|||||||
text = "out_in"
|
text = "out_in"
|
||||||
|
|
||||||
[node name="ColorFrom" type="VBoxContainer" parent="Controls"]
|
[node name="ColorFrom" type="VBoxContainer" parent="Controls"]
|
||||||
margin_left = 325.0
|
margin_left = 311.0
|
||||||
margin_right = 646.0
|
margin_right = 646.0
|
||||||
margin_bottom = 570.0
|
margin_bottom = 570.0
|
||||||
rect_min_size = Vector2( 320, 570 )
|
rect_min_size = Vector2( 320, 570 )
|
||||||
@@ -349,7 +349,7 @@ text = "Color From:"
|
|||||||
|
|
||||||
[node name="ColorPicker" type="ColorPicker" parent="Controls/ColorFrom"]
|
[node name="ColorPicker" type="ColorPicker" parent="Controls/ColorFrom"]
|
||||||
margin_top = 27.0
|
margin_top = 27.0
|
||||||
margin_right = 321.0
|
margin_right = 335.0
|
||||||
margin_bottom = 539.0
|
margin_bottom = 539.0
|
||||||
size_flags_horizontal = 2
|
size_flags_horizontal = 2
|
||||||
size_flags_vertical = 2
|
size_flags_vertical = 2
|
||||||
@@ -359,7 +359,7 @@ __meta__ = {
|
|||||||
|
|
||||||
[node name="ColorTo" type="VBoxContainer" parent="Controls"]
|
[node name="ColorTo" type="VBoxContainer" parent="Controls"]
|
||||||
margin_left = 666.0
|
margin_left = 666.0
|
||||||
margin_right = 987.0
|
margin_right = 1001.0
|
||||||
margin_bottom = 570.0
|
margin_bottom = 570.0
|
||||||
rect_min_size = Vector2( 320, 570 )
|
rect_min_size = Vector2( 320, 570 )
|
||||||
rect_clip_content = true
|
rect_clip_content = true
|
||||||
@@ -374,7 +374,7 @@ text = "Color To:"
|
|||||||
|
|
||||||
[node name="ColorPicker" type="ColorPicker" parent="Controls/ColorTo"]
|
[node name="ColorPicker" type="ColorPicker" parent="Controls/ColorTo"]
|
||||||
margin_top = 27.0
|
margin_top = 27.0
|
||||||
margin_right = 321.0
|
margin_right = 335.0
|
||||||
margin_bottom = 539.0
|
margin_bottom = 539.0
|
||||||
size_flags_horizontal = 2
|
size_flags_horizontal = 2
|
||||||
size_flags_vertical = 2
|
size_flags_vertical = 2
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
extends Camera
|
extends Camera
|
||||||
|
|
||||||
|
|
||||||
const MOUSE_SENSITIVITY = 0.002
|
const MOUSE_SENSITIVITY = 0.002
|
||||||
const MOVE_SPEED = 1.5
|
const MOVE_SPEED = 1.5
|
||||||
|
|
||||||
|
|||||||
@@ -9,5 +9,6 @@ background_mode = 2
|
|||||||
background_sky = SubResource( 1 )
|
background_sky = SubResource( 1 )
|
||||||
fog_sun_amount = 1.0
|
fog_sun_amount = 1.0
|
||||||
fog_depth_begin = 0.0
|
fog_depth_begin = 0.0
|
||||||
tonemap_mode = 2
|
tonemap_mode = 4
|
||||||
tonemap_white = 6.0
|
tonemap_white = 6.0
|
||||||
|
ssao_intensity = 0.5
|
||||||
|
|||||||
@@ -27,9 +27,9 @@ cycle_gi_mode={
|
|||||||
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":32,"physical_scancode":0,"unicode":0,"echo":false,"script":null)
|
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":32,"physical_scancode":0,"unicode":0,"echo":false,"script":null)
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
toggle_reflection_probe={
|
cycle_reflection_probe_mode={
|
||||||
"deadzone": 0.5,
|
"deadzone": 0.5,
|
||||||
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":82,"physical_scancode":0,"unicode":0,"echo":false,"script":null)
|
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":0,"physical_scancode":82,"unicode":0,"echo":false,"script":null)
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
move_forward={
|
move_forward={
|
||||||
@@ -62,6 +62,11 @@ toggle_mouse_capture={
|
|||||||
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":0,"physical_scancode":16777217,"unicode":0,"echo":false,"script":null)
|
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":0,"physical_scancode":16777217,"unicode":0,"echo":false,"script":null)
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
toggle_ssao={
|
||||||
|
"deadzone": 0.5,
|
||||||
|
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":0,"physical_scancode":70,"unicode":0,"echo":false,"script":null)
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
[physics]
|
[physics]
|
||||||
|
|
||||||
@@ -70,4 +75,7 @@ common/enable_pause_aware_picking=true
|
|||||||
[rendering]
|
[rendering]
|
||||||
|
|
||||||
quality/shadows/filter_mode=2
|
quality/shadows/filter_mode=2
|
||||||
|
quality/filters/use_fxaa=true
|
||||||
|
quality/filters/use_debanding=true
|
||||||
environment/default_environment="res://default_env.tres"
|
environment/default_environment="res://default_env.tres"
|
||||||
|
quality/filters/use_debanding.mobile=false
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
extends Spatial
|
extends Spatial
|
||||||
|
|
||||||
|
|
||||||
enum GIMode {
|
enum GIMode {
|
||||||
NONE,
|
NONE,
|
||||||
BAKED_LIGHTMAP_ALL,
|
BAKED_LIGHTMAP_ALL,
|
||||||
@@ -8,6 +9,13 @@ enum GIMode {
|
|||||||
MAX, # Maximum value of the enum, used internally.
|
MAX, # Maximum value of the enum, used internally.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
enum ReflectionProbeMode {
|
||||||
|
NONE,
|
||||||
|
ONCE,
|
||||||
|
ALWAYS,
|
||||||
|
MAX,
|
||||||
|
}
|
||||||
|
|
||||||
# Keep this in sync with the GIMode enum (except for MAX).
|
# Keep this in sync with the GIMode enum (except for MAX).
|
||||||
const GI_MODE_TEXTS = [
|
const GI_MODE_TEXTS = [
|
||||||
"Environment Lighting (Fastest)",
|
"Environment Lighting (Fastest)",
|
||||||
@@ -16,25 +24,39 @@ const GI_MODE_TEXTS = [
|
|||||||
"GIProbe (Slow)",
|
"GIProbe (Slow)",
|
||||||
]
|
]
|
||||||
|
|
||||||
var gi_mode = GIMode.NONE
|
# Keep this in sync with the ReflectionProbeMode enum (except for MAX).
|
||||||
var use_reflection_probe = false
|
const REFLECTION_PROBE_MODE_TEXTS = [
|
||||||
|
"Disabled - Using environment, VoxelGI or SDFGI reflections (Fastest)",
|
||||||
|
"Enabled - \"Once\" Update Mode (Average)",
|
||||||
|
"Enabled - \"Always\" Update Mode (Slow)",
|
||||||
|
]
|
||||||
|
|
||||||
|
var gi_mode = GIMode.NONE
|
||||||
|
var reflection_probe_mode = ReflectionProbeMode.NONE
|
||||||
|
var use_ssao = false
|
||||||
|
|
||||||
|
onready var environment = preload("res://default_env.tres")
|
||||||
onready var gi_mode_label = $GIMode
|
onready var gi_mode_label = $GIMode
|
||||||
onready var reflection_probe_mode_label = $ReflectionProbeMode
|
onready var reflection_probe_mode_label = $ReflectionProbeMode
|
||||||
|
onready var ssao_label = $SSAO
|
||||||
onready var reflection_probe = $Camera/ReflectiveSphere/ReflectionProbe
|
onready var reflection_probe = $Camera/ReflectiveSphere/ReflectionProbe
|
||||||
|
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
set_gi_mode(GIMode.NONE)
|
set_gi_mode(GIMode.NONE)
|
||||||
set_use_reflection_probe(false)
|
set_reflection_probe_mode(ReflectionProbeMode.NONE)
|
||||||
|
set_use_ssao(use_ssao)
|
||||||
|
|
||||||
|
|
||||||
func _input(event):
|
func _input(event):
|
||||||
if event.is_action_pressed("cycle_gi_mode"):
|
if event.is_action_pressed("cycle_gi_mode"):
|
||||||
set_gi_mode(wrapi(gi_mode + 1, 0, GIMode.MAX))
|
set_gi_mode(wrapi(gi_mode + 1, 0, GIMode.MAX))
|
||||||
|
|
||||||
if event.is_action_pressed("toggle_reflection_probe"):
|
if event.is_action_pressed("cycle_reflection_probe_mode"):
|
||||||
set_use_reflection_probe(not use_reflection_probe)
|
set_reflection_probe_mode(wrapi(reflection_probe_mode + 1, 0, ReflectionProbeMode.MAX))
|
||||||
|
|
||||||
|
if event.is_action_pressed("toggle_ssao"):
|
||||||
|
set_use_ssao(not use_ssao)
|
||||||
|
|
||||||
|
|
||||||
func set_gi_mode(p_gi_mode):
|
func set_gi_mode(p_gi_mode):
|
||||||
@@ -103,12 +125,24 @@ func set_gi_mode(p_gi_mode):
|
|||||||
$CornerSpotLight.light_bake_mode = Light.BAKE_INDIRECT
|
$CornerSpotLight.light_bake_mode = Light.BAKE_INDIRECT
|
||||||
|
|
||||||
|
|
||||||
func set_use_reflection_probe(p_visible):
|
func set_reflection_probe_mode(p_reflection_probe_mode):
|
||||||
use_reflection_probe = p_visible
|
reflection_probe_mode = p_reflection_probe_mode
|
||||||
|
reflection_probe_mode_label.text = "Reflection probe: %s " % REFLECTION_PROBE_MODE_TEXTS[reflection_probe_mode]
|
||||||
|
|
||||||
if p_visible:
|
match p_reflection_probe_mode:
|
||||||
reflection_probe_mode_label.text = "Current reflection probe mode: Enabled - Using reflection probe (Average)"
|
ReflectionProbeMode.NONE:
|
||||||
else:
|
reflection_probe.visible = false
|
||||||
reflection_probe_mode_label.text = "Current reflection probe mode: Disabled - Using environment or GIProbe reflections (Fast)"
|
reflection_probe.update_mode = ReflectionProbe.UPDATE_ONCE
|
||||||
|
ReflectionProbeMode.ONCE:
|
||||||
|
reflection_probe.visible = true
|
||||||
|
reflection_probe.update_mode = ReflectionProbe.UPDATE_ONCE
|
||||||
|
ReflectionProbeMode.ALWAYS:
|
||||||
|
reflection_probe.visible = true
|
||||||
|
reflection_probe.update_mode = ReflectionProbe.UPDATE_ALWAYS
|
||||||
|
|
||||||
reflection_probe.visible = p_visible
|
|
||||||
|
func set_use_ssao(p_use_ssao):
|
||||||
|
use_ssao = p_use_ssao
|
||||||
|
ssao_label.text = "Screen-space ambient occlusion: %s" % "Enabled (Slow)" if use_ssao else "Disabled (Fastest)"
|
||||||
|
|
||||||
|
environment.ssao_enabled = use_ssao
|
||||||
|
|||||||
@@ -84,6 +84,8 @@ data = SubResource( 1 )
|
|||||||
[node name="Sun" type="DirectionalLight" parent="."]
|
[node name="Sun" type="DirectionalLight" parent="."]
|
||||||
transform = Transform( 0.889832, -0.251497, 0.380722, 0, 0.834387, 0.551179, -0.456289, -0.490456, 0.742464, 4.47302, 6.47568, 8.72305 )
|
transform = Transform( 0.889832, -0.251497, 0.380722, 0, 0.834387, 0.551179, -0.456289, -0.490456, 0.742464, 4.47302, 6.47568, 8.72305 )
|
||||||
shadow_enabled = true
|
shadow_enabled = true
|
||||||
|
directional_shadow_normal_bias = 0.1
|
||||||
|
directional_shadow_bias_split_scale = 1.0
|
||||||
directional_shadow_max_distance = 85.0
|
directional_shadow_max_distance = 85.0
|
||||||
|
|
||||||
[node name="GrateOmniLight" type="OmniLight" parent="."]
|
[node name="GrateOmniLight" type="OmniLight" parent="."]
|
||||||
@@ -133,7 +135,7 @@ material/0 = SubResource( 3 )
|
|||||||
[node name="ReflectionProbe" type="ReflectionProbe" parent="Camera/ReflectiveSphere"]
|
[node name="ReflectionProbe" type="ReflectionProbe" parent="Camera/ReflectiveSphere"]
|
||||||
transform = Transform( 1, -8.38189e-09, -8.9407e-08, 5.58791e-09, 1, -5.21541e-07, 4.47035e-08, 1.11759e-07, 1, 0, 0, 0 )
|
transform = Transform( 1, -8.38189e-09, -8.9407e-08, 5.58791e-09, 1, -5.21541e-07, 4.47035e-08, 1.11759e-07, 1, 0, 0, 0 )
|
||||||
max_distance = 50.0
|
max_distance = 50.0
|
||||||
extents = Vector3( 10, 10, 10 )
|
extents = Vector3( 2, 2, 2 )
|
||||||
box_projection = true
|
box_projection = true
|
||||||
enable_shadows = true
|
enable_shadows = true
|
||||||
|
|
||||||
@@ -152,20 +154,26 @@ margin_left = 16.0
|
|||||||
margin_top = 40.0
|
margin_top = 40.0
|
||||||
margin_right = 272.0
|
margin_right = 272.0
|
||||||
margin_bottom = 54.0
|
margin_bottom = 54.0
|
||||||
text = "Reflection probe:"
|
text = "Disabled - Using environment, VoxelGI or SDFGI reflections (Fastest)"
|
||||||
__meta__ = {
|
|
||||||
"_edit_use_anchors_": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[node name="Label" type="Label" parent="."]
|
[node name="SSAO" type="Label" parent="."]
|
||||||
margin_left = 16.0
|
margin_left = 16.0
|
||||||
margin_top = 64.0
|
margin_top = 64.0
|
||||||
margin_right = 454.0
|
margin_right = 455.0
|
||||||
margin_bottom = 78.0
|
margin_bottom = 78.0
|
||||||
text = "Press Space to cycle between GI modes, R to toggle reflection probe
|
text = "Screen-space ambient occlusion: Disabled (Fastest)"
|
||||||
Press Esc or F10 to toggle mouse capture"
|
|
||||||
__meta__ = {
|
[node name="Label" type="Label" parent="."]
|
||||||
"_edit_use_anchors_": false
|
anchor_top = 1.0
|
||||||
}
|
anchor_bottom = 1.0
|
||||||
|
margin_left = 16.0
|
||||||
|
margin_top = -89.0
|
||||||
|
margin_right = 496.0
|
||||||
|
margin_bottom = -15.0
|
||||||
|
custom_constants/line_spacing = 6
|
||||||
|
text = "Space: Cycle between GI modes
|
||||||
|
R: Cycle reflection probe modes
|
||||||
|
F: Cycle between screen-space lighting effect modes
|
||||||
|
Escape or F10: Toggle mouse capture"
|
||||||
|
|
||||||
[editable path="GlowingBox"]
|
[editable path="GlowingBox"]
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
tool
|
tool
|
||||||
extends Spatial
|
extends Spatial
|
||||||
|
|
||||||
|
|
||||||
export(NodePath) var skeleton_path setget _set_skeleton_path
|
export(NodePath) var skeleton_path setget _set_skeleton_path
|
||||||
export(String) var bone_name = ""
|
export(String) var bone_name = ""
|
||||||
export(int, "_process", "_physics_process", "_notification", "none") var update_mode = 0 setget _set_update
|
export(int, "_process", "_physics_process", "_notification", "none") var update_mode = 0 setget _set_update
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
tool
|
tool
|
||||||
extends EditorPlugin
|
extends EditorPlugin
|
||||||
|
|
||||||
|
|
||||||
func _enter_tree():
|
func _enter_tree():
|
||||||
# Plugin Initialization here!
|
# Plugin Initialization here!
|
||||||
add_custom_type("IK_LookAt", "Spatial", preload("ik_look_at.gd"), preload("ik_look_at.png"))
|
add_custom_type("IK_LookAt", "Spatial", preload("ik_look_at.gd"), preload("ik_look_at.png"))
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
extends Button
|
extends Button
|
||||||
|
|
||||||
|
|
||||||
export(String, FILE) var scene_to_change_to = null
|
export(String, FILE) var scene_to_change_to = null
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user