Skip to content

Commit

Permalink
Added 'Clear' button to the tree editor.
Browse files Browse the repository at this point in the history
  • Loading branch information
Hermanest committed Dec 19, 2024
1 parent 9dcb646 commit 27f919e
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 11 deletions.
13 changes: 8 additions & 5 deletions Source/3_AssetBundle/Christmas/ChristmasTree.cs
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ public void SetOrnamentsMovement(bool value) {
ornament.CanGrab = value;
}
}

public void SetMoverFull(bool value) {
_moverFull = value;
_mover.SetEnabled(_moverFull, _moverRestricted);
Expand Down Expand Up @@ -127,15 +127,18 @@ internal void RemoveOrnament(ChristmasTreeOrnament ornament) {
_ornaments.Remove(ornament);
}

private async Task LoadOrnaments(ChristmasTreeSettings settings) {
var size = settings.ornaments.Length;
var tasks = new Task[size];

internal void ClearOrnaments() {
foreach (var ornament in _ornaments) {
ornament.Deinit();
OrnamentsPool.Despawn(ornament);
}
_ornaments.Clear();
}

private async Task LoadOrnaments(ChristmasTreeSettings settings) {
var size = settings.ornaments.Length;
var tasks = new Task[size];
ClearOrnaments();

for (var i = 0; i < size; i++) {
tasks[i] = OrnamentsPool.PreloadAsync(settings.ornaments[i].bundleId);
Expand Down
1 change: 1 addition & 0 deletions Source/8_UI/Christmas/TreeEditor/ChristmasTreeEditor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ public void Setup(ChristmasTree tree) {
_tree = tree;
_ornamentStore.Setup(tree.OrnamentsPool);
_bonusOrnamentStore.Setup(tree.OrnamentsPool);
_editorPanel.Setup(tree);
}

public void Present() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,12 @@ internal class ChristmasTreeEditorControlPanel : ReeUIComponentV2 {
#region Setup

private StaticScreen _screen = null!;

private ChristmasTree _tree = null!;

public void Setup(ChristmasTree tree) {
_tree = tree;
}

public void SetLoading(bool loading) {
_bgGroup.alpha = loading ? 0.3f : 1f;
_bgGroup.interactable = !loading;
Expand All @@ -56,6 +61,11 @@ protected override void OnInitialize() {

#region Callbacks

[UIAction("clear-click"), UsedImplicitly]
private void HandleClearClicked() {
_tree.ClearOrnaments();
}

[UIAction("cancel-click"), UsedImplicitly]
private void HandleCancelClicked() {
ChristmasTreeRequest.SendRequest();
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
<vertical id="bg" pref-width="40" pref-height="24" vertical-fit="PreferredSize">
<vertical id="bg" pref-width="44" pref-height="24" vertical-fit="PreferredSize">
<horizontal pref-height="16" bg="round-rect-panel">
<text text="TIP: Use joysticks on your controllers to rotate the tree" align="Center" word-wrapping="true"/>
</horizontal>
<horizontal pref-height="8" spacing="2">
<button text="Cancel" on-click="cancel-click" horizontal-fit="Unconstrained"/>
<primary-button text="Save" on-click="save-click" horizontal-fit="Unconstrained"/>
<button text="Clear" on-click="clear-click" horizontal-fit="Unconstrained"/>
<primary-button text="Save" on-click="save-click" horizontal-fit="PreferredSize"/>
</horizontal>
<vertical id="loading-indicator" ignore-layout="true" pref-width="40" pref-height="24">
<loading-indicator size-delta-x="42" size-delta-y="14"/>
</vertical>
<bg id="loading-indicator" ignore-layout="true" pref-width="40" pref-height="24">
<loading-indicator size-delta-x="14" size-delta-y="14"/>
</bg>
</vertical>

0 comments on commit 27f919e

Please sign in to comment.