Готовый перевод C# Game Programming Cookbook for Unity 3D / Программирование игр на Unity 3D C#. Книга готовых решений.: 2.2.3 ExtendedCustomMonoBehavior.cs
*Нуждается в поправке*
Расширение MonoBehavior является полезным способом избежать повторения общих функций или объявления переменных. Многие классы доля функций and/or переменных. Например, большинство сценариев в этой книге используют переменную с именем myTransform для обозначения в кэше версий своих преобразований, чтобы спасти необходимость просмотра на преобразования каждый раз мы нуждаемся получить к ним доступ. Поскольку MonoBehavior предоставляет множество системных функций и вызовов, создания новых классов, которые распространяются, то это может быть полезным инструментом, чтобы иметься в комплекте. В то время как новый класс будет использовать MonoBehavior, мы просто произойдем из нового ExtendedCustomMonoBehavior вместо скрипта.
Для скриптов в этой книге скрипт ExtendedCustomMonoBehavior.cs распространяется чтобы включить MonoBehavior.
1. переменная myTransform держит в кэше ссылки на transform.
2. переменная myGO держит в кэше ссылки на gameObject
3. переменная myBody держит в кэше ссылки на rigidBody
4. булева переменная didinit на определение, действительно ли был инициализирован скрипт
*id - идентификатор*
5. переменная integer вызвавшая id держит номер id.
6. Тип переменной Vector3 который вызвал tempVEC для использования на временных векторных действях
7. Преобразование переменной вызвавшей tempTR используется для каких-либо временных ссылок на преобразования
8. функция вызвавшая SetID(integer) чтобы другие классы могли установить переменную id.
скриптинг для этого класса довольно прост и содержит в основном объявления переменных:
public class ExtendedCustomMonoBehavior : MonoBehavior
{
// This class is used to add some common variables to
// MonoBehavior, rather than constantly repeating
// the same declarations in every class.
public Transform myTransform;
public GameObject myGO;
public Rigidbody myBody;
public bool didInit;
public bool canControl;
public int id;
[System.NonSerialized]
public Vector3 tempVEC;
[System.NonSerialized]
public Transform tempTR;
public virtual void SetID( int anID )
{
id= anID;
}
}
Внимание! Этот перевод, возможно, ещё не готов.
Его статус: идёт перевод
Переведено на Нотабеноиде
http://notabenoid.org/book/55263/242440
Переводчики: ilia1395, Zeke0028
Настройки
Готово:
