Compare commits
13 commits
| Author | SHA1 | Date | |
|---|---|---|---|
| f0f7f6b42b | |||
| 68cfe89f1d | |||
| 161f87da75 | |||
| 941912d7f1 | |||
| 32453f2e9d | |||
| 73a2fe42ad | |||
| 2a7c402cd0 | |||
| e1931f27e1 | |||
| 0cdddee7b1 | |||
| f15f38bfc4 | |||
|
|
a41ca5669b | ||
|
|
8a79fc869a | ||
|
|
45aca9e7b4 |
568 changed files with 1679 additions and 19420 deletions
|
|
@ -1,6 +0,0 @@
|
|||
<Project Sdk="Godot.NET.Sdk/4.4.1">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<EnableDynamicLoading>true</EnableDynamicLoading>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
19
NewLON.sln
19
NewLON.sln
|
|
@ -1,19 +0,0 @@
|
|||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 2012
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NewLON", "NewLON.csproj", "{9FFA6489-F73F-4493-8D9C-888092D73A4D}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
ExportDebug|Any CPU = ExportDebug|Any CPU
|
||||
ExportRelease|Any CPU = ExportRelease|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{9FFA6489-F73F-4493-8D9C-888092D73A4D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{9FFA6489-F73F-4493-8D9C-888092D73A4D}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{9FFA6489-F73F-4493-8D9C-888092D73A4D}.ExportDebug|Any CPU.ActiveCfg = ExportDebug|Any CPU
|
||||
{9FFA6489-F73F-4493-8D9C-888092D73A4D}.ExportDebug|Any CPU.Build.0 = ExportDebug|Any CPU
|
||||
{9FFA6489-F73F-4493-8D9C-888092D73A4D}.ExportRelease|Any CPU.ActiveCfg = ExportRelease|Any CPU
|
||||
{9FFA6489-F73F-4493-8D9C-888092D73A4D}.ExportRelease|Any CPU.Build.0 = ExportRelease|Any CPU
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
#if TOOLS
|
||||
using Godot;
|
||||
|
||||
public partial class FlatModsInspector : EditorInspectorPlugin
|
||||
{
|
||||
public override bool _CanHandle(GodotObject @object)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
public override bool _ParseProperty(GodotObject @object, Variant.Type type, string name, PropertyHint hintType, string hintString, PropertyUsageFlags usageFlags, bool wide)
|
||||
{
|
||||
if (hintString == "FloatModifiers")
|
||||
{
|
||||
AddPropertyEditor(name, new FloatModsProperty());
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif
|
||||
|
|
@ -1 +0,0 @@
|
|||
uid://uc8igx80sr6u
|
||||
|
|
@ -1,60 +0,0 @@
|
|||
|
||||
using Godot;
|
||||
|
||||
[GlobalClass] [Tool]
|
||||
public partial class FloatModifiers : Resource
|
||||
{
|
||||
[Export] private float flat_value;
|
||||
[Export] private float percentage_value;
|
||||
[Export] private float mult_value;
|
||||
|
||||
public static FloatModifiers Instantiate(float flat = 0.0f, float per = 0.0f, float mult = 1.0f)
|
||||
{
|
||||
FloatModifiers mod = new()
|
||||
{
|
||||
flat_value = flat,
|
||||
percentage_value = per,
|
||||
mult_value = mult
|
||||
};
|
||||
mod.ResourceLocalToScene = true;
|
||||
return mod;
|
||||
}
|
||||
|
||||
public float GetValue() => flat_value * mult_value * (1.0f + percentage_value);
|
||||
|
||||
public float GetFlat() => flat_value;
|
||||
|
||||
public float GetPercentage() => percentage_value;
|
||||
|
||||
public float GetMult() => mult_value;
|
||||
|
||||
public void SetFlat(float value)
|
||||
{
|
||||
flat_value = value;
|
||||
}
|
||||
|
||||
public void SetPercentage(float value)
|
||||
{
|
||||
percentage_value = value;
|
||||
}
|
||||
|
||||
public void SetMult(float value)
|
||||
{
|
||||
mult_value = value;
|
||||
}
|
||||
|
||||
public void ChangeFlat(float amount)
|
||||
{
|
||||
flat_value += amount;
|
||||
}
|
||||
|
||||
public void ChangePercentage(float amount)
|
||||
{
|
||||
percentage_value += amount;
|
||||
}
|
||||
|
||||
public void ChangeMult(float amount)
|
||||
{
|
||||
mult_value *= amount;
|
||||
}
|
||||
}
|
||||
|
|
@ -1 +0,0 @@
|
|||
uid://c3cfnrmnnuqms
|
||||
|
|
@ -1,90 +0,0 @@
|
|||
#if TOOLS
|
||||
using Godot;
|
||||
|
||||
public partial class FloatModsProperty : EditorProperty
|
||||
{
|
||||
private VBoxContainer _modsControl;
|
||||
private FloatModifiers _currentValue;
|
||||
private bool _updating;
|
||||
|
||||
public FloatModsProperty()
|
||||
{
|
||||
_modsControl = GD.Load<PackedScene>("res://addons/floatmodifiers/float_mods_property.tscn").Instantiate<VBoxContainer>();
|
||||
AddChild(_modsControl);
|
||||
AddFocusable(_modsControl);
|
||||
|
||||
RefreshControl();
|
||||
|
||||
_modsControl.GetNode<SpinBox>("%Flat").ValueChanged += UpdateFlat;
|
||||
_modsControl.GetNode<SpinBox>("%Percentage").ValueChanged += UpdatePercentage;
|
||||
_modsControl.GetNode<SpinBox>("%Mult").ValueChanged += UpdateMult;
|
||||
}
|
||||
|
||||
private void UpdateFlat(double value)
|
||||
{
|
||||
if (_updating) return;
|
||||
|
||||
_currentValue.SetFlat((float)value);
|
||||
|
||||
RefreshControl();
|
||||
EmitChanged(GetEditedProperty(), _currentValue);
|
||||
}
|
||||
private void UpdatePercentage(double value)
|
||||
{
|
||||
if (_updating) return;
|
||||
|
||||
_currentValue.SetPercentage((float)value);
|
||||
|
||||
RefreshControl();
|
||||
EmitChanged(GetEditedProperty(), _currentValue);
|
||||
}
|
||||
private void UpdateMult(double value)
|
||||
{
|
||||
if (_updating) return;
|
||||
|
||||
_currentValue.SetMult((float)value);
|
||||
|
||||
RefreshControl();
|
||||
EmitChanged(GetEditedProperty(), _currentValue);
|
||||
}
|
||||
|
||||
private void RefreshControl()
|
||||
{
|
||||
if (_currentValue == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
_modsControl.GetNode<SpinBox>("%Flat").SetValueNoSignal(_currentValue.GetFlat());
|
||||
_modsControl.GetNode<SpinBox>("%Percentage").SetValueNoSignal(_currentValue.GetPercentage());
|
||||
_modsControl.GetNode<SpinBox>("%Mult").SetValueNoSignal(_currentValue.GetMult());
|
||||
}
|
||||
|
||||
|
||||
public override void _UpdateProperty()
|
||||
{
|
||||
// Read the current value from the property.
|
||||
var newValue = GetEditedObject().Get(GetEditedProperty()).As<FloatModifiers>();
|
||||
if (newValue == null)
|
||||
{
|
||||
newValue = new();
|
||||
newValue.ResourceLocalToScene = true;
|
||||
EmitChanged(GetEditedProperty(), newValue);
|
||||
}
|
||||
if (newValue.ResourceLocalToScene == false)
|
||||
{
|
||||
newValue.ResourceLocalToScene = true;
|
||||
}
|
||||
if (newValue == _currentValue)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// Update the control with the new value.
|
||||
_updating = true;
|
||||
_currentValue = newValue;
|
||||
RefreshControl();
|
||||
_updating = false;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
|
@ -1 +0,0 @@
|
|||
uid://dv5koj37coavh
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
#if TOOLS
|
||||
using Godot;
|
||||
|
||||
[Tool]
|
||||
public partial class Plugin : EditorPlugin
|
||||
{
|
||||
private FlatModsInspector _plugin;
|
||||
|
||||
public override void _EnterTree()
|
||||
{
|
||||
_plugin = new FlatModsInspector();
|
||||
AddInspectorPlugin(_plugin);
|
||||
}
|
||||
|
||||
public override void _ExitTree()
|
||||
{
|
||||
RemoveInspectorPlugin(_plugin);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
|
@ -1 +0,0 @@
|
|||
uid://fjnw4mev4eiq
|
||||
|
|
@ -1,57 +0,0 @@
|
|||
[gd_scene format=3 uid="uid://d2ne6ml10xgcl"]
|
||||
|
||||
[node name="FloatModsProperty" type="VBoxContainer"]
|
||||
offset_right = 163.0
|
||||
offset_bottom = 104.0
|
||||
|
||||
[node name="FlatContainer" type="HBoxContainer" parent="."]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" type="Label" parent="FlatContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
text = "Flat"
|
||||
|
||||
[node name="Flat" type="SpinBox" parent="FlatContainer"]
|
||||
unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(128, 0)
|
||||
layout_mode = 2
|
||||
step = 0.001
|
||||
allow_greater = true
|
||||
allow_lesser = true
|
||||
|
||||
[node name="PercentageContainer" type="HBoxContainer" parent="."]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" type="Label" parent="PercentageContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
text = "%"
|
||||
|
||||
[node name="Percentage" type="SpinBox" parent="PercentageContainer"]
|
||||
unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(128, 0)
|
||||
layout_mode = 2
|
||||
max_value = 10.0
|
||||
step = 0.001
|
||||
allow_greater = true
|
||||
allow_lesser = true
|
||||
prefix = "+"
|
||||
|
||||
[node name="MultContainer" type="HBoxContainer" parent="."]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" type="Label" parent="MultContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
text = "Mult"
|
||||
|
||||
[node name="Mult" type="SpinBox" parent="MultContainer"]
|
||||
unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(128, 0)
|
||||
layout_mode = 2
|
||||
step = 0.001
|
||||
value = 1.0
|
||||
allow_greater = true
|
||||
allow_lesser = true
|
||||
prefix = "*"
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
[plugin]
|
||||
|
||||
name="FloatModifiers"
|
||||
description=""
|
||||
author="R34nd0"
|
||||
version="1.0"
|
||||
script="Plugin.cs"
|
||||
1
addons/pvzadventure/.gitignore
vendored
1
addons/pvzadventure/.gitignore
vendored
|
|
@ -1 +0,0 @@
|
|||
cache/
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
using Godot;
|
||||
using Godot.Collections;
|
||||
using Newlon.Resources;
|
||||
|
||||
[GlobalClass]
|
||||
[Tool]
|
||||
public partial class AdventureLevelResource : Resource
|
||||
{
|
||||
[Export] public int startSun = 50;
|
||||
//[Export] public Array<Conditions> conditions;
|
||||
[ExportGroup("Wave properties")]
|
||||
[Export(PropertyHint.Range, "0,1,0.01")] public float wavePercentage;
|
||||
[Export] public float standardWaveDelay;
|
||||
[Export] public float initialWaveDelay;
|
||||
[Export] public RewardResource reward;
|
||||
[ExportGroup("Editor-edited properties")]
|
||||
[ExportSubgroup("Seedpackets")]
|
||||
[Export] public Array<string> forbiddenPlants = new();
|
||||
[Export] public Array<string> forbiddenTags = new();
|
||||
[Export] public Array<string> prepickedPlants = new();
|
||||
[ExportSubgroup("Waves")]
|
||||
[Export] public Array<WaveData> waves = new();
|
||||
[Export] public Array<PackedScene> initialScenes = [.. new PackedScene[45]];
|
||||
}
|
||||
|
|
@ -1 +0,0 @@
|
|||
uid://bximdujbkj2n4
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
#if TOOLS
|
||||
using Godot;
|
||||
|
||||
[Tool]
|
||||
public partial class PvZAdventure : EditorPlugin
|
||||
{
|
||||
private PackedScene panel = ResourceLoader.Load<PackedScene>("uid://dkq82o31vr3i2");
|
||||
|
||||
private Control panelInstance;
|
||||
public override void _EnterTree()
|
||||
{
|
||||
panelInstance = panel.Instantiate<Control>();
|
||||
EditorInterface.Singleton.GetEditorMainScreen().AddChild(panelInstance);
|
||||
_MakeVisible(false);
|
||||
|
||||
}
|
||||
public override void _ExitTree()
|
||||
{
|
||||
if (panelInstance != null)
|
||||
{
|
||||
panelInstance.QueueFree();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public override bool _HasMainScreen()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
public override void _MakeVisible(bool visible)
|
||||
{
|
||||
if (panelInstance != null)
|
||||
{
|
||||
panelInstance.Visible = visible;
|
||||
}
|
||||
}
|
||||
|
||||
public override string _GetPluginName()
|
||||
{
|
||||
return "Adventure";
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
|
@ -1 +0,0 @@
|
|||
uid://cef32inw0wu7b
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
using Godot;
|
||||
using Godot.Collections;
|
||||
using Newlon.Resources;
|
||||
|
||||
[Tool]
|
||||
[GlobalClass]
|
||||
public partial class RowSpawn : Resource
|
||||
{
|
||||
[Export] public Array<ZombieResource> zombies = new(new ZombieResource[5]);
|
||||
}
|
||||
|
|
@ -1 +0,0 @@
|
|||
uid://dl12rj75tk2qi
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
using Godot;
|
||||
using Godot.Collections;
|
||||
|
||||
[GlobalClass]
|
||||
[Tool]
|
||||
public partial class WaveData : Resource
|
||||
{
|
||||
[Export] public Array<RowSpawn> zombiesOrdered = new();
|
||||
[Export] public Array<WaveEvent> events = new();
|
||||
[Export] public float customWaveDelay = 0;
|
||||
[Export] public bool isHugeWave;
|
||||
}
|
||||
|
|
@ -1 +0,0 @@
|
|||
uid://7rptlb5qr3b6
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
using Godot;
|
||||
|
||||
public partial class WaveEvent : Resource
|
||||
{
|
||||
}
|
||||
|
|
@ -1 +0,0 @@
|
|||
uid://cw7yc3i2lgcja
|
||||
|
|
@ -1 +0,0 @@
|
|||
uid://ct730nm5jan8i
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 174 B |
|
|
@ -1,7 +0,0 @@
|
|||
[plugin]
|
||||
|
||||
name="PvZAdventure"
|
||||
description=""
|
||||
author="R34nd0"
|
||||
version="1.0"
|
||||
script="PvZAdventure.cs"
|
||||
|
|
@ -1,92 +0,0 @@
|
|||
[gd_scene load_steps=5 format=3 uid="uid://dkq82o31vr3i2"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dkgxtig5fwdgi" path="res://addons/pvzadventure/scripts/adventure-editor/AdventureEditor.cs" id="1_go5yu"]
|
||||
[ext_resource type="Script" uid="uid://binuuattefn7d" path="res://addons/pvzadventure/scripts/FileButton.cs" id="2_d5hwn"]
|
||||
[ext_resource type="Script" uid="uid://c6jttmpeyakoa" path="res://addons/pvzadventure/scripts/EditorsContainer.cs" id="3_5imrs"]
|
||||
[ext_resource type="Script" uid="uid://b0hl4ap18wbb2" path="res://addons/pvzadventure/scripts/adventure-editor/AdventureResourceInspector.cs" id="3_d5hwn"]
|
||||
|
||||
[node name="AdventureEditor" type="MarginContainer"]
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
theme_override_constants/margin_left = 5
|
||||
theme_override_constants/margin_top = 5
|
||||
theme_override_constants/margin_right = 5
|
||||
theme_override_constants/margin_bottom = 5
|
||||
script = ExtResource("1_go5yu")
|
||||
|
||||
[node name="Editor" type="VBoxContainer" parent="."]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="StatusBar" type="PanelContainer" parent="Editor"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="Editor/StatusBar"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="FileButton" type="MenuButton" parent="Editor/StatusBar/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "File"
|
||||
switch_on_hover = true
|
||||
item_count = 2
|
||||
popup/item_0/text = "New"
|
||||
popup/item_0/id = 0
|
||||
popup/item_1/text = "Open"
|
||||
popup/item_1/id = 1
|
||||
script = ExtResource("2_d5hwn")
|
||||
|
||||
[node name="FileDialog" type="FileDialog" parent="Editor/StatusBar/HBoxContainer/FileButton"]
|
||||
|
||||
[node name="PlayButton" type="Button" parent="Editor/StatusBar/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Play"
|
||||
flat = true
|
||||
|
||||
[node name="WorkArea" type="HSplitContainer" parent="Editor"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="PanelContainer" type="PanelContainer" parent="Editor/WorkArea"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_stretch_ratio = 3.0
|
||||
script = ExtResource("3_5imrs")
|
||||
|
||||
[node name="Inspector" type="VSplitContainer" parent="Editor/WorkArea"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="ResourceInspector" type="VBoxContainer" parent="Editor/WorkArea/Inspector" node_paths=PackedStringArray("editorContainer", "adventureEditor")]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
script = ExtResource("3_d5hwn")
|
||||
editorContainer = NodePath("../../PanelContainer")
|
||||
adventureEditor = NodePath("../../../..")
|
||||
|
||||
[node name="Tree" type="Tree" parent="Editor/WorkArea/Inspector/ResourceInspector"]
|
||||
custom_minimum_size = Vector2(0, 100)
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
hide_folding = true
|
||||
enable_recursive_folding = false
|
||||
|
||||
[node name="ControlButtons" type="HBoxContainer" parent="Editor/WorkArea/Inspector/ResourceInspector"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 8
|
||||
|
||||
[node name="NewButton" type="Button" parent="Editor/WorkArea/Inspector/ResourceInspector/ControlButtons"]
|
||||
layout_mode = 2
|
||||
text = "New"
|
||||
|
||||
[connection signal="HardReloadRequested" from="." to="Editor/WorkArea/PanelContainer" method="ClearChildren"]
|
||||
[connection signal="ResourceChanged" from="." to="Editor/WorkArea/Inspector/ResourceInspector" method="Refresh"]
|
||||
[connection signal="pressed" from="Editor/StatusBar/HBoxContainer/PlayButton" to="." method="Play"]
|
||||
[connection signal="Refreshed" from="Editor/WorkArea/Inspector/ResourceInspector" to="." method="Save"]
|
||||
[connection signal="button_clicked" from="Editor/WorkArea/Inspector/ResourceInspector/Tree" to="Editor/WorkArea/Inspector/ResourceInspector" method="OnTreeButtonClicked"]
|
||||
[connection signal="item_edited" from="Editor/WorkArea/Inspector/ResourceInspector/Tree" to="Editor/WorkArea/Inspector/ResourceInspector" method="OnItemEdited"]
|
||||
[connection signal="item_selected" from="Editor/WorkArea/Inspector/ResourceInspector/Tree" to="Editor/WorkArea/Inspector/ResourceInspector" method="OnItemSelected"]
|
||||
[connection signal="pressed" from="Editor/WorkArea/Inspector/ResourceInspector/ControlButtons/NewButton" to="Editor/WorkArea/Inspector/ResourceInspector" method="OnNewButtonPressed"]
|
||||
|
|
@ -1,153 +0,0 @@
|
|||
[gd_scene load_steps=3 format=3 uid="uid://sqessjn0m4o3"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://djb8ynxhnmo0t" path="res://addons/pvzadventure/scenes/initial-editor/universal_grid_item.tscn" id="1_d8e2t"]
|
||||
[ext_resource type="Script" uid="uid://cumeahjpjgagq" path="res://addons/pvzadventure/scripts/InitialEditor.cs" id="1_tu7vy"]
|
||||
|
||||
[node name="InitialEditor" type="ScrollContainer"]
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
script = ExtResource("1_tu7vy")
|
||||
|
||||
[node name="GridContainer" type="GridContainer" parent="."]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
columns = 9
|
||||
|
||||
[node name="GridItem" parent="GridContainer" instance=ExtResource("1_d8e2t")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="GridItem2" parent="GridContainer" instance=ExtResource("1_d8e2t")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="GridItem3" parent="GridContainer" instance=ExtResource("1_d8e2t")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="GridItem4" parent="GridContainer" instance=ExtResource("1_d8e2t")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="GridItem5" parent="GridContainer" instance=ExtResource("1_d8e2t")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="GridItem6" parent="GridContainer" instance=ExtResource("1_d8e2t")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="GridItem7" parent="GridContainer" instance=ExtResource("1_d8e2t")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="GridItem8" parent="GridContainer" instance=ExtResource("1_d8e2t")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="GridItem9" parent="GridContainer" instance=ExtResource("1_d8e2t")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="GridItem10" parent="GridContainer" instance=ExtResource("1_d8e2t")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="GridItem11" parent="GridContainer" instance=ExtResource("1_d8e2t")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="GridItem12" parent="GridContainer" instance=ExtResource("1_d8e2t")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="GridItem13" parent="GridContainer" instance=ExtResource("1_d8e2t")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="GridItem14" parent="GridContainer" instance=ExtResource("1_d8e2t")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="GridItem15" parent="GridContainer" instance=ExtResource("1_d8e2t")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="GridItem16" parent="GridContainer" instance=ExtResource("1_d8e2t")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="GridItem17" parent="GridContainer" instance=ExtResource("1_d8e2t")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="GridItem18" parent="GridContainer" instance=ExtResource("1_d8e2t")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="GridItem19" parent="GridContainer" instance=ExtResource("1_d8e2t")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="GridItem20" parent="GridContainer" instance=ExtResource("1_d8e2t")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="GridItem21" parent="GridContainer" instance=ExtResource("1_d8e2t")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="GridItem22" parent="GridContainer" instance=ExtResource("1_d8e2t")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="GridItem23" parent="GridContainer" instance=ExtResource("1_d8e2t")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="GridItem24" parent="GridContainer" instance=ExtResource("1_d8e2t")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="GridItem25" parent="GridContainer" instance=ExtResource("1_d8e2t")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="GridItem26" parent="GridContainer" instance=ExtResource("1_d8e2t")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="GridItem27" parent="GridContainer" instance=ExtResource("1_d8e2t")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="GridItem28" parent="GridContainer" instance=ExtResource("1_d8e2t")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="GridItem29" parent="GridContainer" instance=ExtResource("1_d8e2t")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="GridItem30" parent="GridContainer" instance=ExtResource("1_d8e2t")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="GridItem31" parent="GridContainer" instance=ExtResource("1_d8e2t")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="GridItem32" parent="GridContainer" instance=ExtResource("1_d8e2t")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="GridItem33" parent="GridContainer" instance=ExtResource("1_d8e2t")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="GridItem34" parent="GridContainer" instance=ExtResource("1_d8e2t")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="GridItem35" parent="GridContainer" instance=ExtResource("1_d8e2t")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="GridItem36" parent="GridContainer" instance=ExtResource("1_d8e2t")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="GridItem37" parent="GridContainer" instance=ExtResource("1_d8e2t")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="GridItem38" parent="GridContainer" instance=ExtResource("1_d8e2t")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="GridItem39" parent="GridContainer" instance=ExtResource("1_d8e2t")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="GridItem40" parent="GridContainer" instance=ExtResource("1_d8e2t")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="GridItem41" parent="GridContainer" instance=ExtResource("1_d8e2t")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="GridItem42" parent="GridContainer" instance=ExtResource("1_d8e2t")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="GridItem43" parent="GridContainer" instance=ExtResource("1_d8e2t")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="GridItem44" parent="GridContainer" instance=ExtResource("1_d8e2t")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="GridItem45" parent="GridContainer" instance=ExtResource("1_d8e2t")]
|
||||
layout_mode = 2
|
||||
|
|
@ -1,35 +0,0 @@
|
|||
[gd_scene load_steps=4 format=3 uid="uid://djb8ynxhnmo0t"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://b8ccbjhhus7xk" path="res://addons/pvzadventure/scripts/UNI_GridItem.cs" id="1_e5mae"]
|
||||
[ext_resource type="Script" uid="uid://c3cgpwy1qaeww" path="res://addons/pvzadventure/scripts/packed_scene_preview_generator.gd" id="2_k7w8c"]
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_jbknv"]
|
||||
bg_color = Color(0.18359, 0.18359, 0.18359, 1)
|
||||
border_color = Color(0.140447, 0.140447, 0.140447, 1)
|
||||
corner_radius_top_left = 5
|
||||
corner_radius_top_right = 5
|
||||
corner_radius_bottom_right = 5
|
||||
corner_radius_bottom_left = 5
|
||||
|
||||
[node name="GridItem" type="PanelContainer"]
|
||||
clip_contents = true
|
||||
custom_minimum_size = Vector2(100, 100)
|
||||
anchors_preset = -1
|
||||
anchor_right = 0.172
|
||||
anchor_bottom = 0.212
|
||||
offset_right = -0.200005
|
||||
offset_bottom = 0.199997
|
||||
theme_override_styles/panel = SubResource("StyleBoxFlat_jbknv")
|
||||
script = ExtResource("1_e5mae")
|
||||
|
||||
[node name="Texture" type="TextureRect" parent="."]
|
||||
layout_mode = 2
|
||||
expand_mode = 1
|
||||
stretch_mode = 5
|
||||
script = ExtResource("2_k7w8c")
|
||||
|
||||
[node name="Viewport" type="SubViewport" parent="Texture"]
|
||||
process_mode = 4
|
||||
transparent_bg = true
|
||||
|
||||
[node name="Camera2D" type="Camera2D" parent="Texture/Viewport"]
|
||||
|
|
@ -1,47 +0,0 @@
|
|||
[gd_scene load_steps=4 format=3 uid="uid://dwbqlfs51en62"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://dxyf557m4mq1p" path="res://assets/sprites/gui/EmptyPlantCard.png" id="1_dmimt"]
|
||||
[ext_resource type="Texture2D" uid="uid://cabpf23ndlvx0" path="res://assets/sprites/gui/Selection.tres" id="2_0vy3a"]
|
||||
[ext_resource type="Script" uid="uid://bhah157u6q56b" path="res://addons/pvzadventure/scripts/seedpacket-editor/DnDSeedpacket.cs" id="3_61l76"]
|
||||
|
||||
[node name="EditorSeedpacket" type="TextureButton" node_paths=PackedStringArray("preview")]
|
||||
anchors_preset = -1
|
||||
anchor_right = 0.103667
|
||||
anchor_bottom = 0.21
|
||||
offset_right = -0.199997
|
||||
mouse_default_cursor_shape = 2
|
||||
texture_normal = ExtResource("1_dmimt")
|
||||
texture_focused = ExtResource("2_0vy3a")
|
||||
stretch_mode = 0
|
||||
script = ExtResource("3_61l76")
|
||||
preview = NodePath("PlantPreviewContainer/Preview")
|
||||
metadata/_edit_use_anchors_ = true
|
||||
|
||||
[node name="PlantPreviewContainer" type="Control" parent="."]
|
||||
clip_contents = true
|
||||
layout_mode = 1
|
||||
anchor_left = -0.061
|
||||
anchor_top = -0.036
|
||||
anchor_right = 1.061
|
||||
anchor_bottom = 0.661
|
||||
offset_left = 0.00199986
|
||||
offset_top = 0.0320001
|
||||
offset_right = -0.0019989
|
||||
offset_bottom = -0.0319977
|
||||
mouse_filter = 2
|
||||
|
||||
[node name="Preview" type="TextureRect" parent="PlantPreviewContainer"]
|
||||
layout_mode = 1
|
||||
anchors_preset = -1
|
||||
anchor_left = 0.185
|
||||
anchor_top = 0.205
|
||||
anchor_right = 0.815
|
||||
anchor_bottom = 1.333
|
||||
offset_left = -0.0200005
|
||||
offset_top = 0.00999928
|
||||
offset_right = 0.0199966
|
||||
offset_bottom = 0.0259933
|
||||
mouse_filter = 2
|
||||
mouse_default_cursor_shape = 2
|
||||
expand_mode = 1
|
||||
stretch_mode = 5
|
||||
|
|
@ -1,59 +0,0 @@
|
|||
[gd_scene load_steps=5 format=3 uid="uid://dymyownbt688c"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://dxyf557m4mq1p" path="res://assets/sprites/gui/EmptyPlantCard.png" id="1_x27jk"]
|
||||
[ext_resource type="Texture2D" uid="uid://cabpf23ndlvx0" path="res://assets/sprites/gui/Selection.tres" id="2_m8071"]
|
||||
[ext_resource type="Texture2D" uid="uid://cjkwy3u0wuax3" path="res://assets/sprites/gui/ForbiddenPacket.tres" id="3_ji8qd"]
|
||||
[ext_resource type="Script" uid="uid://cy5t2lk5g75x7" path="res://addons/pvzadventure/scripts/seedpacket-editor/ForbiddableSeedpacket.cs" id="3_m8071"]
|
||||
|
||||
[node name="EditorSeedpacket" type="TextureButton" node_paths=PackedStringArray("preview", "forrbidTexture")]
|
||||
anchors_preset = -1
|
||||
anchor_right = 0.137
|
||||
anchor_bottom = 0.28
|
||||
offset_right = -0.199997
|
||||
mouse_default_cursor_shape = 2
|
||||
texture_normal = ExtResource("1_x27jk")
|
||||
texture_focused = ExtResource("2_m8071")
|
||||
stretch_mode = 0
|
||||
script = ExtResource("3_m8071")
|
||||
preview = NodePath("PlantPreviewContainer/Preview")
|
||||
forrbidTexture = NodePath("ForbiddenTexture")
|
||||
metadata/_edit_use_anchors_ = true
|
||||
|
||||
[node name="PlantPreviewContainer" type="Control" parent="."]
|
||||
clip_contents = true
|
||||
layout_mode = 1
|
||||
anchor_left = -0.061
|
||||
anchor_top = -0.036
|
||||
anchor_right = 1.061
|
||||
anchor_bottom = 0.661
|
||||
offset_left = 0.00199986
|
||||
offset_top = 0.0320001
|
||||
offset_right = -0.0019989
|
||||
offset_bottom = -0.0319977
|
||||
mouse_filter = 2
|
||||
|
||||
[node name="Preview" type="TextureRect" parent="PlantPreviewContainer"]
|
||||
layout_mode = 1
|
||||
anchors_preset = -1
|
||||
anchor_left = 0.185
|
||||
anchor_top = 0.205
|
||||
anchor_right = 0.815
|
||||
anchor_bottom = 1.333
|
||||
offset_left = -0.0200005
|
||||
offset_top = 0.00999928
|
||||
offset_right = 0.0199966
|
||||
offset_bottom = 0.0259933
|
||||
mouse_filter = 2
|
||||
mouse_default_cursor_shape = 2
|
||||
expand_mode = 1
|
||||
stretch_mode = 5
|
||||
|
||||
[node name="ForbiddenTexture" type="TextureRect" parent="."]
|
||||
visible = false
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
texture = ExtResource("3_ji8qd")
|
||||
|
|
@ -1,155 +0,0 @@
|
|||
[gd_scene load_steps=3 format=3 uid="uid://drc0o8du38apr"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://dwbqlfs51en62" path="res://addons/pvzadventure/scenes/seedpack-editor/editor_seedpacket.tscn" id="1_m5lsd"]
|
||||
[ext_resource type="Script" uid="uid://d1ks2q0c3eu0v" path="res://addons/pvzadventure/scripts/seedpacket-editor/SeedpacketEditor.cs" id="1_vrmxn"]
|
||||
|
||||
[node name="SeedpacketEditor" type="ScrollContainer"]
|
||||
texture_filter = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
horizontal_scroll_mode = 0
|
||||
script = ExtResource("1_vrmxn")
|
||||
metadata/_edit_lock_ = true
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="."]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
metadata/_edit_lock_ = true
|
||||
|
||||
[node name="PrepickedPlants" type="VBoxContainer" parent="VBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="Label" type="Label" parent="VBoxContainer/PrepickedPlants"]
|
||||
layout_mode = 2
|
||||
text = "Prepicked plants"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="PrepickedContainer" type="HBoxContainer" parent="VBoxContainer/PrepickedPlants"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
alignment = 1
|
||||
|
||||
[node name="Slot1" type="AspectRatioContainer" parent="VBoxContainer/PrepickedPlants/PrepickedContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
ratio = 0.7321
|
||||
|
||||
[node name="Seedpacket" parent="VBoxContainer/PrepickedPlants/PrepickedContainer/Slot1" instance=ExtResource("1_m5lsd")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Slot2" type="AspectRatioContainer" parent="VBoxContainer/PrepickedPlants/PrepickedContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
ratio = 0.7321
|
||||
|
||||
[node name="Seedpacket" parent="VBoxContainer/PrepickedPlants/PrepickedContainer/Slot2" instance=ExtResource("1_m5lsd")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Slot3" type="AspectRatioContainer" parent="VBoxContainer/PrepickedPlants/PrepickedContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
ratio = 0.7321
|
||||
|
||||
[node name="Seedpacket" parent="VBoxContainer/PrepickedPlants/PrepickedContainer/Slot3" instance=ExtResource("1_m5lsd")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Slot4" type="AspectRatioContainer" parent="VBoxContainer/PrepickedPlants/PrepickedContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
ratio = 0.7321
|
||||
|
||||
[node name="Seedpacket" parent="VBoxContainer/PrepickedPlants/PrepickedContainer/Slot4" instance=ExtResource("1_m5lsd")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Slot5" type="AspectRatioContainer" parent="VBoxContainer/PrepickedPlants/PrepickedContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
ratio = 0.7321
|
||||
|
||||
[node name="Seedpacket" parent="VBoxContainer/PrepickedPlants/PrepickedContainer/Slot5" instance=ExtResource("1_m5lsd")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Slot6" type="AspectRatioContainer" parent="VBoxContainer/PrepickedPlants/PrepickedContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
ratio = 0.7321
|
||||
|
||||
[node name="Seedpacket" parent="VBoxContainer/PrepickedPlants/PrepickedContainer/Slot6" instance=ExtResource("1_m5lsd")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Slot7" type="AspectRatioContainer" parent="VBoxContainer/PrepickedPlants/PrepickedContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
ratio = 0.7321
|
||||
|
||||
[node name="Seedpacket" parent="VBoxContainer/PrepickedPlants/PrepickedContainer/Slot7" instance=ExtResource("1_m5lsd")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Slot8" type="AspectRatioContainer" parent="VBoxContainer/PrepickedPlants/PrepickedContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
ratio = 0.7321
|
||||
|
||||
[node name="Seedpacket" parent="VBoxContainer/PrepickedPlants/PrepickedContainer/Slot8" instance=ExtResource("1_m5lsd")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Slot9" type="AspectRatioContainer" parent="VBoxContainer/PrepickedPlants/PrepickedContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
ratio = 0.7321
|
||||
|
||||
[node name="Seedpacket" parent="VBoxContainer/PrepickedPlants/PrepickedContainer/Slot9" instance=ExtResource("1_m5lsd")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="ForbiddenTags" type="VBoxContainer" parent="VBoxContainer"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
alignment = 1
|
||||
|
||||
[node name="Label" type="Label" parent="VBoxContainer/ForbiddenTags"]
|
||||
layout_mode = 2
|
||||
text = "Forbidden tags"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="TagsContainer" type="GridContainer" parent="VBoxContainer/ForbiddenTags"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
columns = 9
|
||||
|
||||
[node name="ForbiddenPlants" type="VBoxContainer" parent="VBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
alignment = 1
|
||||
|
||||
[node name="Label" type="Label" parent="VBoxContainer/ForbiddenPlants"]
|
||||
layout_mode = 2
|
||||
text = "Forbidden plants"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="FPlantsContainer" type="GridContainer" parent="VBoxContainer/ForbiddenPlants"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
size_flags_vertical = 3
|
||||
columns = 9
|
||||
|
||||
[connection signal="SaveCallback" from="VBoxContainer/PrepickedPlants/PrepickedContainer/Slot1/Seedpacket" to="." method="Save"]
|
||||
[connection signal="SaveCallback" from="VBoxContainer/PrepickedPlants/PrepickedContainer/Slot2/Seedpacket" to="." method="Save"]
|
||||
[connection signal="SaveCallback" from="VBoxContainer/PrepickedPlants/PrepickedContainer/Slot3/Seedpacket" to="." method="Save"]
|
||||
[connection signal="SaveCallback" from="VBoxContainer/PrepickedPlants/PrepickedContainer/Slot4/Seedpacket" to="." method="Save"]
|
||||
[connection signal="SaveCallback" from="VBoxContainer/PrepickedPlants/PrepickedContainer/Slot5/Seedpacket" to="." method="Save"]
|
||||
[connection signal="SaveCallback" from="VBoxContainer/PrepickedPlants/PrepickedContainer/Slot6/Seedpacket" to="." method="Save"]
|
||||
[connection signal="SaveCallback" from="VBoxContainer/PrepickedPlants/PrepickedContainer/Slot7/Seedpacket" to="." method="Save"]
|
||||
[connection signal="SaveCallback" from="VBoxContainer/PrepickedPlants/PrepickedContainer/Slot8/Seedpacket" to="." method="Save"]
|
||||
[connection signal="SaveCallback" from="VBoxContainer/PrepickedPlants/PrepickedContainer/Slot9/Seedpacket" to="." method="Save"]
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
[gd_scene load_steps=3 format=3 uid="uid://iwnklc62rni8"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cpedvgx23hlko" path="res://addons/pvzadventure/scripts/zombie-editor/ZE_AssetBrowserButton.cs" id="1_jbknv"]
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_jbknv"]
|
||||
bg_color = Color(0.18359, 0.18359, 0.18359, 1)
|
||||
border_color = Color(0.140447, 0.140447, 0.140447, 1)
|
||||
corner_radius_top_left = 5
|
||||
corner_radius_top_right = 5
|
||||
corner_radius_bottom_right = 5
|
||||
corner_radius_bottom_left = 5
|
||||
|
||||
[node name="AssetBrowserButton" type="PanelContainer"]
|
||||
clip_contents = true
|
||||
custom_minimum_size = Vector2(100, 100)
|
||||
anchors_preset = -1
|
||||
anchor_right = 0.172
|
||||
anchor_bottom = 0.25
|
||||
offset_right = -0.200005
|
||||
offset_bottom = -15.0
|
||||
theme_override_styles/panel = SubResource("StyleBoxFlat_jbknv")
|
||||
script = ExtResource("1_jbknv")
|
||||
|
||||
[node name="Texture" type="TextureRect" parent="."]
|
||||
layout_mode = 2
|
||||
expand_mode = 1
|
||||
stretch_mode = 5
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
[gd_scene load_steps=3 format=3 uid="uid://segxys6udhyw"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://fof6kr0et8ng" path="res://addons/pvzadventure/scripts/zombie-editor/ZE_GridItem.cs" id="1_fwfh1"]
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_jbknv"]
|
||||
bg_color = Color(0.18359, 0.18359, 0.18359, 1)
|
||||
border_color = Color(0.140447, 0.140447, 0.140447, 1)
|
||||
corner_radius_top_left = 5
|
||||
corner_radius_top_right = 5
|
||||
corner_radius_bottom_right = 5
|
||||
corner_radius_bottom_left = 5
|
||||
|
||||
[node name="GridItem" type="PanelContainer"]
|
||||
clip_contents = true
|
||||
custom_minimum_size = Vector2(100, 100)
|
||||
anchors_preset = -1
|
||||
anchor_right = 0.172
|
||||
anchor_bottom = 0.25
|
||||
offset_right = -0.200005
|
||||
offset_bottom = -15.0
|
||||
theme_override_styles/panel = SubResource("StyleBoxFlat_jbknv")
|
||||
script = ExtResource("1_fwfh1")
|
||||
|
||||
[node name="Texture" type="TextureRect" parent="."]
|
||||
layout_mode = 2
|
||||
expand_mode = 1
|
||||
stretch_mode = 5
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
[gd_scene load_steps=2 format=3 uid="uid://buvnw8a7pku78"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://q84g5imvatfl" path="res://addons/pvzadventure/scripts/zombie-editor/ZE_RowEditor.cs" id="1_wm7b4"]
|
||||
|
||||
[node name="RowEditor" type="VBoxContainer"]
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
script = ExtResource("1_wm7b4")
|
||||
|
|
@ -1,136 +0,0 @@
|
|||
[gd_scene load_steps=10 format=3 uid="uid://db5ah76l43ng2"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bnuno3uhya4sg" path="res://addons/pvzadventure/scripts/zombie-editor/ZE_AssetBrowser.cs" id="1_klhya"]
|
||||
[ext_resource type="Script" uid="uid://bd5hl0etgvf5a" path="res://addons/pvzadventure/scripts/zombie-editor/ZombieEditor.cs" id="1_thd7y"]
|
||||
[ext_resource type="Script" uid="uid://do7s5mo36c280" path="res://addons/pvzadventure/scripts/zombie-editor/ZE_GridContainer.cs" id="2_13ic4"]
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_thd7y"]
|
||||
bg_color = Color(0.430693, 0.742747, 0.314214, 1)
|
||||
corner_radius_top_left = 5
|
||||
corner_radius_top_right = 5
|
||||
corner_radius_bottom_right = 5
|
||||
corner_radius_bottom_left = 5
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_a2umq"]
|
||||
bg_color = Color(0.503317, 0.859941, 0.370424, 1)
|
||||
corner_radius_top_left = 5
|
||||
corner_radius_top_right = 5
|
||||
corner_radius_bottom_right = 5
|
||||
corner_radius_bottom_left = 5
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_13ic4"]
|
||||
bg_color = Color(0.655235, 0.676224, 0.627655, 1)
|
||||
corner_radius_top_left = 5
|
||||
corner_radius_top_right = 5
|
||||
corner_radius_bottom_right = 5
|
||||
corner_radius_bottom_left = 5
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_h81wb"]
|
||||
bg_color = Color(1, 0.617482, 0.590722, 1)
|
||||
corner_radius_top_left = 5
|
||||
corner_radius_top_right = 5
|
||||
corner_radius_bottom_right = 5
|
||||
corner_radius_bottom_left = 5
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_vak4b"]
|
||||
bg_color = Color(0.655235, 0.676224, 0.627655, 1)
|
||||
corner_radius_top_left = 5
|
||||
corner_radius_top_right = 5
|
||||
corner_radius_bottom_right = 5
|
||||
corner_radius_bottom_left = 5
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_nm0oj"]
|
||||
bg_color = Color(0.999983, 0.30398, 0.31271, 1)
|
||||
corner_radius_top_left = 5
|
||||
corner_radius_top_right = 5
|
||||
corner_radius_bottom_right = 5
|
||||
corner_radius_bottom_left = 5
|
||||
|
||||
[node name="ZombieEditor" type="VBoxContainer" node_paths=PackedStringArray("container")]
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
script = ExtResource("1_thd7y")
|
||||
container = NodePath("ZombieGrid/HBoxContainer/RowEditors")
|
||||
|
||||
[node name="ZombieGrid" type="ScrollContainer" parent="."]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
size_flags_stretch_ratio = 3.0
|
||||
horizontal_scroll_mode = 2
|
||||
vertical_scroll_mode = 0
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="ZombieGrid"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="RowEditors" type="HBoxContainer" parent="ZombieGrid/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
size_flags_stretch_ratio = 3.0
|
||||
script = ExtResource("2_13ic4")
|
||||
|
||||
[node name="ControlButtons" type="VBoxContainer" parent="ZombieGrid/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="NewButton" type="Button" parent="ZombieGrid/HBoxContainer/ControlButtons"]
|
||||
custom_minimum_size = Vector2(32, 0)
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
theme_override_colors/font_disabled_color = Color(1, 1, 1, 1)
|
||||
theme_override_colors/font_hover_pressed_color = Color(1, 1, 1, 1)
|
||||
theme_override_colors/font_hover_color = Color(1, 1, 1, 1)
|
||||
theme_override_colors/font_color = Color(1, 1, 1, 1)
|
||||
theme_override_colors/font_focus_color = Color(1, 1, 1, 1)
|
||||
theme_override_colors/font_pressed_color = Color(0, 0, 0, 1)
|
||||
theme_override_font_sizes/font_size = 24
|
||||
theme_override_styles/disabled_mirrored = SubResource("StyleBoxFlat_thd7y")
|
||||
theme_override_styles/disabled = SubResource("StyleBoxFlat_thd7y")
|
||||
theme_override_styles/hover_pressed = SubResource("StyleBoxFlat_a2umq")
|
||||
theme_override_styles/hover_mirrored = SubResource("StyleBoxFlat_a2umq")
|
||||
theme_override_styles/hover = SubResource("StyleBoxFlat_thd7y")
|
||||
theme_override_styles/pressed_mirrored = SubResource("StyleBoxFlat_13ic4")
|
||||
theme_override_styles/pressed = SubResource("StyleBoxFlat_13ic4")
|
||||
theme_override_styles/normal_mirrored = SubResource("StyleBoxFlat_thd7y")
|
||||
theme_override_styles/normal = SubResource("StyleBoxFlat_thd7y")
|
||||
text = "+"
|
||||
|
||||
[node name="RemoveButton" type="Button" parent="ZombieGrid/HBoxContainer/ControlButtons"]
|
||||
custom_minimum_size = Vector2(32, 0)
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
theme_override_colors/font_disabled_color = Color(1, 1, 1, 1)
|
||||
theme_override_colors/font_hover_pressed_color = Color(1, 1, 1, 1)
|
||||
theme_override_colors/font_hover_color = Color(1, 1, 1, 1)
|
||||
theme_override_colors/font_color = Color(1, 1, 1, 1)
|
||||
theme_override_colors/font_focus_color = Color(1, 1, 1, 1)
|
||||
theme_override_colors/font_pressed_color = Color(0, 0, 0, 1)
|
||||
theme_override_font_sizes/font_size = 24
|
||||
theme_override_styles/disabled_mirrored = SubResource("StyleBoxFlat_h81wb")
|
||||
theme_override_styles/disabled = SubResource("StyleBoxFlat_h81wb")
|
||||
theme_override_styles/hover_pressed = SubResource("StyleBoxFlat_h81wb")
|
||||
theme_override_styles/hover_mirrored = SubResource("StyleBoxFlat_h81wb")
|
||||
theme_override_styles/hover = SubResource("StyleBoxFlat_h81wb")
|
||||
theme_override_styles/pressed_mirrored = SubResource("StyleBoxFlat_vak4b")
|
||||
theme_override_styles/pressed = SubResource("StyleBoxFlat_vak4b")
|
||||
theme_override_styles/normal_mirrored = SubResource("StyleBoxFlat_nm0oj")
|
||||
theme_override_styles/normal = SubResource("StyleBoxFlat_nm0oj")
|
||||
text = "-"
|
||||
|
||||
[node name="AssetBrowser" type="ScrollContainer" parent="."]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
vertical_scroll_mode = 0
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="AssetBrowser"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
script = ExtResource("1_klhya")
|
||||
|
||||
[connection signal="SaveCallback" from="ZombieGrid/HBoxContainer/RowEditors" to="." method="Save"]
|
||||
[connection signal="pressed" from="ZombieGrid/HBoxContainer/ControlButtons/NewButton" to="ZombieGrid/HBoxContainer/RowEditors" method="AddSpawn"]
|
||||
[connection signal="pressed" from="ZombieGrid/HBoxContainer/ControlButtons/RemoveButton" to="ZombieGrid/HBoxContainer/RowEditors" method="RemoveSpawn"]
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
using Godot;
|
||||
|
||||
[Tool]
|
||||
public abstract partial class BaseEditor : Node
|
||||
{
|
||||
public AdventureLevelResource editedResource;
|
||||
[Signal] public delegate void SaveCallbackEventHandler();
|
||||
public virtual void SetEditedData(AdventureLevelResource data)
|
||||
{
|
||||
editedResource = data;
|
||||
}
|
||||
public virtual void Save()
|
||||
{
|
||||
EmitSignal(SignalName.SaveCallback);
|
||||
}
|
||||
}
|
||||
|
|
@ -1 +0,0 @@
|
|||
uid://dxtrrfg1pba4p
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
public abstract partial class BaseWaveEditor : BaseEditor
|
||||
{
|
||||
public WaveData editedWave;
|
||||
public abstract void SetEditedWave(WaveData wave);
|
||||
}
|
||||
|
|
@ -1 +0,0 @@
|
|||
uid://b23csior6audk
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
using Godot;
|
||||
|
||||
[Tool]
|
||||
public partial class EditorsContainer : PanelContainer
|
||||
{
|
||||
public void ClearChildren()
|
||||
{
|
||||
foreach (var child in GetChildren())
|
||||
{
|
||||
child.QueueFree();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1 +0,0 @@
|
|||
uid://c6jttmpeyakoa
|
||||
|
|
@ -1,51 +0,0 @@
|
|||
using Godot;
|
||||
|
||||
#if TOOLS
|
||||
[Tool]
|
||||
public partial class FileButton : MenuButton
|
||||
{
|
||||
const int NEWFILE = 0;
|
||||
const int OPENFILE = 1;
|
||||
private AdventureEditor editor;
|
||||
private FileDialog dialog;
|
||||
private int chosenOption = -1;
|
||||
public override void _Ready()
|
||||
{
|
||||
editor = (AdventureEditor)FindParent("AdventureEditor");
|
||||
dialog = GetNode<FileDialog>("FileDialog");
|
||||
|
||||
GetPopup().IndexPressed += OnIndexPressed;
|
||||
dialog.FileSelected += OnFileSelected;
|
||||
}
|
||||
|
||||
private void OnIndexPressed(long index)
|
||||
{
|
||||
chosenOption = (int)index;
|
||||
if (index == NEWFILE)
|
||||
{
|
||||
editor.editedResource = new AdventureLevelResource();
|
||||
dialog.PopupCentered();
|
||||
dialog.FileMode = FileDialog.FileModeEnum.SaveFile;
|
||||
}
|
||||
else if (index == OPENFILE)
|
||||
{
|
||||
dialog.PopupCentered();
|
||||
dialog.FileMode = FileDialog.FileModeEnum.OpenFile;
|
||||
}
|
||||
}
|
||||
private void OnFileSelected(string path)
|
||||
{
|
||||
editor.editedPath = path;
|
||||
if (chosenOption == NEWFILE)
|
||||
{
|
||||
editor.Save();
|
||||
editor.HardReload();
|
||||
}
|
||||
else if (chosenOption == OPENFILE)
|
||||
{
|
||||
editor.HardReload();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
#endif
|
||||
|
|
@ -1 +0,0 @@
|
|||
uid://binuuattefn7d
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
using Godot;
|
||||
|
||||
[Tool]
|
||||
public partial class InitialEditor : BaseEditor
|
||||
{
|
||||
public override void _Ready()
|
||||
{
|
||||
foreach (var child in GetChild(0).GetChildren())
|
||||
{
|
||||
if (child is UNI_GridItem gridItem)
|
||||
{
|
||||
gridItem.ResourceChanged += OnResourceChanged;
|
||||
}
|
||||
}
|
||||
}
|
||||
public override void SetEditedData(AdventureLevelResource resource)
|
||||
{
|
||||
editedResource = resource;
|
||||
for (int i = 0; i < GetChild(0).GetChildCount(); i++)
|
||||
{
|
||||
if (GetChild(0).GetChild(i) is UNI_GridItem gridItem)
|
||||
{
|
||||
gridItem.index = i;
|
||||
if (editedResource.initialScenes[i] == null)
|
||||
gridItem.SetData("");
|
||||
else
|
||||
gridItem.SetData(editedResource.initialScenes[i].ResourcePath);
|
||||
}
|
||||
}
|
||||
}
|
||||
public void OnResourceChanged(string to, int index)
|
||||
{
|
||||
if (ResourceLoader.Exists(to))
|
||||
{
|
||||
editedResource.initialScenes[index] = ResourceLoader.Load<PackedScene>(to);
|
||||
}
|
||||
else
|
||||
{
|
||||
editedResource.initialScenes[index] = null;
|
||||
}
|
||||
EmitSignal(SignalName.SaveCallback);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1 +0,0 @@
|
|||
uid://cumeahjpjgagq
|
||||
|
|
@ -1,46 +0,0 @@
|
|||
using Godot;
|
||||
|
||||
[Tool]
|
||||
public partial class UNI_GridItem : PanelContainer
|
||||
{
|
||||
private string path;
|
||||
public int index;
|
||||
[Signal] public delegate void ResourceChangedEventHandler(string path, int index);
|
||||
public void SetData(string data)
|
||||
{
|
||||
path = data;
|
||||
UpdateContent();
|
||||
}
|
||||
private void UpdateContent()
|
||||
{
|
||||
if (path == null || path == "")
|
||||
{
|
||||
GetNode<TextureRect>("Texture").Texture = null;
|
||||
return;
|
||||
}
|
||||
GetNode<TextureRect>("Texture").Call("set_path", path);
|
||||
}
|
||||
|
||||
public override Variant _GetDragData(Vector2 atPosition)
|
||||
{
|
||||
return path;
|
||||
}
|
||||
public override bool _CanDropData(Vector2 atPosition, Variant data)
|
||||
{
|
||||
return data.AsGodotDictionary<string, string>().ContainsKey("files") && ResourceLoader.Exists(data.AsGodotDictionary<string, Variant>()["files"].AsStringArray()[0]);
|
||||
}
|
||||
public override void _DropData(Vector2 atPosition, Variant data)
|
||||
{
|
||||
SetData(data.AsGodotDictionary<string, Variant>()["files"].AsStringArray()[0]);
|
||||
EmitSignal(SignalName.ResourceChanged, path, index);
|
||||
|
||||
}
|
||||
public override void _GuiInput(InputEvent @event)
|
||||
{
|
||||
if (@event is InputEventMouseButton buttonEvent && buttonEvent.ButtonIndex == MouseButton.Right )
|
||||
{
|
||||
SetData(null);
|
||||
EmitSignal(SignalName.ResourceChanged, path, index);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1 +0,0 @@
|
|||
uid://b8ccbjhhus7xk
|
||||
|
|
@ -1,76 +0,0 @@
|
|||
using Godot;
|
||||
|
||||
#if TOOLS
|
||||
[Tool]
|
||||
public partial class AdventureEditor : MarginContainer
|
||||
{
|
||||
public AdventureLevelResource editedResource;
|
||||
public string editedPath;
|
||||
|
||||
[Signal]
|
||||
public delegate void ResourceChangedEventHandler(AdventureLevelResource to);
|
||||
[Signal]
|
||||
public delegate void ReloadRequestedEventHandler();
|
||||
[Signal]
|
||||
public delegate void HardReloadRequestedEventHandler();
|
||||
|
||||
public override void _Ready()
|
||||
{
|
||||
EditorInterface.Singleton.GetInspector().PropertyEdited += OnInspectorPropertyChanged;
|
||||
EditorInterface.Singleton.GetInspector().EditedObjectChanged += OnResourceChanged;
|
||||
}
|
||||
|
||||
public void Reload()
|
||||
{
|
||||
EmitSignal(SignalName.ReloadRequested);
|
||||
}
|
||||
public void HardReload()
|
||||
{
|
||||
editedResource = ResourceLoader.Load<AdventureLevelResource>(editedPath);
|
||||
EmitSignal(SignalName.ResourceChanged, editedResource);
|
||||
EmitSignal(SignalName.HardReloadRequested);
|
||||
Reload();
|
||||
}
|
||||
|
||||
public void Save()
|
||||
{
|
||||
if (editedPath.EndsWith(".tres") == false)
|
||||
{
|
||||
editedPath += ".tres";
|
||||
}
|
||||
ResourceSaver.Save(editedResource, editedPath);
|
||||
}
|
||||
public void OnInspectorPropertyChanged(string property)
|
||||
{
|
||||
if (EditorInterface.Singleton.GetInspector().GetEditedObject() is AdventureLevelResource resource && resource.ResourcePath == editedPath)
|
||||
{
|
||||
HardReload();
|
||||
}
|
||||
}
|
||||
public void OnResourceChanged()
|
||||
{
|
||||
if (EditorInterface.Singleton.GetInspector().GetEditedObject() is AdventureLevelResource resource)
|
||||
{
|
||||
editedPath = resource.ResourcePath;
|
||||
HardReload();
|
||||
}
|
||||
}
|
||||
public void Play()
|
||||
{
|
||||
if (ResourceLoader.Exists(editedPath) == false) return;
|
||||
var player = new AdventurePlayer();
|
||||
var packed = new PackedScene();
|
||||
player.pathToLevel = editedPath;
|
||||
packed.Pack(player);
|
||||
ResourceSaver.Save(packed, "res://addons/pvzadventure/cache/player.tscn");
|
||||
EditorInterface.Singleton.PlayCustomScene("res://addons/pvzadventure/cache/player.tscn");
|
||||
}
|
||||
public override void _ExitTree()
|
||||
{
|
||||
EditorInterface.Singleton.GetInspector().PropertyEdited -= OnInspectorPropertyChanged;
|
||||
EditorInterface.Singleton.GetInspector().EditedObjectChanged -= OnResourceChanged;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
#endif
|
||||
|
|
@ -1 +0,0 @@
|
|||
uid://dkgxtig5fwdgi
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
using Godot;
|
||||
using Newlon;
|
||||
|
||||
[Tool]
|
||||
public partial class AdventurePlayer : Node
|
||||
{
|
||||
const string tilesetUID = "uid://dd3yegl1xo44m";
|
||||
[Export] public string pathToLevel;
|
||||
public override void _Ready()
|
||||
{
|
||||
if (Engine.IsEditorHint()) return;
|
||||
|
||||
CallDeferred("InitLevel");
|
||||
}
|
||||
private void InitLevel()
|
||||
{
|
||||
LevelController.Instance.StartLevel(ResourceLoader.Load<PackedScene>(tilesetUID), ResourceLoader.Load<AdventureLevelResource>(pathToLevel));
|
||||
}
|
||||
}
|
||||
|
|
@ -1 +0,0 @@
|
|||
uid://bbkfrk07l6kev
|
||||
|
|
@ -1,189 +0,0 @@
|
|||
using Godot;
|
||||
using System;
|
||||
using System.Globalization;
|
||||
|
||||
#if TOOLS
|
||||
[Tool]
|
||||
public partial class AdventureResourceInspector : Node
|
||||
{
|
||||
const string LEVEL_ITEM_NAME = "Level";
|
||||
const string INITIAL_ITEM_NAME = "Initial data";
|
||||
const string ZOMBIES_ITEM_NAME = "Zombies";
|
||||
const string EVENTS_ITEM_NAME = "Events";
|
||||
const string HUGEWAVE_ITEM_NAME = "Is huge wave?";
|
||||
const string SEEDPACKETS_ITEM_NAME = "Seedpackets editor";
|
||||
private PackedScene zombieEditorScene = ResourceLoader.Load<PackedScene>("uid://db5ah76l43ng2");
|
||||
private PackedScene initialEditorScene = ResourceLoader.Load<PackedScene>("uid://sqessjn0m4o3");
|
||||
private PackedScene seedpacketEditorScene = ResourceLoader.Load<PackedScene>("uid://drc0o8du38apr");
|
||||
|
||||
private Tree tree;
|
||||
private AdventureLevelResource heldResource;
|
||||
private Texture2D deleteTexture = ResourceLoader.Load<Texture2D>("res://addons/pvzadventure/icons/delete.png");
|
||||
|
||||
[Signal]
|
||||
public delegate void RefreshedEventHandler();
|
||||
|
||||
[Export]
|
||||
public EditorsContainer editorContainer;
|
||||
[Export]
|
||||
public AdventureEditor adventureEditor;
|
||||
|
||||
private TreeItem root;
|
||||
private TreeItem initialData;
|
||||
private TreeItem seedpacketData;
|
||||
|
||||
public override void _Ready()
|
||||
{
|
||||
tree = GetNode<Tree>("Tree");
|
||||
}
|
||||
|
||||
public void Refresh(AdventureLevelResource resource)
|
||||
{
|
||||
heldResource = resource;
|
||||
RefreshTree();
|
||||
}
|
||||
|
||||
private void RefreshTree()
|
||||
{
|
||||
EmitSignal(SignalName.Refreshed);
|
||||
|
||||
tree.Clear();
|
||||
root = CreateItem(LEVEL_ITEM_NAME);
|
||||
|
||||
initialData = CreateItem(INITIAL_ITEM_NAME, root);
|
||||
seedpacketData = CreateItem(SEEDPACKETS_ITEM_NAME, root);
|
||||
|
||||
for (int i = 0; i < heldResource.waves.Count; i++)
|
||||
{
|
||||
var wave = CreateItem(string.Format("Wave {0}", i), root);
|
||||
wave.AddButton(0, deleteTexture, tooltipText: "Removes wave. (note that number will not visibly change)");
|
||||
|
||||
CreateItem(ZOMBIES_ITEM_NAME, wave);
|
||||
CreateItem(EVENTS_ITEM_NAME, wave);
|
||||
CreateItem(HUGEWAVE_ITEM_NAME, TreeItem.TreeCellMode.Check, true, wave)
|
||||
.SetChecked(0, heldResource.waves[i].isHugeWave);
|
||||
|
||||
|
||||
var delay = tree.CreateItem(wave);
|
||||
if (heldResource.waves[i].customWaveDelay > 0)
|
||||
delay.SetText(0, heldResource.waves[i].customWaveDelay.ToString(new CultureInfo("en-US")));
|
||||
else
|
||||
delay.SetText(0, heldResource.standardWaveDelay.ToString());
|
||||
delay.SetEditable(0, true);
|
||||
}
|
||||
}
|
||||
|
||||
public void OnNewButtonPressed()
|
||||
{
|
||||
var wave = new WaveData();
|
||||
heldResource.waves.Add(wave);
|
||||
RefreshTree();
|
||||
}
|
||||
|
||||
public void OnItemSelected()
|
||||
{
|
||||
var selected = tree.GetSelected();
|
||||
|
||||
if (selected.IsEditable(0) || selected.GetText(0).Split(" ")[0] == "Wave") return;
|
||||
|
||||
editorContainer.ClearChildren();
|
||||
|
||||
switch (selected.GetText(0))
|
||||
{
|
||||
case LEVEL_ITEM_NAME:
|
||||
EditorInterface.Singleton.EditResource(adventureEditor.editedResource);
|
||||
tree.DeselectAll();
|
||||
return;
|
||||
case ZOMBIES_ITEM_NAME:
|
||||
var editor = zombieEditorScene.Instantiate<ZombieEditor>();
|
||||
|
||||
editorContainer.AddChild(editor);
|
||||
SetupWaveEditor(editor, heldResource.waves[GetWaveIndex(selected.GetParent())]);
|
||||
return;
|
||||
case EVENTS_ITEM_NAME:
|
||||
|
||||
break;
|
||||
case INITIAL_ITEM_NAME:
|
||||
var initialEditor = initialEditorScene.Instantiate<InitialEditor>();
|
||||
editorContainer.AddChild(initialEditor);
|
||||
SetupEditor(initialEditor);
|
||||
break;
|
||||
case SEEDPACKETS_ITEM_NAME:
|
||||
var seedpacketEditor = seedpacketEditorScene.Instantiate<SeedpacketEditor>();
|
||||
editorContainer.AddChild(seedpacketEditor);
|
||||
SetupEditor(seedpacketEditor);
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public void OnItemEdited()
|
||||
{
|
||||
var selected = tree.GetEdited();
|
||||
|
||||
if (selected.GetCellMode(0) == TreeItem.TreeCellMode.Check)
|
||||
{
|
||||
heldResource.waves[GetWaveIndex(selected.GetParent())].isHugeWave = selected.IsChecked(0);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (float.TryParse(selected.GetText(0), new CultureInfo("en-US"), out float result))
|
||||
{
|
||||
heldResource.waves[GetWaveIndex(selected.GetParent())].customWaveDelay = result;
|
||||
}
|
||||
else
|
||||
{
|
||||
selected.SetText(0, "Delay");
|
||||
heldResource.waves[GetWaveIndex(selected.GetParent())].customWaveDelay = 0;
|
||||
}
|
||||
}
|
||||
Callable.From(RefreshTree).CallDeferred();
|
||||
|
||||
}
|
||||
public void OnTreeButtonClicked(TreeItem item, int column, int id, int button_index)
|
||||
{
|
||||
heldResource.waves.RemoveAt(GetWaveIndex(item));
|
||||
adventureEditor.HardReload();
|
||||
RefreshTree();
|
||||
}
|
||||
|
||||
private int GetWaveIndex(TreeItem waveTreeItem)
|
||||
{
|
||||
return int.Parse(waveTreeItem.GetText(0).Split(" ")[1]);
|
||||
}
|
||||
private TreeItem CreateItem(string Name, TreeItem root = null)
|
||||
{
|
||||
if (root == null)
|
||||
{
|
||||
var item = tree.CreateItem();
|
||||
item.SetText(0, Name);
|
||||
return item;
|
||||
}
|
||||
else
|
||||
{
|
||||
var item = tree.CreateItem(root);
|
||||
item.SetText(0, Name);
|
||||
return item;
|
||||
}
|
||||
}
|
||||
private TreeItem CreateItem(string Name, TreeItem.TreeCellMode cellMode, bool editable, TreeItem root = null)
|
||||
{
|
||||
var item = tree.CreateItem(root);
|
||||
item.SetCellMode(0, cellMode);
|
||||
item.SetEditable(0, editable);
|
||||
item.SetText(0, Name);
|
||||
return item;
|
||||
}
|
||||
private void SetupEditor(BaseEditor editor)
|
||||
{
|
||||
editor.SetEditedData(heldResource);
|
||||
editor.SaveCallback += adventureEditor.Save;
|
||||
}
|
||||
private void SetupWaveEditor(BaseWaveEditor editor, WaveData editedWave)
|
||||
{
|
||||
SetupEditor(editor);
|
||||
editor.SetEditedWave(editedWave);
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
@ -1 +0,0 @@
|
|||
uid://b0hl4ap18wbb2
|
||||
|
|
@ -1,42 +0,0 @@
|
|||
@tool
|
||||
extends TextureRect
|
||||
|
||||
@onready var subview = $Viewport
|
||||
@onready var camera = $Viewport/Camera2D
|
||||
var scene : Node
|
||||
|
||||
func set_path(path):
|
||||
if scene:
|
||||
scene.queue_free()
|
||||
if ResourceLoader.exists(path) == false:
|
||||
return
|
||||
var packed_scene : PackedScene = load(path)
|
||||
render_scene(path, packed_scene)
|
||||
|
||||
|
||||
func render_scene(path: String,packed : PackedScene):
|
||||
scene = packed.instantiate()
|
||||
subview.add_child(scene)
|
||||
|
||||
var bb = get_bounding_box(scene)
|
||||
subview.size = Vector2(max(bb.size.x,bb.size.y),max(bb.size.x,bb.size.y))
|
||||
|
||||
camera.position = bb.position * Vector2(0.5,0.5)
|
||||
|
||||
var vtexture : ViewportTexture = subview.get_texture()
|
||||
texture = vtexture
|
||||
|
||||
|
||||
func get_bounding_box(root: Node2D) -> Rect2:
|
||||
var rect := Rect2();
|
||||
var children := root.get_children();
|
||||
while children:
|
||||
var child = children.pop_back();
|
||||
children.append_array(child.get_children());
|
||||
|
||||
if child.has_method('get_rect') and child.has_method('to_global'):
|
||||
var child_rect := child.get_rect() as Rect2;
|
||||
child_rect.position = child.to_global(child_rect.position);
|
||||
rect = rect.merge(child_rect);
|
||||
|
||||
return rect;
|
||||
|
|
@ -1 +0,0 @@
|
|||
uid://c3cgpwy1qaeww
|
||||
|
|
@ -1,51 +0,0 @@
|
|||
using Godot;
|
||||
using Newlon.Resources;
|
||||
|
||||
[Tool]
|
||||
public partial class DnDSeedpacket : TextureButton
|
||||
{
|
||||
[Signal] public delegate void SaveCallbackEventHandler();
|
||||
[Export] private TextureRect preview;
|
||||
public PlantResource HeldResource;
|
||||
|
||||
public override bool _CanDropData(Vector2 atPosition, Variant data)
|
||||
{
|
||||
if (data.VariantType == Variant.Type.Dictionary)
|
||||
{
|
||||
if ((string)data.AsGodotDictionary()["type"] == "files")
|
||||
{
|
||||
return ResourceLoader.Load(data.AsGodotDictionary()["files"].AsGodotArray<string>()[0]) is PlantResource;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public override void _DropData(Vector2 atPosition, Variant data)
|
||||
{
|
||||
HeldResource = ResourceLoader.Load(data.AsGodotDictionary()["files"].AsGodotArray<string>()[0]) as PlantResource;
|
||||
Update();
|
||||
}
|
||||
public override void _Pressed()
|
||||
{
|
||||
HeldResource = null;
|
||||
Update();
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
RefreshTexture();
|
||||
EmitSignal(SignalName.SaveCallback);
|
||||
}
|
||||
public void RefreshTexture()
|
||||
{
|
||||
if (HeldResource != null)
|
||||
{
|
||||
preview.Texture = HeldResource.Preview;
|
||||
}
|
||||
else
|
||||
{
|
||||
preview.Texture = null;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1 +0,0 @@
|
|||
uid://bhah157u6q56b
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
using Godot;
|
||||
using Newlon.Resources;
|
||||
|
||||
[Tool]
|
||||
public partial class ForbiddableSeedpacket : TextureButton
|
||||
{
|
||||
[Signal] public delegate void SaveCallbackEventHandler();
|
||||
[Export] private TextureRect preview;
|
||||
[Export] private TextureRect forrbidTexture;
|
||||
public PlantResource HeldResource;
|
||||
public bool forbidden = false;
|
||||
public override void _Pressed()
|
||||
{
|
||||
forbidden = !forbidden;
|
||||
Update();
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
RefreshTexture();
|
||||
EmitSignal(SignalName.SaveCallback);
|
||||
}
|
||||
public void RefreshTexture()
|
||||
{
|
||||
preview.Texture = HeldResource.Preview;
|
||||
forrbidTexture.Visible = forbidden;
|
||||
}
|
||||
}
|
||||
|
|
@ -1 +0,0 @@
|
|||
uid://cy5t2lk5g75x7
|
||||
|
|
@ -1,101 +0,0 @@
|
|||
using System.Collections.Generic;
|
||||
using Godot;
|
||||
using Godot.Collections;
|
||||
using Newlon.Components.GUI;
|
||||
using Newlon.Resources;
|
||||
|
||||
[Tool]
|
||||
public partial class SeedpacketEditor : BaseEditor
|
||||
{
|
||||
private const string PLANTS_DIRECTORY = "res://assets/plants/";
|
||||
public override void SetEditedData(AdventureLevelResource data)
|
||||
{
|
||||
base.SetEditedData(data);
|
||||
SetupPrepickedPlants();
|
||||
SetupForbiddablePlants();
|
||||
}
|
||||
|
||||
public override void Save()
|
||||
{
|
||||
CalculatePrepickedPlants();
|
||||
CalculateForbiddenPlants();
|
||||
base.Save();
|
||||
}
|
||||
private void SetupPrepickedPlants()
|
||||
{
|
||||
for (int i = 0; i < editedResource.prepickedPlants.Count; i++)
|
||||
{
|
||||
if (GetNode("%PrepickedContainer").GetChild(i).GetNode("Seedpacket") is DnDSeedpacket packet)
|
||||
{
|
||||
packet.HeldResource = TryGetPlant(editedResource.prepickedPlants[i]);
|
||||
packet.RefreshTexture();
|
||||
}
|
||||
}
|
||||
}
|
||||
private void SetupForbiddablePlants()
|
||||
{
|
||||
var plants = GetPlants();
|
||||
var packed = ResourceLoader.Load<PackedScene>("uid://dymyownbt688c");
|
||||
for (int i = 0; i < plants.Count; i++)
|
||||
{
|
||||
var seedpacket = packed.Instantiate<ForbiddableSeedpacket>();
|
||||
seedpacket.HeldResource = plants[i];
|
||||
seedpacket.forbidden = editedResource.forbiddenPlants.Contains(plants[i].GetInternalID());
|
||||
seedpacket.RefreshTexture();
|
||||
seedpacket.SaveCallback += Save;
|
||||
|
||||
GetNode("%FPlantsContainer").AddChild(seedpacket);
|
||||
}
|
||||
}
|
||||
private void CalculatePrepickedPlants()
|
||||
{
|
||||
Array<string> prepicked = new();
|
||||
foreach (var child in GetNode("%PrepickedContainer").GetChildren())
|
||||
{
|
||||
if (child.GetNode("Seedpacket") is DnDSeedpacket packet && packet.HeldResource != null)
|
||||
{
|
||||
prepicked.Add(packet.HeldResource.GetInternalID());
|
||||
}
|
||||
}
|
||||
editedResource.prepickedPlants = prepicked;
|
||||
}
|
||||
private void CalculateForbiddenPlants()
|
||||
{
|
||||
Array<string> forbidden = new();
|
||||
|
||||
foreach (var child in GetNode("%FPlantsContainer").GetChildren())
|
||||
{
|
||||
if (child is ForbiddableSeedpacket packet && packet.forbidden)
|
||||
{
|
||||
forbidden.Add(packet.HeldResource.GetInternalID());
|
||||
}
|
||||
}
|
||||
|
||||
editedResource.forbiddenPlants = forbidden;
|
||||
}
|
||||
private PlantResource TryGetPlant(string plantName)
|
||||
{
|
||||
foreach (var file in ResourceLoader.ListDirectory(PLANTS_DIRECTORY))
|
||||
{
|
||||
if (plantName != file.TrimSuffix(".tres").ToLower()) continue;
|
||||
return ResourceLoader.Load<PlantResource>(PLANTS_DIRECTORY + file);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
private List<PlantResource> GetPlants()
|
||||
{
|
||||
var result = new List<PlantResource>();
|
||||
|
||||
foreach (var file in ResourceLoader.ListDirectory(PLANTS_DIRECTORY))
|
||||
{
|
||||
result.Add(ResourceLoader.Load<PlantResource>(PLANTS_DIRECTORY + file));
|
||||
}
|
||||
result.Sort((a, b) =>
|
||||
{
|
||||
return a.Order - b.Order;
|
||||
});
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1 +0,0 @@
|
|||
uid://d1ks2q0c3eu0v
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
using Godot;
|
||||
using Newlon.Resources;
|
||||
|
||||
|
||||
[Tool]
|
||||
public partial class ZE_AssetBrowser : HBoxContainer
|
||||
{
|
||||
const string ZOMBIE_PATH = "res://assets/zombies/";
|
||||
private PackedScene scene = ResourceLoader.Load<PackedScene>("uid://iwnklc62rni8");
|
||||
public override void _Ready()
|
||||
{
|
||||
foreach (var file in ResourceLoader.ListDirectory(ZOMBIE_PATH))
|
||||
{
|
||||
var data = ResourceLoader.Load<ZombieResource>(ZOMBIE_PATH + file);
|
||||
var button = scene.Instantiate<ZE_AssetBrowserButton>();
|
||||
button.SetData(data);
|
||||
AddChild(button);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1 +0,0 @@
|
|||
uid://bnuno3uhya4sg
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
using Godot;
|
||||
using Newlon.Resources;
|
||||
|
||||
|
||||
[Tool]
|
||||
public partial class ZE_AssetBrowserButton : PanelContainer
|
||||
{
|
||||
private ZombieResource resource;
|
||||
public void SetData(ZombieResource data)
|
||||
{
|
||||
resource = data;
|
||||
UpdateContent();
|
||||
}
|
||||
private void UpdateContent()
|
||||
{
|
||||
GetNode<TextureRect>("Texture").Texture = resource.Preview;
|
||||
}
|
||||
|
||||
public override Variant _GetDragData(Vector2 atPosition)
|
||||
{
|
||||
return resource;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1 +0,0 @@
|
|||
uid://cpedvgx23hlko
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
using Godot;
|
||||
|
||||
[Tool]
|
||||
public partial class ZE_GridContainer : Control
|
||||
{
|
||||
private PackedScene rowEditorScene = ResourceLoader.Load<PackedScene>("uid://buvnw8a7pku78");
|
||||
private WaveData waveData;
|
||||
[Signal] public delegate void SaveCallbackEventHandler();
|
||||
public void SetData(WaveData data)
|
||||
{
|
||||
waveData = data;
|
||||
foreach (var child in GetChildren())
|
||||
{
|
||||
child.QueueFree();
|
||||
}
|
||||
foreach (var spawn in waveData.zombiesOrdered)
|
||||
{
|
||||
InitEditor(spawn);
|
||||
}
|
||||
}
|
||||
public void AddSpawn()
|
||||
{
|
||||
var spawn = new RowSpawn();
|
||||
waveData.zombiesOrdered.Add(spawn);
|
||||
InitEditor(spawn);
|
||||
}
|
||||
public void RemoveSpawn()
|
||||
{
|
||||
var editor = GetChild<ZE_RowEditor>(GetChildCount() - 1);
|
||||
waveData.zombiesOrdered.Remove(editor.editedSpawn);
|
||||
editor.QueueFree();
|
||||
}
|
||||
private void InitEditor(RowSpawn spawn)
|
||||
{
|
||||
var editor = rowEditorScene.Instantiate<ZE_RowEditor>();
|
||||
editor.editedSpawn = spawn;
|
||||
editor.SaveCallback += Save;
|
||||
AddChild(editor);
|
||||
}
|
||||
private void Save()
|
||||
{
|
||||
EmitSignal(SignalName.SaveCallback);
|
||||
}
|
||||
}
|
||||
|
|
@ -1 +0,0 @@
|
|||
uid://do7s5mo36c280
|
||||
|
|
@ -1,48 +0,0 @@
|
|||
using Godot;
|
||||
using Newlon.Resources;
|
||||
|
||||
|
||||
[Tool]
|
||||
public partial class ZE_GridItem : Control
|
||||
{
|
||||
private ZombieResource resource;
|
||||
public int index;
|
||||
[Signal] public delegate void ResourceChangedEventHandler(ZombieResource resource, int index);
|
||||
public void SetData(ZombieResource data)
|
||||
{
|
||||
resource = data;
|
||||
UpdateContent();
|
||||
}
|
||||
private void UpdateContent()
|
||||
{
|
||||
if (resource == null)
|
||||
{
|
||||
GetNode<TextureRect>("Texture").Texture = null;
|
||||
return;
|
||||
}
|
||||
GetNode<TextureRect>("Texture").Texture = resource.Preview;
|
||||
}
|
||||
|
||||
public override Variant _GetDragData(Vector2 atPosition)
|
||||
{
|
||||
return resource;
|
||||
}
|
||||
public override bool _CanDropData(Vector2 atPosition, Variant data)
|
||||
{
|
||||
return data.AsGodotObject() is ZombieResource;
|
||||
}
|
||||
public override void _DropData(Vector2 atPosition, Variant data)
|
||||
{
|
||||
SetData((ZombieResource)data.AsGodotObject());
|
||||
EmitSignal(SignalName.ResourceChanged, resource, index);
|
||||
}
|
||||
public override void _GuiInput(InputEvent @event)
|
||||
{
|
||||
if (@event is InputEventMouseButton buttonEvent && buttonEvent.ButtonIndex == MouseButton.Right )
|
||||
{
|
||||
SetData(null);
|
||||
EmitSignal(SignalName.ResourceChanged, resource, index);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1 +0,0 @@
|
|||
uid://fof6kr0et8ng
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
using Godot;
|
||||
using Newlon.Resources;
|
||||
|
||||
|
||||
[Tool]
|
||||
public partial class ZE_RowEditor : VBoxContainer
|
||||
{
|
||||
private PackedScene buttonScene = ResourceLoader.Load<PackedScene>("uid://segxys6udhyw");
|
||||
[Signal] public delegate void SaveCallbackEventHandler();
|
||||
public RowSpawn editedSpawn;
|
||||
public override void _Ready()
|
||||
{
|
||||
for (int i = 0; i < editedSpawn.zombies.Count; i++)
|
||||
{
|
||||
var button = buttonScene.Instantiate<ZE_GridItem>();
|
||||
AddChild(button);
|
||||
button.index = i;
|
||||
if (editedSpawn.zombies[i] != null)
|
||||
button.SetData(editedSpawn.zombies[i]);
|
||||
button.ResourceChanged += OnResourceChanged;
|
||||
}
|
||||
}
|
||||
|
||||
public void OnResourceChanged(ZombieResource resource, int index)
|
||||
{
|
||||
editedSpawn.zombies[index] = resource;
|
||||
EmitSignal(SignalName.SaveCallback);
|
||||
}
|
||||
}
|
||||
|
|
@ -1 +0,0 @@
|
|||
uid://q84g5imvatfl
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
using Godot;
|
||||
|
||||
|
||||
[Tool]
|
||||
public partial class ZombieEditor : BaseWaveEditor
|
||||
{
|
||||
[Export] private ZE_GridContainer container;
|
||||
|
||||
public override void SetEditedWave(WaveData data)
|
||||
{
|
||||
editedWave = data;
|
||||
container.SetData(editedWave);
|
||||
}
|
||||
}
|
||||
|
|
@ -1 +0,0 @@
|
|||
uid://bd5hl0etgvf5a
|
||||
Binary file not shown.
|
|
@ -1,11 +0,0 @@
|
|||
[gd_resource type="ShaderMaterial" load_steps=2 format=3 uid="uid://cn7ac4meka1hc"]
|
||||
|
||||
[ext_resource type="Shader" uid="uid://cgc7spjkhsx7c" path="res://assets/shaders/generic_flash.gdshader" id="1_38cc4"]
|
||||
|
||||
[resource]
|
||||
resource_local_to_scene = true
|
||||
shader = ExtResource("1_38cc4")
|
||||
shader_parameter/FLASH_COLOR = Color(0.78, 0.78, 0.78, 0.501961)
|
||||
shader_parameter/HIGHLIGHT_COLOR = Color(0.69, 0, 0, 0.282353)
|
||||
shader_parameter/selected = false
|
||||
shader_parameter/blend = 0.0
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
[gd_resource type="ShaderMaterial" load_steps=2 format=3 uid="uid://jr0vpg030jqv"]
|
||||
|
||||
[ext_resource type="Shader" uid="uid://btf4xhu31ln6n" path="res://assets/shaders/canvas_group_flash.gdshader" id="1_fsu5r"]
|
||||
|
||||
[resource]
|
||||
resource_local_to_scene = true
|
||||
shader = ExtResource("1_fsu5r")
|
||||
shader_parameter/FLASH_COLOR = Color(0.78, 0.78, 0.78, 0.501961)
|
||||
shader_parameter/HIGHLIGHT_COLOR = Color(0.69, 0, 0, 0.282353)
|
||||
shader_parameter/blend = 0.0
|
||||
shader_parameter/selected = false
|
||||
Binary file not shown.
Binary file not shown.
BIN
assets/animations/zombies/polevaulter.res
Normal file
BIN
assets/animations/zombies/polevaulter.res
Normal file
Binary file not shown.
BIN
assets/animations/zombies/polevaulter_without.res
Normal file
BIN
assets/animations/zombies/polevaulter_without.res
Normal file
Binary file not shown.
BIN
assets/animations/zombies/screendoor.res
Normal file
BIN
assets/animations/zombies/screendoor.res
Normal file
Binary file not shown.
|
|
@ -1,9 +0,0 @@
|
|||
[gd_resource type="Resource" script_class="RandomRedirectEffect" load_steps=2 format=3 uid="uid://dsg1vjx76ifgu"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bb6lv1djnqjaw" path="res://scripts/systems/effects/RandomRedirectEffect.cs" id="1_rfumy"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_rfumy")
|
||||
tilesWalked = 0.2
|
||||
Duration = 3.0
|
||||
Slot = "garlic"
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
[gd_resource type="Resource" load_steps=2 format=3 uid="uid://dme4nvp28otq6"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bb6lv1djnqjaw" path="res://scripts/systems/effects/RandomRedirectEffect.cs" id="1_bd12u"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_bd12u")
|
||||
tilesWalked = 0.2
|
||||
Duration = 0.25
|
||||
Slot = "garlic"
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
[gd_resource type="Resource" load_steps=2 format=3 uid="uid://7uj0oe656jfx"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dyc7fc5bfkdii" path="res://scripts/systems/effects/SlownessEffect.cs" id="1_8md01"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_8md01")
|
||||
ColorOverride = Color(0, 1, 1, 1)
|
||||
Multiplier = 0.5
|
||||
Duration = 3.25
|
||||
Slot = "freeze_slow"
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
[gd_resource type="Resource" script_class="PlantResource" load_steps=4 format=3 uid="uid://bf7vjtufjc8kt"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://d4btl7vqi4v0q" path="res://assets/sprites/plants/aloe.tres" id="1_t4137"]
|
||||
[ext_resource type="Script" uid="uid://cyenlko1knygw" path="res://scripts/resources/entities/PlantResource.cs" id="1_vw2kg"]
|
||||
[ext_resource type="PackedScene" uid="uid://bw1w8jp0yeypy" path="res://scenes/entities/plants/aloe.tscn" id="2_6a4ia"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_vw2kg")
|
||||
Layer = 1
|
||||
DontRegister = false
|
||||
NameKey = "aloe"
|
||||
DescriptionKey = "aloe_desc"
|
||||
Cost = 75.0
|
||||
Scene = ExtResource("2_6a4ia")
|
||||
ReloadTime = 15.0
|
||||
ReloadProgress = 0.0
|
||||
Preview = ExtResource("1_t4137")
|
||||
Order = 6
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
[gd_resource type="Resource" script_class="PlantResource" load_steps=5 format=3 uid="uid://ciewunnfalrbb"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cyenlko1knygw" path="res://scripts/resources/entities/PlantResource.cs" id="1_jrx81"]
|
||||
[ext_resource type="Texture2D" uid="uid://bt76iudw2qgnv" path="res://assets/sprites/atlases/plants/cumbucer.png" id="1_tdg4d"]
|
||||
[ext_resource type="PackedScene" uid="uid://cjoyh54cpjla7" path="res://scenes/entities/plants/cucumber.tscn" id="2_0mr6r"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_3gogt"]
|
||||
atlas = ExtResource("1_tdg4d")
|
||||
region = Rect2(2, 1, 41, 65)
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_jrx81")
|
||||
Layer = 1
|
||||
DontRegister = false
|
||||
NameKey = "cucumber"
|
||||
DescriptionKey = "cucumber_desc"
|
||||
Cost = 75.0
|
||||
Scene = ExtResource("2_0mr6r")
|
||||
ReloadTime = 5.0
|
||||
ReloadProgress = 0.0
|
||||
Preview = SubResource("AtlasTexture_3gogt")
|
||||
Order = 8
|
||||
metadata/_custom_type_script = "uid://cyenlko1knygw"
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
[gd_resource type="Resource" script_class="PlantResource" load_steps=4 format=3 uid="uid://btkkaow4tyw55"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://m8e84blnx7yu" path="res://assets/sprites/plants/garlic.tres" id="1_datic"]
|
||||
[ext_resource type="Script" uid="uid://cyenlko1knygw" path="res://scripts/resources/entities/PlantResource.cs" id="1_e15gf"]
|
||||
[ext_resource type="PackedScene" uid="uid://qq0cw8xtcoj3" path="res://scenes/entities/plants/garlic.tscn" id="2_81n0p"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_e15gf")
|
||||
Layer = 1
|
||||
DontRegister = false
|
||||
NameKey = "garlic"
|
||||
DescriptionKey = "garlic_desc"
|
||||
Cost = 50.0
|
||||
Scene = ExtResource("2_81n0p")
|
||||
ReloadTime = 7.5
|
||||
ReloadProgress = 0.0
|
||||
Preview = ExtResource("1_datic")
|
||||
Order = 7
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
[gd_resource type="Resource" script_class="PlantResource" load_steps=5 format=3 uid="uid://8edvnmwu4tyn"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://b06e8xhdy77d1" path="res://assets/sprites/atlases/plants/nerdus.png" id="1_of51r"]
|
||||
[ext_resource type="PackedScene" uid="uid://k5aj2slxar7w" path="res://scenes/entities/plants/nerdus.tscn" id="2_0i6qf"]
|
||||
[ext_resource type="Script" uid="uid://cyenlko1knygw" path="res://scripts/resources/entities/PlantResource.cs" id="3_30qd0"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ivp5w"]
|
||||
atlas = ExtResource("1_of51r")
|
||||
region = Rect2(477, 9, 60, 59)
|
||||
|
||||
[resource]
|
||||
script = ExtResource("3_30qd0")
|
||||
Layer = 1
|
||||
DontRegister = false
|
||||
NameKey = "nerdus"
|
||||
DescriptionKey = "nerdus_desc"
|
||||
Cost = 125.0
|
||||
Scene = ExtResource("2_0i6qf")
|
||||
ReloadTime = 10.0
|
||||
ReloadProgress = 0.0
|
||||
Preview = SubResource("AtlasTexture_ivp5w")
|
||||
Order = 10
|
||||
metadata/_custom_type_script = "uid://cyenlko1knygw"
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
[gd_resource type="Resource" script_class="PlantResource" load_steps=4 format=3 uid="uid://c8rr1dc7mjr3d"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cyenlko1knygw" path="res://scripts/resources/entities/PlantResource.cs" id="1_amvh8"]
|
||||
[ext_resource type="Texture2D" uid="uid://ot1n4nval86w" path="res://assets/sprites/plants/peashooter.tres" id="1_rnq6r"]
|
||||
[ext_resource type="PackedScene" uid="uid://dy41q1kxray5t" path="res://scenes/entities/plants/peashooter.tscn" id="1_rqf2x"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_amvh8")
|
||||
Layer = 1
|
||||
DontRegister = false
|
||||
NameKey = "peashooter"
|
||||
DescriptionKey = "peashooter_desc"
|
||||
Cost = 75.0
|
||||
Scene = ExtResource("1_rqf2x")
|
||||
ReloadTime = 5.0
|
||||
ReloadProgress = 0.0
|
||||
Preview = ExtResource("1_rnq6r")
|
||||
Order = 0
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
[gd_resource type="Resource" script_class="PlantResource" load_steps=4 format=3 uid="uid://bu25xgjd68gv8"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cyenlko1knygw" path="res://scripts/resources/entities/PlantResource.cs" id="1_33j6b"]
|
||||
[ext_resource type="Texture2D" uid="uid://bhmnt3x5aj1l8" path="res://assets/sprites/plants/potatomine.tres" id="1_xk2pg"]
|
||||
[ext_resource type="PackedScene" uid="uid://b5x35v3w2u8dx" path="res://scenes/entities/plants/potato_mine.tscn" id="2_ig2ti"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_33j6b")
|
||||
Layer = 1
|
||||
DontRegister = false
|
||||
NameKey = "potatomine"
|
||||
DescriptionKey = "potatomine_desc"
|
||||
Cost = 25.0
|
||||
Scene = ExtResource("2_ig2ti")
|
||||
ReloadTime = 25.0
|
||||
ReloadProgress = 0.0
|
||||
Preview = ExtResource("1_xk2pg")
|
||||
Order = 3
|
||||
|
|
@ -1,35 +0,0 @@
|
|||
[gd_resource type="Resource" script_class="PlantResource" load_steps=10 format=3 uid="uid://b4r1687hg0rf5"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://dvldjlg0nr355" path="res://assets/sprites/atlases/atlas1.png" id="1_6km43"]
|
||||
[ext_resource type="Texture2D" uid="uid://dhf2opi0brx23" path="res://assets/sprites/gui/almanach/premium_field.tres" id="1_ormja"]
|
||||
[ext_resource type="PackedScene" uid="uid://bb4ya5qx224ca" path="res://scenes/entities/plants/repeater.tscn" id="2_6km43"]
|
||||
[ext_resource type="Texture2D" uid="uid://31jc2e7dijas" path="res://assets/sprites/gui/PremiumPlantCard.tres" id="2_8djti"]
|
||||
[ext_resource type="Script" uid="uid://cyenlko1knygw" path="res://scripts/resources/entities/PlantResource.cs" id="3_e606l"]
|
||||
[ext_resource type="Script" uid="uid://3m7xks3xq3hl" path="res://scripts/gui/seedpackets/CustomSeedpacketFrame.cs" id="3_qnhmj"]
|
||||
|
||||
[sub_resource type="LabelSettings" id="LabelSettings_2f3e1"]
|
||||
|
||||
[sub_resource type="Resource" id="Resource_87lkl"]
|
||||
script = ExtResource("3_qnhmj")
|
||||
frame = ExtResource("2_8djti")
|
||||
font = SubResource("LabelSettings_2f3e1")
|
||||
almanachField = ExtResource("1_ormja")
|
||||
metadata/_custom_type_script = "uid://3m7xks3xq3hl"
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_qnsfo"]
|
||||
atlas = ExtResource("1_6km43")
|
||||
region = Rect2(604, 241, 45, 51)
|
||||
|
||||
[resource]
|
||||
script = ExtResource("3_e606l")
|
||||
Layer = 1
|
||||
DontRegister = false
|
||||
NameKey = "repeater"
|
||||
DescriptionKey = "repeater_desc"
|
||||
Cost = 175.0
|
||||
Scene = ExtResource("2_6km43")
|
||||
ReloadTime = 5.0
|
||||
ReloadProgress = 0.0
|
||||
Preview = SubResource("AtlasTexture_qnsfo")
|
||||
CustomFrame = SubResource("Resource_87lkl")
|
||||
Order = 12
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
[gd_resource type="Resource" script_class="PlantResource" load_steps=5 format=3 uid="uid://drb8nk0i3oyyl"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://dvldjlg0nr355" path="res://assets/sprites/atlases/atlas1.png" id="1_1eecn"]
|
||||
[ext_resource type="PackedScene" uid="uid://bmk41n57j7hgx" path="res://scenes/entities/plants/snipach.tscn" id="1_h5ln5"]
|
||||
[ext_resource type="Script" uid="uid://cyenlko1knygw" path="res://scripts/resources/entities/PlantResource.cs" id="1_u5a4p"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_dgfdr"]
|
||||
atlas = ExtResource("1_1eecn")
|
||||
region = Rect2(525, 241, 79, 72)
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_u5a4p")
|
||||
Layer = 1
|
||||
DontRegister = false
|
||||
NameKey = "snipach"
|
||||
DescriptionKey = "snipach_desc"
|
||||
Cost = 400.0
|
||||
Scene = ExtResource("1_h5ln5")
|
||||
ReloadTime = 7.5
|
||||
ReloadProgress = 0.0
|
||||
Preview = SubResource("AtlasTexture_dgfdr")
|
||||
Order = 11
|
||||
metadata/_custom_type_script = "uid://cyenlko1knygw"
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
[gd_resource type="Resource" script_class="PlantResource" load_steps=4 format=3 uid="uid://duflq3eexs6m"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cyenlko1knygw" path="res://scripts/resources/entities/PlantResource.cs" id="1_0cpi0"]
|
||||
[ext_resource type="Texture2D" uid="uid://cu7h8bot6jlug" path="res://assets/sprites/plants/snowpea.tres" id="1_7fyy2"]
|
||||
[ext_resource type="PackedScene" uid="uid://b7innrovtmf5u" path="res://scenes/entities/plants/snowpea.tscn" id="2_k47h0"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_0cpi0")
|
||||
Layer = 1
|
||||
DontRegister = false
|
||||
NameKey = "snowpea"
|
||||
DescriptionKey = "snowpea_desc"
|
||||
Cost = 175.0
|
||||
Scene = ExtResource("2_k47h0")
|
||||
ReloadTime = 5.0
|
||||
ReloadProgress = 0.0
|
||||
Preview = ExtResource("1_7fyy2")
|
||||
Order = 5
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
[gd_resource type="Resource" script_class="PlantResource" load_steps=4 format=3 uid="uid://cas11tg6chiu4"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cyenlko1knygw" path="res://scripts/resources/entities/PlantResource.cs" id="1_0bymo"]
|
||||
[ext_resource type="Texture2D" uid="uid://baqfahxkcvfe1" path="res://assets/sprites/plants/Spikeweed.tres" id="1_2ol2i"]
|
||||
[ext_resource type="PackedScene" uid="uid://bdhod5c6o53ha" path="res://scenes/entities/plants/spikeweed.tscn" id="2_iv8de"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_0bymo")
|
||||
Layer = 1
|
||||
DontRegister = false
|
||||
NameKey = "spikeweed"
|
||||
DescriptionKey = "spikeweed_desc"
|
||||
Cost = 100.0
|
||||
Scene = ExtResource("2_iv8de")
|
||||
ReloadTime = 5.0
|
||||
ReloadProgress = 0.0
|
||||
Preview = ExtResource("1_2ol2i")
|
||||
Order = 4
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
[gd_resource type="Resource" script_class="PlantResource" load_steps=4 format=3 uid="uid://drm42f48urvc4"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://iw75j816gbc" path="res://assets/sprites/plants/sunflower.tres" id="1_8rd5i"]
|
||||
[ext_resource type="PackedScene" uid="uid://bg7lomiorxo2c" path="res://scenes/entities/plants/sunflower.tscn" id="2_gcyr5"]
|
||||
[ext_resource type="Script" uid="uid://cyenlko1knygw" path="res://scripts/resources/entities/PlantResource.cs" id="3_vt4jc"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("3_vt4jc")
|
||||
Layer = 1
|
||||
DontRegister = false
|
||||
NameKey = "sunflower"
|
||||
DescriptionKey = "sunflower_desc"
|
||||
Cost = 50.0
|
||||
Scene = ExtResource("2_gcyr5")
|
||||
ReloadTime = 5.0
|
||||
ReloadProgress = 1.0
|
||||
Preview = ExtResource("1_8rd5i")
|
||||
Order = 1
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
[gd_resource type="Resource" script_class="PlantResource" load_steps=4 format=3 uid="uid://bnhwg57euiyf5"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://8se1nscal0em" path="res://assets/sprites/plants/threepeater.tres" id="1_hinp6"]
|
||||
[ext_resource type="PackedScene" uid="uid://eegv1qihfv2q" path="res://scenes/entities/plants/threepeater.tscn" id="2_uqpu0"]
|
||||
[ext_resource type="Script" uid="uid://cyenlko1knygw" path="res://scripts/resources/entities/PlantResource.cs" id="3_3lugi"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("3_3lugi")
|
||||
Layer = 1
|
||||
DontRegister = false
|
||||
NameKey = "threepeater"
|
||||
DescriptionKey = "threepeater_desc"
|
||||
Cost = 275.0
|
||||
Scene = ExtResource("2_uqpu0")
|
||||
ReloadTime = 5.0
|
||||
ReloadProgress = 0.0
|
||||
Preview = ExtResource("1_hinp6")
|
||||
Order = 9
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
[gd_resource type="Resource" script_class="PlantResource" load_steps=4 format=3 uid="uid://c2e2yj7rgoswi"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://g2oppl54efja" path="res://assets/sprites/plants/Wallnut.tres" id="1_2akap"]
|
||||
[ext_resource type="Script" uid="uid://cyenlko1knygw" path="res://scripts/resources/entities/PlantResource.cs" id="1_27l0t"]
|
||||
[ext_resource type="PackedScene" uid="uid://bq7imkpr2yqyr" path="res://scenes/entities/plants/wallnut.tscn" id="2_rkn3h"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_27l0t")
|
||||
Layer = 1
|
||||
DontRegister = false
|
||||
NameKey = "wallnut"
|
||||
DescriptionKey = "wallnut_desc"
|
||||
Cost = 50.0
|
||||
Scene = ExtResource("2_rkn3h")
|
||||
ReloadTime = 20.0
|
||||
ReloadProgress = 0.0
|
||||
Preview = ExtResource("1_2akap")
|
||||
Order = 2
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
[gd_resource type="Resource" script_class="PlantReward" load_steps=4 format=3 uid="uid://co53dl5pxc0nr"]
|
||||
|
||||
[ext_resource type="Resource" uid="uid://bf7vjtufjc8kt" path="res://assets/plants/Aloe.tres" id="1_v5yns"]
|
||||
[ext_resource type="PackedScene" uid="uid://myjhi5m0eaap" path="res://scenes/templates/plant_reward.tscn" id="2_6fujh"]
|
||||
[ext_resource type="Script" uid="uid://c8e40t5nbo83r" path="res://scripts/resources/PlantReward.cs" id="3_0ahmi"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("3_0ahmi")
|
||||
Plant = ExtResource("1_v5yns")
|
||||
Scene = ExtResource("2_6fujh")
|
||||
Name = "aloe"
|
||||
Description = "rwd_aloe"
|
||||
metadata/_custom_type_script = "uid://c8e40t5nbo83r"
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
[gd_resource type="Resource" script_class="PlantReward" load_steps=4 format=3 uid="uid://b7jjqhhb6cv7i"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://myjhi5m0eaap" path="res://scenes/templates/plant_reward.tscn" id="1_nwe4k"]
|
||||
[ext_resource type="Resource" uid="uid://ciewunnfalrbb" path="res://assets/plants/Cucumber.tres" id="1_y7bpw"]
|
||||
[ext_resource type="Script" uid="uid://c8e40t5nbo83r" path="res://scripts/resources/PlantReward.cs" id="2_y7bpw"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("2_y7bpw")
|
||||
Plant = ExtResource("1_y7bpw")
|
||||
Scene = ExtResource("1_nwe4k")
|
||||
Name = "cucumber"
|
||||
Description = "rwd_cucumber"
|
||||
metadata/_custom_type_script = "uid://c8e40t5nbo83r"
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue