Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class CR4TestMenu extends CR4MenuBase
- {
- private var entityTemplateIndex : int; default entityTemplateIndex = 0;
- private var appearanceIndex : int; default appearanceIndex = 0;
- private var environmentDefinitionIndex : int; default environmentDefinitionIndex = 0;
- private var entityTemplates : array< string >;
- private var appearances : array< name >;
- private var environmentDefinitions : array< string >;
- private var sunRotation : EulerAngles;
- private var selectedTemplate : CEntityTemplate;
- private var lastWornTemplate : CEntityTemplate;
- private var resourcePath : String;
- private var player : CActor;
- private var component : CComponent;
- event OnConfigUI()
- {
- super.OnConfigUI();
- theInput.StoreContext( 'EMPTY_CONTEXT' );
- entityTemplates.PushBack( "characters\models\crowd_npc\novigrad_citizen_woman\dress\d_01_wa__novigrad_citizen.w2ent" );
- entityTemplates.PushBack( "characters\models\crowd_npc\novigrad_citizen_woman\dress\d_01_wa__novigrad_citizen_p03.w2ent" );
- entityTemplates.PushBack( "characters\models\crowd_npc\novigrad_citizen_woman\dress\d_01_wa__novigrad_citizen_p08.w2ent" );
- entityTemplates.PushBack( "characters\models\crowd_npc\novigrad_citizen_woman\dress\d_01_wa__old_novigrad_citizen.w2ent" );
- entityTemplates.PushBack( "characters\models\crowd_npc\novigrad_guard\torso\t2_01_ma__novigrad_guard.w2ent" );
- entityTemplates.PushBack( "characters\models\crowd_npc\novigrad_guard\torso\t2_01_mb__novigrad_guard.w2ent" );
- entityTemplates.PushBack( "characters\models\crowd_npc\novigrad_guard\torso\t2_02_mb__novigrad_guard.w2ent" );
- entityTemplates.PushBack( "characters\models\main_npc\yennefer\body_yennefer__lingerie.w2ent" );
- entityTemplates.PushBack( "characters\models\main_npc\yennefer\b_01_wa__yennefer.w2ent" );
- entityTemplates.PushBack( "characters\models\main_npc\yennefer\b_01_wa__yennefer_hooded.w2ent" );
- entityTemplates.PushBack( "characters\models\main_npc\yennefer\b_01_wa__yennefer_hooded_02.w2ent" );
- entityTemplates.PushBack( "characters\models\main_npc\yennefer\b_03_wa_yennefer.w2ent" );
- entityTemplates.PushBack( "characters\models\main_npc\yennefer\b_04_wa__yennefer.w2ent" );
- // entityTemplates.PushBack( "characters\player_entities\geralt\geralt_player.w2ent" );
- // entityTemplates.PushBack( "characters\player_entities\ciri\ciri_player.w2ent" );
- // entityTemplates.PushBack( "characters\npc_entities\animals\horse\player_horse.w2ent");
- // entityTemplates.PushBack( "characters\npc_entities\main_npc\baron.w2ent");
- // entityTemplates.PushBack( "characters\npc_entities\main_npc\avallach.w2ent");
- // entityTemplates.PushBack( "characters\npc_entities\main_npc\caranthil.w2ent");
- // entityTemplates.PushBack( "characters\npc_entities\main_npc\cerys.w2ent");
- // entityTemplates.PushBack( "characters\npc_entities\main_npc\dandelion.w2ent");
- // entityTemplates.PushBack( "characters\npc_entities\main_npc\djikstra.w2ent");
- // entityTemplates.PushBack( "characters\npc_entities\main_npc\emhyr.w2ent");
- appearances.PushBack( 'ciri_player' );
- appearances.PushBack( 'ciri_player_towel' );
- appearances.PushBack( 'ciri_player_naked' );
- appearances.PushBack( 'ciri_player_wounded' );
- player = GetWitcherPlayer();
- environmentDefinitions.PushBack( "environment\definitions\gui_character_display\gui_character_environment.env" );
- //theGame.GetGuiManager().SetBackgroundTexture( LoadResource( "inventory_background" ) );
- //theGame.GetGuiManager().RequestMouseCursor(true);
- UpdateEntityTemplate();
- UpdateItems();
- }
- event OnClosingMenu()
- {
- theInput.RestoreContext( 'EMPTY_CONTEXT', false );
- }
- event OnCameraUpdate( lookAtX : float, lookAtY : float, lookAtZ : float, cameraYaw : float, cameraPitch : float, cameraDistance : float )
- {
- var lookAtPos : Vector;
- var cameraRotation : EulerAngles;
- var fov : float;
- fov = 35.0f;
- lookAtPos.X = lookAtX;
- lookAtPos.Y = lookAtY;
- lookAtPos.Z = lookAtZ;
- cameraRotation.Yaw = cameraYaw;
- cameraRotation.Pitch = cameraPitch;
- cameraRotation.Roll = 0;
- theGame.GetGuiManager().SetupSceneCamera( lookAtPos, cameraRotation, cameraDistance, fov );
- }
- event OnNextEntityTemplate()
- {
- entityTemplateIndex += 1;
- entityTemplateIndex = entityTemplateIndex % entityTemplates.Size();
- UpdateEntityTemplate();
- if( entityTemplateIndex == 0 )
- {
- UpdateItems();
- }
- }
- event OnCloseMenu()
- {
- CloseMenu();
- UpdatePlayerAppearance(selectedTemplate );
- }
- protected function UpdateEntityTemplate()
- {
- selectedTemplate = ( CEntityTemplate )LoadResource( entityTemplates[ entityTemplateIndex ], true );
- if (selectedTemplate )
- {
- theGame.GetGuiManager().ShowNotification(template);
- theGame.GetGuiManager().SetSceneEntityTemplate( template, 'locomotion_idle' );
- m_flashValueStorage.SetFlashString("test.entityTemplate", entityTemplates[ entityTemplateIndex ] );
- } else {
- theGame.GetGuiManager().ShowNotification(entityTemplates[ entityTemplateIndex ] + " could not be loaded");
- }
- }
- public function UpdatePlayerAppearance(template : CEntityTemplate) {
- if(lastWornTemplate ) {
- component = player.GetComponentByClassName( 'CAppearanceComponent' );
- ((CAppearanceComponent)component).ExcludeAppearanceTemplate(lastWornTemplate );
- }
- component = player.GetComponentByClassName( 'CAppearanceComponent' );
- ((CAppearanceComponent)component).IncludeAppearanceTemplate(template);
- lastWornTemplate = template;
- }
- protected function UpdateApperance()
- {
- theGame.GetGuiManager().ApplyAppearanceToSceneEntity( appearances[ appearanceIndex ] );
- }
- protected function UpdateItems()
- {
- var inventory : CInventoryComponent;
- var items : array< name >;
- var witcher : W3PlayerWitcher;
- inventory = thePlayer.GetInventory();
- if ( inventory )
- {
- inventory.GetHeldAndMountedItems( items );
- witcher = (W3PlayerWitcher) thePlayer;
- if ( witcher )
- {
- witcher.GetMountableItems( items );
- }
- theGame.GetGuiManager().UpdateSceneEntityItems( items );
- }
- }
- }
- exec function KNGDresser()
- {
- theGame.RequestMenu('TestMenu');
- }
- exec function testmenu_transform(x : float, y : float, z : float, scale : float)
- {
- var position:Vector;
- var _scale:Vector;
- var rotation:EulerAngles;
- position.X = x;
- position.Y = y;
- position.Z = z;
- _scale.X = scale;
- _scale.Y = scale;
- _scale.Z = scale;
- theGame.GetGuiManager().SetEntityTransform(position, rotation, _scale);
- }
Advertisement
Add Comment
Please, Sign In to add comment