54 lines
1.5 KiB
C#
54 lines
1.5 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
namespace MoreMountains.Tools
|
|
{
|
|
/// <summary>
|
|
/// A test class used to demonstrate the MMObservable pattern in the MMObservableDemo scene
|
|
/// This one disables itself on Awake, and passively listens for changes, even when disabled
|
|
/// </summary>
|
|
public class MMObservableDemoObserverAutoSleep : MonoBehaviour
|
|
{
|
|
public MMObservableDemoSubject TargetSubject;
|
|
|
|
protected virtual void OnSpeedChange()
|
|
{
|
|
this.transform.position = this.transform.position.MMSetY(TargetSubject.PositionX.Value);
|
|
}
|
|
|
|
/// <summary>
|
|
/// On awake we start listening for changes
|
|
/// </summary>
|
|
protected virtual void Awake()
|
|
{
|
|
TargetSubject.PositionX.OnValueChanged += OnSpeedChange;
|
|
this.enabled = false;
|
|
}
|
|
|
|
/// <summary>
|
|
/// On destroy we stop listening for changes
|
|
/// </summary>
|
|
protected virtual void OnDestroy()
|
|
{
|
|
TargetSubject.PositionX.OnValueChanged -= OnSpeedChange;
|
|
}
|
|
|
|
/// <summary>
|
|
/// On enable we do nothing
|
|
/// </summary>
|
|
protected virtual void OnEnable()
|
|
{
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
/// On disable we do nothing
|
|
/// </summary>
|
|
protected virtual void OnDisable()
|
|
{
|
|
|
|
}
|
|
}
|
|
}
|