Вторник, 26 Ноября 2024, 07:01

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
ObjUtility - простая сортировка дочерних объектов
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
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг