2075 / Unity / 2D / 3D / Шаблони / Інтерфейс
Інтерфейс формує взаємодію між класами через публічні функції
Коли скрипти різні (успадкування не підходить), але мають спільну поведінку
public interface IMove { void Move(); }
public class Player : MonoBehaviour { IMove action; void Start() { int x = Random.Range(1,4); if (x == 1) { action = new Walk(); } else if (x == 2) { action = new Swim(); } else { action = new Run(); } } void FixedUpdate() { action.Move(); } }
public class Walk : IMove { public void Move() { Debug.Log("Walk"); } }
public class Swim : IMove { public void Move() { Debug.Log("Swim"); } }
public class Run : IMove { public void Move() { Debug.Log("Run"); } }
Хитрощі obj.GetComponent<IMove>().move();
