UIComponentOptions.xsd 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <xs:schema
  3. xmlns:xs="http://www.w3.org/2001/XMLSchema"
  4. xmlns="uri:ea.com:eala:asset"
  5. xmlns:at="uri:ea.com:eala:asset:type"
  6. xmlns:xas="uri:ea.com:eala:asset:schema"
  7. targetNamespace="uri:ea.com:eala:asset"
  8. elementFormDefault="qualified"
  9. xmlns:XmlEdit="http://tempuri.org/XmlEdit.xsd">
  10. <xs:include schemaLocation="../Includes/UIBaseComponent.xsd"/>
  11. <!-- For the command list screen -->
  12. <xs:simpleType name="JoyPadButtonType"
  13. xas:useEnumPrefix="false"
  14. xas:enumItemPrefix="JOYPAD_BUTTON_"
  15. xas:targetNamespace="Sage::UI::Joypad">
  16. <xs:restriction base="xs:string">
  17. <xs:enumeration value="LEFT_STICK" />
  18. <xs:enumeration value="LEFT_TRIGGER" />
  19. <xs:enumeration value="LEFT_BUMPER" />
  20. <xs:enumeration value="RIGHT_STICK" />
  21. <xs:enumeration value="RIGHT_TRIGGER" />
  22. <xs:enumeration value="RIGHT_BUMPER" />
  23. <xs:enumeration value="A" />
  24. <xs:enumeration value="B" />
  25. <xs:enumeration value="X" />
  26. <xs:enumeration value="Y" />
  27. <xs:enumeration value="D_PAD" />
  28. <xs:enumeration value="BACK" />
  29. <xs:enumeration value="START" />
  30. <xs:enumeration value="GUIDE" />
  31. </xs:restriction>
  32. </xs:simpleType>
  33. <xs:simpleType name="JoyPadActionType"
  34. xas:useEnumPrefix="false"
  35. xas:enumItemPrefix="JOYPAD_ACTION_"
  36. xas:targetNamespace="Sage::UI::Joypad">
  37. <xs:restriction base="xs:string">
  38. <xs:enumeration value="PRESS" />
  39. <xs:enumeration value="HOLD" />
  40. <xs:enumeration value="CLICK" />
  41. <xs:enumeration value="DOUBLE_CLICK" />
  42. <xs:enumeration value="ON_GROUND" />
  43. <xs:enumeration value="ON_TARGET" />
  44. <xs:enumeration value="ON_UNIT_TYPE" />
  45. <xs:enumeration value="MOVE" />
  46. <xs:enumeration value="LEFT" />
  47. <xs:enumeration value="RIGHT" />
  48. <xs:enumeration value="UP" />
  49. <xs:enumeration value="DOWN" />
  50. <xs:enumeration value="LEFT_OR_RIGHT" />
  51. <xs:enumeration value="UP_OR_DOWN" />
  52. <xs:enumeration value="LINK_WITH_NEXT" />
  53. </xs:restriction>
  54. </xs:simpleType>
  55. <xs:complexType name="InputButton">
  56. <xs:attribute name="ButtonName" type="JoyPadButtonType" use="required"/>
  57. <xs:attribute name="ButtonAction" type="JoyPadActionType"/>
  58. </xs:complexType>
  59. <xs:complexType name="SingleCommandLine">
  60. <xs:sequence>
  61. <xs:element name="Input" type="InputButton" minOccurs="1" maxOccurs="unbounded" />
  62. </xs:sequence>
  63. <xs:attribute name="Purpose" type="xs:string" use="required"/>
  64. <xs:attribute name="Description" type="xs:string"/>
  65. </xs:complexType>
  66. <xs:complexType name="SingleCommandList">
  67. <xs:sequence>
  68. <xs:element name="CommandLine" type="SingleCommandLine" minOccurs="1" maxOccurs="unbounded" />
  69. </xs:sequence>
  70. <xs:attribute name="CategoryName" type="xs:string" />
  71. </xs:complexType>
  72. <!-- End command list screen -->
  73. <xs:complexType name="DefaultValues">
  74. <!-- TODO: GameDifficulty enum should eventually be moved to a basetype so that the lobbies can leverage it as well -->
  75. <xs:attribute name="Difficulty" type="SageInt" default="1" />
  76. <!-- Audio/Video Settings -->
  77. <xs:attribute name="Gamma" type="SageReal" default="1.30" />
  78. <xs:attribute name="Brightness" type="SageReal" default="0.50" />
  79. <xs:attribute name="Contrast" type="SageReal" default="1.30" />
  80. <xs:attribute name="VolumeMusic" type="SageReal" default="0.45" />
  81. <xs:attribute name="VolumeFX" type="SageReal" default="0.70" />
  82. <xs:attribute name="VolumeVoice" type="SageReal" default="0.70" />
  83. <xs:attribute name="VolumeAmbient" type="SageReal" default="0.50" />
  84. <xs:attribute name="VolumeMovie" type="SageReal" default="0.70" />
  85. <!-- Game Settings -->
  86. <xs:attribute name="ScrollSpeed" type="SageReal" default="1.00" />
  87. <xs:attribute name="ScrollMagnetism" type="SageInt" default="2" />
  88. <xs:attribute name="ButtonIcon" type="SageBool" default="true" />
  89. <xs:attribute name="ShowCommandList" type="SageBool" default="true" />
  90. <xs:attribute name="HealthBars" type="SageBool" default="true" />
  91. <xs:attribute name="HighlightPads" type="SageBool" default="true" />
  92. <xs:attribute name="ToolTips" type="SageBool" default="true" />
  93. <xs:attribute name="Subtitles" type="SageBool" default="false" />
  94. <xs:attribute name="InvertRotate" type="SageBool" default="true" />
  95. <xs:attribute name="Telemetry" type="SageBool" default="true" />
  96. <!-- Xbox Live Settings -->
  97. <xs:attribute name="DefaultFaction" type="SageInt" default="-1" />
  98. <xs:attribute name="VisionCamVisible" type="SageBool" default="true" />
  99. <xs:attribute name="VisionCamZoom" type="SageInt" default="1" />
  100. <xs:attribute name="ScrollSpeedMin" type="SageReal" default="0.2" />
  101. <xs:attribute name="ScrollSpeedMax" type="SageReal" default="2.0" />
  102. </xs:complexType>
  103. <xs:complexType name="UIComponentOptions">
  104. <xs:complexContent>
  105. <xs:extension base="UIBaseComponent">
  106. <xs:sequence>
  107. <!-- Labels -->
  108. <xs:element name="ControlsText" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
  109. <xs:element name="DefaultValues" type="DefaultValues" minOccurs="1" maxOccurs="1"/>
  110. <xs:element name="CommandList" type="SingleCommandList" minOccurs="0" maxOccurs="unbounded" />
  111. </xs:sequence>
  112. <xs:attribute name="ControlsToken" type="xs:string" />
  113. <xs:attribute name="SaveFileName" type="xs:string" />
  114. </xs:extension>
  115. </xs:complexContent>
  116. </xs:complexType>
  117. </xs:schema>