Legacy:RegularEngine/MapTrader - Unreal Wiki

# Legacy:RegularEngine/MapTrader

### From Unreal Wiki, The Unreal Engine Documentation Site

< Legacy:RegularEngine

MapTrader is a GUIPage to allow players to vote on which map will be next in the campaign. It basically talks to the GRI to determine the map lists, and the RegularPlayer to update the PRI to save the vote.

UT2004 :: UT2K4GUIPage >> MapTrader

    class MapTrader extends UT2K4GUIPage;

    var Automated GuiListBox TeamAMapList, TeamBMapList;
    var Automated GUIButton TeamAVote, TeamBVote;
    var Automated GUILabel                TeamAName, TeamBName, CampaignWon;
    var RegularPlayer RgPlayer;

    function InitComponent(GUIController MyController, GUIComponent MyOwner)
    {
            Super.InitComponent(MyController, MyOwner);
            RgPlayer = RegularPlayer(PlayerOwner());
            FillMapLists();
            if(RgPlayer != none && RgPlayer.PlayerReplicationInfo != none) {

        if( RgPlayer.PlayerReplicationInfo.Team.TeamIndex == 0 ) {
          TeamAVote.bVisible = false;
        }

        if( RgPlayer.PlayerReplicationInfo.Team.TeamIndex == 1 ) {
          TeamBVote.bVisible = false;
        }

        }
    //    txtAvailable.SetContent(pcAvailable.List.GetExtra());
    }

    function FillMapLists() {
     local string TeamAString,TeamBString;
            local array<string> TeamAMaps,TeamBMaps;
            local RegularGRI RgGRI;
            local int i;

            TeamAMapList.List.Clear();
            TeamBMapList.List.Clear();

            if(RgPlayer != none && RgPlayer.GameReplicationInfo != none &&
        RegularGRI(RgPlayer.GameReplicationInfo) != none) {
        RgGRI = RegularGRI(RgPlayer.GameReplicationInfo);
        for(i=0; i<RgGRI.MaxMapNumber; i++) {
            if(RgGRI.TeamAMaps[i].TeamIndex == 0 ) {
                                                                      TeamAString = TeamAString$"|"$RgGRI.TeamAMaps[i].MapName;
              }
            if(RgGRI.TeamAMaps[i].TeamIndex == 1 ) {
                                                                      TeamBString = TeamBString$"|"$RgGRI.TeamAMaps[i].MapName;
              }

           if(RgGRI.TeamBMaps[i].TeamIndex == 0 ) {
                                                                      TeamAString = TeamAString$"|"$RgGRI.TeamBMaps[i].MapName;
              }
            if(RgGRI.TeamBMaps[i].TeamIndex == 1 ) {
                                                                      TeamBString = TeamBString$"|"$RgGRI.TeamBMaps[i].MapName;
              }

        }
            }

     Split(TeamAString, "|", TeamAMaps);
     Split(TeamBString, "|", TeamBMaps);

            for(i=0; i<RgGRI.MaxMapNumber*2; i++)
            {
              if(i<TeamAMaps.Length) {TeamAMapList.List.Add(TeamAMaps[i],,TeamAMaps[i]);}
              if(i<TeamBMaps.Length) {TeamBMapList.List.Add(TeamBMaps[i],,TeamBMaps[i]);}

       }

      TeamAMapList.List.Index = -1;
      TeamBMapList.List.Index = -1;
                    LOG("Humans have "$TeamAMaps.Length$" Maps");
      if( TeamAMaps.Length == 1) {
                        CampaignWon.Caption = "SKAARJ WIN THE CAMPAIGN";
                        TeamAVote.bVisible = false;
                        TeamBVote.bVisible = false;
                        }
      if( TeamBMaps.Length == 1) {
                        CampaignWon.Caption = "HUMANS WIN THE CAMPAIGN";
                        TeamAVote.bVisible = false;
                        TeamBVote.bVisible = false;
                        }

    }

    function bool InternalOnClick(GUIComponent Sender)
    {
            if( Sender == TeamAVote ) {
               RgPlayer.SetChosenMap(TeamBMapList.List.Get());
            }

            if( Sender == TeamBVote ) {
               RgPlayer.SetChosenMap(TeamBMapList.List.Get());
            }

            Controller.CloseMenu();
     return true;
    }

    function InternalOnChange(GUIComponent sender) {
    }

    defaultproperties {

    Begin Object Class=GUIListBox Name=TeamALST
        bVisibleWhenEmpty=True
        WinTop=0.1000000
        WinLeft=0.200000
        WinWidth=0.250000
        WinHeight=0.45000
        StyleName="IRCText"
        RenderWeight=1.5
        OnChange=InternalOnChange
    End Object
    TeamAMapList=RegularEngine.MapTrader.TeamALST

    Begin Object Class=GUIListBox Name=TeamBLST
        bVisibleWhenEmpty=True
        WinTop=0.1000000
        WinLeft=0.500000
        WinWidth=0.250000
        WinHeight=0.45000
        StyleName="IRCText"
        RenderWeight=1.5
        OnChange=InternalOnChange
    End Object
    TeamBMapList=RegularEngine.MapTrader.TeamBLST

    Begin Object Class=GUIButton Name=TeamABTN
      Caption="VOTE"
      WinTop=0.600000
      WinLeft=0.20000
      WinWidth=0.25000
      OnClick=MapTrader.InternalOnClick
      RenderWeight=1.5
    End Object
    TeamAVote=RegularEngine.MapTrader.TeamABTN

    Begin Object Class=GUIButton Name=TeamBBTN
      Caption="VOTE"
      WinTop=0.600000
      WinLeft=0.50000
      WinWidth=0.25000
      OnClick=MapTrader.InternalOnClick
      RenderWeight=1.5
    End Object
    TeamBVote=RegularEngine.MapTrader.TeamBBTN

    Begin Object Class=GUILabel Name=AName
        FontScale=FNS_Large
        TextFont="UT2LargeFont"
        StyleName="TextLabel"
        Caption="HUMAN MAPS"
        WinTop=0.00500000
        WinLeft=0.2000000
        WinHeight=0.185
        RenderWeight=9.0
    End Object
    TeamAName=RegularEngine.MapTrader.AName

    Begin Object Class=GUILabel Name=BName
        FontScale=FNS_Large
        TextFont="UT2LargeFont"
        StyleName="TextLabel"
        Caption="SKAARJ MAPS"
        WinTop=0.00500000
        WinLeft=0.5000000
        WinHeight=0.185
        RenderWeight=9.0
    End Object
    TeamBName=RegularEngine.MapTrader.BName

    Begin Object Class=GUILabel Name=Won
        FontScale=FNS_Large
        TextFont="UT2LargeFont"
        StyleName="TextLabel"
        Caption=""
        WinTop=0.600000
        WinLeft=0.2000000
        WinHeight=0.185
        RenderWeight=9.0
    End Object
    CampaignWon=RegularEngine.MapTrader.Won

    bAllowedAsLast=True
    bRenderWorld=True

    }

##### Views

- Legacy
- Discussion
- Current revision

##### Search