Ryle Radio 1.0.1
An open-source "radio" system for Unity, allowing tracks, tuning, broadcasters, and more!
Loading...
Searching...
No Matches
RadioComponent.cs
1using UnityEngine;
2
4{
5
6 /// <summary>
7 /// A scene component that holds a reference to a \ref RadioData
8 /// </summary>
9 public abstract class RadioComponent : MonoBehaviour
10 {
11 /// <summary>
12 /// The \ref RadioData (aka just radio) that this component is linked to
13 /// </summary>
14 [SerializeField] protected RadioData data;
15
16 /// <summary>
17 /// Read-only accessor for \ref data
18 /// </summary>
19 public RadioData Data => data;
20
21
22 /// <summary>
23 /// Initialises this component
24 /// </summary>
25 public abstract void Init();
26
27
28 /// <summary>
29 /// Link \ref Init() to the radio's init
30 /// </summary>
31 private void Awake()
32 {
33 data.OnInit += _ => Init();
34 }
35
36 /// <summary>
37 /// Unlink \ref Init() from the radio's init
38 /// </summary>
39 private void OnDestroy()
40 {
41 data.OnInit -= _ => Init();
42 }
43 }
44
45}
A scene component that holds a reference to a RadioData.
RadioData Data
Read-only accessor for data.
void OnDestroy()
Unlink Init() from the radio's init.
void Awake()
Link Init() to the radio's init.
void Init()
Initialises this component.
RadioData data
The RadioData (aka just radio) that this component is linked to.
The central data object defining the radio. Contains the tracks and information required to play the ...
Definition RadioData.cs:17
Base interfaces and classes for components, e.g: track accessors, output accessors.