aeroson

Untitled

Sep 12th, 2015
227
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.53 KB | None | 0 0
  1. class CR4TestMenu extends CR4MenuBase
  2. {
  3. private var entityTemplateIndex : int; default entityTemplateIndex = 0;
  4. private var appearanceIndex : int; default appearanceIndex = 0;
  5. private var environmentDefinitionIndex : int; default environmentDefinitionIndex = 0;
  6. private var entityTemplates : array< string >;
  7. private var appearances : array< name >;
  8. private var environmentDefinitions : array< string >;
  9.  
  10. private var sunRotation : EulerAngles;
  11.  
  12. private var selectedTemplate : CEntityTemplate;
  13. private var lastWornTemplate : CEntityTemplate;
  14. private var resourcePath : String;
  15. private var player : CActor;
  16. private var component : CComponent;
  17.  
  18.  
  19. event OnConfigUI()
  20. {
  21. super.OnConfigUI();
  22. theInput.StoreContext( 'EMPTY_CONTEXT' );
  23.  
  24. entityTemplates.PushBack( "characters\models\crowd_npc\novigrad_citizen_woman\dress\d_01_wa__novigrad_citizen.w2ent" );
  25. entityTemplates.PushBack( "characters\models\crowd_npc\novigrad_citizen_woman\dress\d_01_wa__novigrad_citizen_p03.w2ent" );
  26. entityTemplates.PushBack( "characters\models\crowd_npc\novigrad_citizen_woman\dress\d_01_wa__novigrad_citizen_p08.w2ent" );
  27. entityTemplates.PushBack( "characters\models\crowd_npc\novigrad_citizen_woman\dress\d_01_wa__old_novigrad_citizen.w2ent" );
  28.  
  29. entityTemplates.PushBack( "characters\models\crowd_npc\novigrad_guard\torso\t2_01_ma__novigrad_guard.w2ent" );
  30. entityTemplates.PushBack( "characters\models\crowd_npc\novigrad_guard\torso\t2_01_mb__novigrad_guard.w2ent" );
  31. entityTemplates.PushBack( "characters\models\crowd_npc\novigrad_guard\torso\t2_02_mb__novigrad_guard.w2ent" );
  32.  
  33. entityTemplates.PushBack( "characters\models\main_npc\yennefer\body_yennefer__lingerie.w2ent" );
  34. entityTemplates.PushBack( "characters\models\main_npc\yennefer\b_01_wa__yennefer.w2ent" );
  35. entityTemplates.PushBack( "characters\models\main_npc\yennefer\b_01_wa__yennefer_hooded.w2ent" );
  36. entityTemplates.PushBack( "characters\models\main_npc\yennefer\b_01_wa__yennefer_hooded_02.w2ent" );
  37. entityTemplates.PushBack( "characters\models\main_npc\yennefer\b_03_wa_yennefer.w2ent" );
  38. entityTemplates.PushBack( "characters\models\main_npc\yennefer\b_04_wa__yennefer.w2ent" );
  39.  
  40. // entityTemplates.PushBack( "characters\player_entities\geralt\geralt_player.w2ent" );
  41. // entityTemplates.PushBack( "characters\player_entities\ciri\ciri_player.w2ent" );
  42. // entityTemplates.PushBack( "characters\npc_entities\animals\horse\player_horse.w2ent");
  43. // entityTemplates.PushBack( "characters\npc_entities\main_npc\baron.w2ent");
  44. // entityTemplates.PushBack( "characters\npc_entities\main_npc\avallach.w2ent");
  45. // entityTemplates.PushBack( "characters\npc_entities\main_npc\caranthil.w2ent");
  46. // entityTemplates.PushBack( "characters\npc_entities\main_npc\cerys.w2ent");
  47. // entityTemplates.PushBack( "characters\npc_entities\main_npc\dandelion.w2ent");
  48. // entityTemplates.PushBack( "characters\npc_entities\main_npc\djikstra.w2ent");
  49. // entityTemplates.PushBack( "characters\npc_entities\main_npc\emhyr.w2ent");
  50.  
  51.  
  52. appearances.PushBack( 'ciri_player' );
  53. appearances.PushBack( 'ciri_player_towel' );
  54. appearances.PushBack( 'ciri_player_naked' );
  55. appearances.PushBack( 'ciri_player_wounded' );
  56.  
  57. player = GetWitcherPlayer();
  58.  
  59. environmentDefinitions.PushBack( "environment\definitions\gui_character_display\gui_character_environment.env" );
  60.  
  61. //theGame.GetGuiManager().SetBackgroundTexture( LoadResource( "inventory_background" ) );
  62.  
  63. //theGame.GetGuiManager().RequestMouseCursor(true);
  64.  
  65. UpdateEntityTemplate();
  66. UpdateItems();
  67. }
  68.  
  69. event OnClosingMenu()
  70. {
  71. theInput.RestoreContext( 'EMPTY_CONTEXT', false );
  72. }
  73.  
  74. event OnCameraUpdate( lookAtX : float, lookAtY : float, lookAtZ : float, cameraYaw : float, cameraPitch : float, cameraDistance : float )
  75. {
  76. var lookAtPos : Vector;
  77. var cameraRotation : EulerAngles;
  78. var fov : float;
  79.  
  80. fov = 35.0f;
  81.  
  82. lookAtPos.X = lookAtX;
  83. lookAtPos.Y = lookAtY;
  84. lookAtPos.Z = lookAtZ;
  85.  
  86. cameraRotation.Yaw = cameraYaw;
  87. cameraRotation.Pitch = cameraPitch;
  88. cameraRotation.Roll = 0;
  89.  
  90. theGame.GetGuiManager().SetupSceneCamera( lookAtPos, cameraRotation, cameraDistance, fov );
  91. }
  92.  
  93. event OnNextEntityTemplate()
  94. {
  95. entityTemplateIndex += 1;
  96. entityTemplateIndex = entityTemplateIndex % entityTemplates.Size();
  97.  
  98. UpdateEntityTemplate();
  99.  
  100. if( entityTemplateIndex == 0 )
  101. {
  102. UpdateItems();
  103. }
  104.  
  105. }
  106.  
  107. event OnCloseMenu()
  108. {
  109. CloseMenu();
  110.  
  111. UpdatePlayerAppearance(selectedTemplate );
  112. }
  113.  
  114. protected function UpdateEntityTemplate()
  115. {
  116. selectedTemplate = ( CEntityTemplate )LoadResource( entityTemplates[ entityTemplateIndex ], true );
  117.  
  118. if (selectedTemplate )
  119. {
  120. theGame.GetGuiManager().ShowNotification(template);
  121. theGame.GetGuiManager().SetSceneEntityTemplate( template, 'locomotion_idle' );
  122. m_flashValueStorage.SetFlashString("test.entityTemplate", entityTemplates[ entityTemplateIndex ] );
  123.  
  124. } else {
  125.  
  126. theGame.GetGuiManager().ShowNotification(entityTemplates[ entityTemplateIndex ] + " could not be loaded");
  127. }
  128. }
  129.  
  130. public function UpdatePlayerAppearance(template : CEntityTemplate) {
  131.  
  132. if(lastWornTemplate ) {
  133.  
  134. component = player.GetComponentByClassName( 'CAppearanceComponent' );
  135.  
  136. ((CAppearanceComponent)component).ExcludeAppearanceTemplate(lastWornTemplate );
  137.  
  138. }
  139.  
  140. component = player.GetComponentByClassName( 'CAppearanceComponent' );
  141.  
  142. ((CAppearanceComponent)component).IncludeAppearanceTemplate(template);
  143.  
  144. lastWornTemplate = template;
  145. }
  146.  
  147. protected function UpdateApperance()
  148. {
  149. theGame.GetGuiManager().ApplyAppearanceToSceneEntity( appearances[ appearanceIndex ] );
  150. }
  151.  
  152. protected function UpdateItems()
  153. {
  154. var inventory : CInventoryComponent;
  155. var items : array< name >;
  156. var witcher : W3PlayerWitcher;
  157.  
  158. inventory = thePlayer.GetInventory();
  159. if ( inventory )
  160. {
  161. inventory.GetHeldAndMountedItems( items );
  162.  
  163. witcher = (W3PlayerWitcher) thePlayer;
  164. if ( witcher )
  165. {
  166. witcher.GetMountableItems( items );
  167. }
  168.  
  169. theGame.GetGuiManager().UpdateSceneEntityItems( items );
  170. }
  171. }
  172. }
  173.  
  174. exec function KNGDresser()
  175. {
  176. theGame.RequestMenu('TestMenu');
  177. }
  178.  
  179. exec function testmenu_transform(x : float, y : float, z : float, scale : float)
  180. {
  181. var position:Vector;
  182. var _scale:Vector;
  183. var rotation:EulerAngles;
  184.  
  185. position.X = x;
  186. position.Y = y;
  187. position.Z = z;
  188.  
  189. _scale.X = scale;
  190. _scale.Y = scale;
  191. _scale.Z = scale;
  192.  
  193. theGame.GetGuiManager().SetEntityTransform(position, rotation, _scale);
  194. }
Advertisement
Add Comment
Please, Sign In to add comment