Play button in editor
This commit is contained in:
parent
ad56c6f61f
commit
285b90f503
6 changed files with 38 additions and 5 deletions
|
|
@ -55,11 +55,21 @@ public partial class AdventureEditor : MarginContainer
|
|||
HardReload();
|
||||
}
|
||||
}
|
||||
public override void _ExitTree()
|
||||
{
|
||||
EditorInterface.Singleton.GetInspector().PropertyEdited -= OnInspectorPropertyChanged;
|
||||
public void Play()
|
||||
{
|
||||
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
|
||||
19
addons/pvzadventure/scripts/AdventurePlayer.cs
Normal file
19
addons/pvzadventure/scripts/AdventurePlayer.cs
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
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
addons/pvzadventure/scripts/AdventurePlayer.cs.uid
Normal file
1
addons/pvzadventure/scripts/AdventurePlayer.cs.uid
Normal file
|
|
@ -0,0 +1 @@
|
|||
uid://bbkfrk07l6kev
|
||||
Loading…
Add table
Add a link
Reference in a new issue