2075 / Unity / 2D / 3D / Шаблони / Стратегія (Strategy)
Дає можливість підставляти інший алгоритм дій об'єкту
при народженні, чи під час взаємодії з іншими об'єктами
Мотори: бензиновий, електричний чи водневий
Пошкодження: мінус життя, мінус вода чи мінус броня
Рух: стояти, лінійно чи з прискоренням
Рух: на 4х лапах, на 2х лапах чи повзти
Рух: ходити чи плавати

Різні стратегії потрапляння до аеропорту

public class Player : MonoBehaviour { IMove action; private 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(); } } public void FixedUpdate() { action.Move(); // Swim, Walk or Run } }
public interface IMove { void Move(); }
public class Swim : IMove { public void Move() { Debug.Log("Swim"); } }
public class Walk : IMove { public void Move() { Debug.Log("Walk"); } }
public class Run : IMove { public void Move() { Debug.Log("Run"); } }
Або передати поведінку як параметр public void DoAction(IAction action){ action?.Move() } Машина, що може змінювати мотор під час руху
| Car | ||
| IMove | ||
| PatrolEngine | ElectricEngine | HydrogeneEngine |
