Sign in to follow this  
OpenAI

[Вопрос] Element tree

Recommended Posts

Добрый вечер всем! Занимаюсь скриптингом недавно, взялся за изучение Element tree, прочитал статью на wiki, но не понял. Может кто-нибудь чуть подробней описать про дерево элементов. Допустим root - это корень, может кто привести пример что именно берется за root, сервер в общеем? Если кому не сложно, объяснить на простых примерах. 
Так же по поводу getRootElement(), я вроде бы прочитал статью, но не могу понять для чего она используется, так же кто может, на простом примере показать зачем она. 
Заранее спасибо.

Share this post


Link to post

Дерево элементов - это простейшая структура, которая напоминает собой настоящее дерево с ветвями. Места объединения ветвей называют узлами или нодами. Root - это нематериальный узел, который просто стоит выше всех в дереве. Ниже идут узлы игроков и ресурсов. Дерево очень полезно при вызове определенных событий. Например, если мы хотим, чтобы событие распространялось на все элементы дерева - нужно просто вызвать triggerEvent и указать root или getRootElement(). При этом событие пройдет по всем ветвям и узлам, дав о себе знать всем без исключения нодам. Но представим ситуацию, что мы хотим затронуть лишь определенные узлы, начиная с некоторого. Что для этого нужно сделать? Верно, расположить эти узлы под каким-то другим узлом и вызвать triggerEvent, указав этот самый узел. Событие будет распространяться только по нисходящим дочерним узлам. Функция getElementRoot() возвращает root элемент. То есть, можно сказать root = getElementRoot(), они идентичны, и переменная root нужна просто для удобства. Точно так же обстоят дела с getResourceElement(getThisResource()), которая идентична resourceRoot. Если мы хотим, чтобы событие затронуло только элементы под узлом resourceRoot - мы вызываем triggerEvent("onSomeEvent", resourceRoot, ...). Если заходить дальше, то вызов triggerEvent так же затрагивает узлы выше. То есть, triggerEvent("onSomeEvent", player, ... ) так же даст о себе знать root элементу. По поводу того, что такое дерево можно более подробно поискать в интернетах.

Edited by TEDERIs
  • Like 1

Share this post


Link to post

Спасибо большое, очень понятно объяснил.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.