You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
o3de/Tools/SerializeContextAnalyzer/Text_Utilities.jinja

39 lines
1.3 KiB
Django/Jinja

{####
# Copyright (c) Contributors to the Open 3D Engine Project.
# For complete copyright and license terms please see the LICENSE at the root of this distribution.
#
# SPDX-License-Identifier: Apache-2.0 OR MIT
#
####-#}
{% macro PrintName(uuid, class) %}
{% if class.Namespace is defined %}
{% set className = "{0}::{1}".format(class.Namespace, class.Name) %}
{% else %}
{% set className = class.Name %}
{% endif %}
{% if class.Id == className %}
{{ uuid }} - {{class.Id}}
{% else %}
{{ uuid }} - {{class.Id}} - {{className}}
{% endif %}
{%- endmacro -%}
{% macro PrintPrimitive(context, uuid) %}
{% if context[uuid] is defined and context[uuid].IsPrimitive %}
[Primitive]
{%- endif -%}
{%- endmacro -%}
{% macro PrintClassContent(context, indention, uuid) %}
{% if context[uuid] is defined %}
{% for base in context[uuid].Bases -%}
{{ ' '|safe*indention}}{{ base.Type }} [Base]
{{ PrintClassContent(context, indention + 2, base.Uuid) -}}
{% endfor -%}
{% for field in context[uuid].Fields -%}
{{ ' '|safe*indention}}{{ field.Type }} {{ field.Name }} {{ PrintPrimitive(context, field.Uuid) }}
{{ PrintClassContent(context, indention + 2, field.Uuid) -}}
{% endfor -%}
{% endif -%}
{% endmacro -%}