pixeye | Дата: Среда, 01 Февраля 2012, 21:09 | Сообщение # 1 |
Red Winter Software
Сейчас нет на сайте
| ObjUtility
Инфо
Написан для использования на движке Unity3d на C#.
О чем скрипт
Часто возникает ситуация, что у человека имеется сложный объект состоящий из множества дочерних объектов. При этом может возникнуть ситуация когда человеку нужно активировать конкретный список объектов незатрагивая остальные. В unity есть такой замечательный метод как SetActiveRecursively, однако он включает/выключает родитель-объект и все вложенные объекты, что неудобно.
Данный скрипт позволяет сортировать дочерние объекты ( и не только ) в группы по смысловому значению. В последствии можно активировать/деактивировать группы объектов одной строчкой кода.
Список методов - AddObjects(string id, GameObject obj0.....6)
Где string id - название группы объектов. obj0....6 - объекты которые надо добавить в группу. - manualAddObjects(string id, List<GameObject> obj)
Если нужно добавить в группу больше 6 объектов, то нужно создать List<GameObject> игровых объектов предварительно. - ClearAll()
Убивает все группы объекта - ClearTable(string id)
Очистить выбранную группу - OverrideTable(string id,List<GameObject> obj)
Перезаписать выбранную группу на новый list игровых объектов - ActivateObject(string id)
Активирует выбранную группу объектов - DeactivateObject(string id)
Деактивирует выбранную группу объектов
Как пользоваться пошагово
1. Добавить скрипт в ваш проект. Назвав его objUtility.cs
2. В начале скрипта где вы хотите использовать objUtility добавить using System.Collections.Generic; (На тот случай если нужно будет переписывать группу или вы планируете добавлять больше 6 объектов за раз )
3. Добавить objUtility в нужный скрипт. objUtility objUtil; (пример, название может быть любым)
4. Инициализировать его, например в Start() objUtil = new objUtility();
5. Добавить объекты objUtil.AddObjects("head",eyes,face,nose);
6. Например деактивировать. objUtil.DeactivateObject("head");
Скачать objUtility objUtility.cs
PS
Совместимость с JS скриптами не проверялась, при необходимости можно легко переписать под JS, или попросить меня, хотя думается мне такие маленькие штуки тут себе много кто пишет;-)
ACTORS - мой фреймворк на Unity Until We Die - игра над которой работаю
Сообщение отредактировал pixeye - Среда, 01 Февраля 2012, 21:09 |
|
| |