Advertisement
Guest User

Untitled

a guest
Jul 16th, 2019
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.67 KB | None | 0 0
  1. class PostEarthFactionSelect : UIScriptedMenu
  2. {
  3.     private autoptr Widget m_LayoutRoot;
  4.    
  5.     private autoptr PlayerPreviewWidget m_UnitedNationsPlayerPreview;
  6.     private autoptr PlayerPreviewWidget m_RedStarPlayerPreview;
  7.     private autoptr PlayerPreviewWidget m_DefenseForcePlayerPreview;
  8.    
  9.     private autoptr Widget m_UnitedNationsFactionPanel;
  10.     private autoptr Widget m_RedStarFactionPanel;
  11.     private autoptr Widget m_DefenseForcesFactionPanel;
  12.    
  13.     private autoptr Widget m_UnitedNationsSelectedPanel;
  14.     private autoptr Widget m_RedStarSelectedPanel;
  15.     private autoptr Widget m_DefenseForcesSelectedPanel;
  16.    
  17.     private autoptr RichTextWidget m_FactionHeaderText;
  18.     private autoptr RichTextWidget m_FactionBodyText;
  19.    
  20.     void PostEarthFactionSelect()
  21.     {
  22.     }
  23.  
  24.     override Widget Init()
  25.     {
  26.         BuildLayout();
  27.        
  28.         WidgetEventHandler.GetInstance().RegisterOnClick(m_LayoutRoot, this, "OnClick");
  29.        
  30.         return m_LayoutRoot;
  31.     }
  32.    
  33.     private void BuildLayout()
  34.     {
  35.         m_LayoutRoot = GetGame().GetWorkspace().CreateWidgets("PostEarth/gui/layouts/PostEarthFactionSelect.layout");
  36.        
  37.         m_UnitedNationsPlayerPreview = PlayerPreviewWidget.Cast(m_LayoutRoot.FindWidget("factionPanel.unPanel.unPlayerPreview"));
  38.         m_RedStarPlayerPreview       = PlayerPreviewWidget.Cast(m_LayoutRoot.FindWidget("factionPanel.redstarPanel.redstarPlayerPreview"));
  39.         m_DefenseForcePlayerPreview  = PlayerPreviewWidget.Cast(m_LayoutRoot.FindWidget("factionPanel.cdfPanel.cdfPlayerPreview"));
  40.        
  41.         m_UnitedNationsFactionPanel  = m_LayoutRoot.FindWidget("factionPanel.unPanel");
  42.         m_RedStarFactionPanel        = m_LayoutRoot.FindWidget("factionPanel.redstarPanel");
  43.         m_DefenseForcesFactionPanel  = m_LayoutRoot.FindWidget("factionPanel.cdfPanel");
  44.        
  45.         m_UnitedNationsSelectedPanel = m_LayoutRoot.FindWidget("factionPanel.unPanel.unSelectedPanel");
  46.         m_RedStarSelectedPanel       = m_LayoutRoot.FindWidget("factionPanel.redstarPanel.redstarSelectedPanel");
  47.         m_DefenseForcesSelectedPanel = m_LayoutRoot.FindWidget("factionPanel.cdfPanel.cdfSelectedPanel");
  48.        
  49.         m_FactionHeaderText         = RichTextWidget.Cast(m_LayoutRoot.FindWidget("factionPanel.factionInfoPanel.headerText"));
  50.         m_FactionBodyText           = RichTextWidget.Cast(m_LayoutRoot.FindWidget("factionPanel.factionInfoPanel.bodyText"));
  51.        
  52.         SetupFactionDummys();
  53.     }
  54.        
  55.     private void SetupFactionDummys()
  56.     {
  57.                
  58.         vector localPos = GetGame().GetPlayer().GetPosition();
  59.        
  60.         // Setup UN dummy:
  61.         autoptr PlayerBase unitedNationsDummy = PlayerBase.Cast(GetGame().CreateObject("SurvivorM_Mirek", localPos + "5 0 0", true, false));   
  62.         unitedNationsDummy.GetInventory().CreateAttachment("MilitaryBeret_UN");
  63.         unitedNationsDummy.GetInventory().CreateAttachment("USMCJacket_Woodland");
  64.         unitedNationsDummy.GetInventory().CreateAttachment("USMCPants_Woodland");  
  65.         unitedNationsDummy.GetInventory().CreateAttachment("M4A1");
  66.        
  67.         m_UnitedNationsPlayerPreview.SetPlayer(unitedNationsDummy);
  68.         m_UnitedNationsPlayerPreview.SetSize(1.34, 1.34);
  69.         m_UnitedNationsPlayerPreview.SetModelPosition("-0.4 -0.55 4");
  70.  
  71.         // Setup Red Star dummy:
  72.         autoptr PlayerBase redstarDummy = PlayerBase.Cast(GetGame().CreateObject("SurvivorM_Boris", localPos, true, false));   
  73.         redstarDummy.GetInventory().CreateAttachment("MilitaryBeret_ChDKZ");
  74.         redstarDummy.GetInventory().CreateAttachment("TTsKOJacket_Camo");
  75.         redstarDummy.GetInventory().CreateAttachment("TTSKOPants");
  76.         redstarDummy.GetInventory().CreateAttachment("AKM");
  77.  
  78.         m_RedStarPlayerPreview.SetPlayer(redstarDummy);
  79.         m_RedStarPlayerPreview.SetSize(1.34, 1.34);
  80.         m_RedStarPlayerPreview.SetModelPosition("0 -0.55 4");
  81.        
  82.         // Setup CDF dummy:
  83.         autoptr PlayerBase cdfDummy = PlayerBase.Cast(GetGame().CreateObject("SurvivorM_Cyril", localPos - "5 0 0", true, false)); 
  84.         cdfDummy.GetInventory().CreateAttachment("MilitaryBeret_CDF");
  85.         cdfDummy.GetInventory().CreateAttachment("BDUJacket");
  86.         cdfDummy.GetInventory().CreateAttachment("BDUPants");
  87.         cdfDummy.GetInventory().CreateAttachment("SKS");
  88.  
  89.         m_DefenseForcePlayerPreview.SetPlayer(cdfDummy);
  90.         m_DefenseForcePlayerPreview.SetSize(1.34, 1.34);
  91.         m_DefenseForcePlayerPreview.SetModelPosition("0.42 -0.55 4");
  92.     }
  93.    
  94.     override bool OnClick(Widget w, int x, int y, int button)
  95.     {
  96.         super.OnClick(w, x, y, button);
  97.        
  98.         bool isUNSelected            = (w == m_UnitedNationsFactionPanel);
  99.         bool isRedStarSelected       = (w == m_RedStarFactionPanel);
  100.         bool isDefenSeForcesSelected = (w == m_DefenseForcesFactionPanel);
  101.  
  102.         m_UnitedNationsSelectedPanel.Show(isUNSelected);   
  103.         m_RedStarSelectedPanel.Show(isRedStarSelected);
  104.         m_DefenseForcesSelectedPanel.Show(isDefenSeForcesSelected);
  105.  
  106.         if (isUNSelected || isRedStarSelected || isDefenSeForcesSelected)
  107.         {
  108.             return true;
  109.         }
  110.        
  111.         return false;
  112.     }
  113. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement