Слияние кода завершено, страница обновится автоматически
MGS.DesignPattern
// Реализовать пользовательский объект.
public class CustomObject : IResettable
{
public void Reset()
{
//TODO: сбросить объект.
}
public void Dispose()
{
//TODO: удалить объект.
}
}
// Использовать ObjectPoolPro в своём классе.
public class TestCase
{
public TestCase()
{
// Создать пул для CustomObject.
var pool = new ObjectPoolPro<CustomObject>();
// Взять экземпляр CustomObject из пула.
var obj = pool.Take();
// Вернуть объект в пул, если он больше не нужен.
pool.Recycle(obj);
}
}
// Префаб как шаблон многоразового игрового объекта.
var pool = GameObjectPoolManager.Instance.CreatePool(poolName, prefab);
// Использовать имя пула, чтобы найти экземпляр пула у менеджера, если мы его не держим.
var pool = GameObjectPoolManager.Instance.FindPool(poolName);
// Взять игровой объект, такой же, как префаб.
var go = pool.Take();
// Вернуть игровой объект в пул, если он больше не нужен.
pool.Recycle(go);
// Взять игровой объект и получить или добавить компонент.
var cpnt = pool.Take<Bullet>();
// Вернуть игровой объект компонента в пул, если он больше не нужен.
pool.Recycle(cpnt);
// Пользовательский класс с единственным экземпляром.
public sealed class TestSingleton : Singleton<TestSingleton>
{
public string testField = "Test Field";
// Закрытый конструктор без параметров для обеспечения синглтона.
private TestSingleton() { }
}
// Используйте Instance для доступа к полям, свойствам и методам.
var testInfo = TestSingleton.Instance.testField;
// Пользовательский класс с единственным экземпляром и потоком управления.
public sealed class TestSingleCruiser : SingleCruiser<TestSingleCruser>
{
// Закрытый конструктор без параметров для обеспечения синглтона.
private TestSingleUpdater() { }
protected override void Cruise()
{
// TODO: сделать что-то.
}
}
// Предоставляет автоматически создаваемый, ленивый и потокобезопасный единственный экземпляр компонента T;
// Указанный компонент T должен иметь модификатор доступа sealed для обеспечения синглтона.
// Не добавляйте компонент T ни к одному игровому объекту самостоятельно.
public sealed class UIManager : SingleComponent<UIManager>
{
public RectTransfrom FindUI(string name)
{
// TODO:
}
}
// Используйте Instance для доступа к полям, свойствам и методам.
var helpUI = UIManager.Instance.FindUI("UI_Help");
// Используйте свойства и методы, наследуемые от MonoBehaviour.
SingleBehaviour.Instance.StartCoroutine(coroutine);
// Используйте расширенные события.
SingleBehaviour.Instance.OnApplicationQuitEvent += () =>
{
// TODO:
};
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )