AssetTypeGameMap.xsd 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="uri:ea.com:eala:asset" xmlns:at="uri:ea.com:eala:asset:type" xmlns:xas="uri:ea.com:eala:asset:schema" targetNamespace="uri:ea.com:eala:asset" elementFormDefault="qualified" xmlns:XmlEdit="http://tempuri.org/XmlEdit.xsd">
  3. <xs:include schemaLocation="Includes/Ref.xsd"/>
  4. <xs:include schemaLocation="Includes/MetaDataCommon.xsd"/>
  5. <xs:simpleType name="MapObjectFlagType">
  6. <xs:restriction base="xs:string">
  7. <xs:enumeration value="DRAWS_IN_MIRROR" />
  8. <xs:enumeration value="ROAD_POINT1" />
  9. <xs:enumeration value="ROAD_POINT2" />
  10. <xs:enumeration value="OBSOLETE_BRIDGE_POINT1" />
  11. <xs:enumeration value="OBSOLETE_BRIDGE_POINT2" />
  12. <xs:enumeration value="ROAD_CORNER_TIGHT" />
  13. <xs:enumeration value="ROAD_JOIN" />
  14. <xs:enumeration value="DONT_RENDER" />
  15. </xs:restriction>
  16. </xs:simpleType>
  17. <xs:simpleType name="MapObjectBitFlags">
  18. <xs:list itemType="MapObjectFlagType"></xs:list>
  19. </xs:simpleType>
  20. <xs:complexType name="StringPropertyPair">
  21. <xs:attribute name="Key" type="xs:string" />
  22. <xs:attribute name="Value" type="xs:string" />
  23. </xs:complexType>
  24. <xs:complexType name="BoolPropertyPair">
  25. <xs:attribute name="Key" type="xs:string" />
  26. <xs:attribute name="Value" type="SageBool" />
  27. </xs:complexType>
  28. <xs:complexType name="IntPropertyPair">
  29. <xs:attribute name="Key" type="xs:string" />
  30. <xs:attribute name="Value" type="SageInt" />
  31. </xs:complexType>
  32. <xs:complexType name="RealPropertyPair">
  33. <xs:attribute name="Key" type="xs:string" />
  34. <xs:attribute name="Value" type="SageReal" />
  35. </xs:complexType>
  36. <xs:complexType name="AssetIdPropertyPair">
  37. <xs:attribute name="Key" type="xs:string" />
  38. <xs:attribute name="Value" type="BaseAssetReference"/>
  39. </xs:complexType>
  40. <xs:complexType name="AssetIdListPropertyPair">
  41. <xs:attribute name="Key" type="xs:string" />
  42. <xs:attribute name="Value" type="AssetIdList" />
  43. </xs:complexType>
  44. <xs:complexType name="Dictionary">
  45. <xs:choice minOccurs="0" maxOccurs="unbounded">
  46. <xs:element name="BoolProperty" type="BoolPropertyPair" />
  47. <xs:element name="IntProperty" type="IntPropertyPair" />
  48. <xs:element name="RealProperty" type="RealPropertyPair" />
  49. <xs:element name="StringProperty" type="StringPropertyPair" />
  50. <xs:element name="UnicodeStringProperty" type="StringPropertyPair" />
  51. <xs:element name="AssetIdProperty" type="AssetIdPropertyPair" />
  52. <xs:element name="AssetIdListProperty" type="AssetIdListPropertyPair" />
  53. </xs:choice>
  54. </xs:complexType>
  55. <xs:complexType name="MapObject">
  56. <xs:sequence>
  57. <xs:element name="Position" type="Vector3" />
  58. </xs:sequence>
  59. <xs:attribute name="id" type="Poid" xas:refType="MapObject" />
  60. <xs:attribute name="ThingTemplate" type="AssetReference" xas:refType="GameObject" />
  61. <xs:attribute name="Flags" type="MapObjectBitFlags" />
  62. <xs:attribute name="Angle" type="SageReal" />
  63. </xs:complexType>
  64. <xs:complexType name="MapObjectUSP">
  65. <xs:complexContent>
  66. <xs:extension base="MapObject">
  67. <xs:attribute name="Faction" type="xs:string" />
  68. <xs:attribute name="Team" type="xs:string" />
  69. <xs:attribute name="Health" type="SageReal" />
  70. <xs:attribute name="EventList" type="xs:string" />
  71. </xs:extension>
  72. </xs:complexContent>
  73. </xs:complexType>
  74. <xs:complexType name="EnvironmentObject">
  75. <xs:attribute name="Cloud" type="TextureRef" />
  76. <xs:attribute name="Macro" type="TextureRef" />
  77. <xs:attribute name="Environment" type="TextureRef" />
  78. </xs:complexType>
  79. <xs:complexType name="RoadObject">
  80. <xs:attribute name="id" type="AssetReference" xas:refType="Road" />
  81. </xs:complexType>
  82. <xs:complexType name="PostEffectObject">
  83. <xs:attribute name="Effect" type="TextureRef" />
  84. </xs:complexType>
  85. <xs:simpleType name="WaterBodyType">
  86. <xs:restriction base="xs:string">
  87. <xs:enumeration value="INTERIOR"/>
  88. <xs:enumeration value="EXTERIOR"/>
  89. <xs:enumeration value="EXTERIOR_PARTIAL"/>
  90. </xs:restriction>
  91. </xs:simpleType>
  92. <xs:complexType name="MapAnalysisType">
  93. <xs:sequence>
  94. <xs:element name="WaterAreaType" type="WaterBodyType" minOccurs="0" maxOccurs="unbounded"/>
  95. </xs:sequence>
  96. <xs:attribute name="GarrisonableStructures" type="xs:int" default="0"/>
  97. <xs:attribute name="TechStructures" type="xs:int" default="0"/>
  98. <xs:attribute name="CellsExamined" type="xs:int" default="0"/>
  99. <xs:attribute name="WaterCells" type="xs:int" default="0"/>
  100. <xs:attribute name="WaterAreas" type="xs:int" default="0"/>
  101. </xs:complexType>
  102. <xs:complexType name="GameMap" xas:typeGroup="Xml">
  103. <xs:complexContent>
  104. <xs:extension base="BaseAssetType">
  105. <xs:sequence>
  106. <xs:element name="Waypoint" type="MapObject" minOccurs="0" maxOccurs="unbounded" />
  107. <xs:element name="Structure" type="MapObjectUSP" minOccurs="0" maxOccurs="unbounded" />
  108. <xs:element name="Unit" type="MapObjectUSP" minOccurs="0" maxOccurs="unbounded" />
  109. <xs:element name="Prop" type="MapObjectUSP" minOccurs="0" maxOccurs="unbounded" />
  110. <xs:element name="Audio" type="MapObject" minOccurs="0" maxOccurs="unbounded" />
  111. <xs:element name="Unknown" type="MapObject" minOccurs="0" maxOccurs="unbounded" />
  112. <xs:element name="Road" type="RoadObject" minOccurs="0" maxOccurs="unbounded" />
  113. <xs:element name="MapMetaData" type="MetaDataObject" minOccurs="0" maxOccurs="1" xas:pipelineOnly="true"/>
  114. <xs:element name="EnvironmentData" type="EnvironmentObject" minOccurs="0" maxOccurs="1" />
  115. <xs:element name="WorldDict" type="Dictionary" minOccurs="0" maxOccurs="1" />
  116. <xs:element name="PostEffect" type="PostEffectObject" minOccurs="0" maxOccurs="unbounded" />
  117. <xs:element name="MapAnalysis" type="MapAnalysisType" minOccurs="0" maxOccurs="1" />
  118. </xs:sequence>
  119. </xs:extension>
  120. </xs:complexContent>
  121. </xs:complexType>
  122. </xs:schema>