<?xml version="1.0" encoding="utf-8"?>
<!-- Nomai Text -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
    <!-- Nomai Text Info -->
    <xs:element name="NomaiObject">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="TextBlock" type="TextBlock" minOccurs="0" maxOccurs="unbounded">
                    <xs:annotation>
                        <xs:documentation>
                            The different text blocks of this object
                        </xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="ShipLogConditions" type="ShipLogConditions" minOccurs="0" maxOccurs="unbounded">
                    <xs:annotation>
                        <xs:documentation>
                            The conditions for unlocking ship log facts
                        </xs:documentation>
                    </xs:annotation>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>

    <xs:complexType name="LocationA"/>
    <xs:complexType name="LocationB"/>

    <!-- Text Block Info -->
    <xs:complexType name="TextBlock">
        <xs:sequence>
            <xs:element name="ID" type="xs:positiveInteger">
                <xs:annotation>
                    <xs:documentation>
                        The id of this text block
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="ParentID" type="xs:positiveInteger" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>
                        The id of the parent text block
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="LocationA" type="LocationA" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="LocationB" type="LocationB" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="Text" type="xs:string">
                <xs:annotation>
                    <xs:documentation>
                        The text to show for this option
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <!-- Ship Log Conditions Info -->
    <xs:complexType name="ShipLogConditions">
        <xs:sequence>
            <xs:element name="LocationA" type="LocationA" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="LocationB" type="LocationB" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="RevealFact" type="RevealFact" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>
                        Facts to reveal when the player goes through this dialogue node
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <!-- Reveal Facts Info -->
    <xs:complexType name="RevealFact">
        <xs:sequence>
            <xs:element name="FactID" type="xs:string">
                <xs:annotation>
                    <xs:documentation>
                        The ID of a fact to reveal
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="Condition" type="xs:string">
                <xs:annotation>
                    <xs:documentation>
                        The text block ids (separated by commas) that need to be read to reveal that fact
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
</xs:schema>
