Skip to content

Commit 6181569

Browse files
committed
feat: add OnPushed and OnPopped methods for view stack management
1 parent a0280e0 commit 6181569

2 files changed

Lines changed: 9 additions & 0 deletions

File tree

Assets/PurrUI/Runtime/MonoView.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,11 @@ public class MonoView : MonoBehaviour
2020

2121
public Canvas canvas { get; private set; }
2222

23+
public virtual void OnPushed() { }
24+
25+
public virtual void OnPopped() { }
26+
27+
2328
public void Initialize(ViewStack parentStack)
2429
{
2530
this.parentStack = parentStack;

Assets/PurrUI/Runtime/ViewStack.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,7 @@ public MonoView Push(MonoView prefab)
119119
_stack.Add(instance);
120120
instance.Initialize(this);
121121
instance.UpdateOrder(idx + _orderOffset);
122+
instance.OnPushed();
122123

123124
var transition = instance.EnterTransition();
124125
if (transition != null)
@@ -254,6 +255,7 @@ public T Push<T>() where T : MonoView
254255
_stack.Add(instance);
255256
instance.Initialize(this);
256257
instance.UpdateOrder(idx + _orderOffset);
258+
instance.OnPushed();
257259

258260
var transition = instance.EnterTransition();
259261
if (transition != null)
@@ -284,6 +286,7 @@ public void Pop()
284286

285287
var topView = _stack[^1];
286288
_stack.RemoveAt(_stack.Count - 1);
289+
topView.OnPopped();
287290

288291
var transition = topView.ExitTransition();
289292
if (transition != null)
@@ -339,6 +342,7 @@ public void Pop(MonoView instance)
339342
}
340343

341344
_stack.RemoveAt(idx);
345+
instance.OnPopped();
342346

343347
var transition = instance.ExitTransition();
344348
if (transition != null)

0 commit comments

Comments
 (0)