DiploCornerAddin (standard)

Joined
Oct 20, 2007
Messages
522
Location
Spokane, WA
Version 1

This mod allows concurrent mods to share the DiploCorner drop down menu (top-right of main-screen), so button options can be neatly listed together without merging mods. However, this mod will conflict with any other mod that changes the DiploCorner panel, so it's useful to have this available as a separate support mod. For example, Mod List (addin) - version 4, will use the DiploCornerAddin-standard when available, but does not implement the standard itself so as to remain compatible with all mods. If another mod, such as this one, implements the standard, then Mod List (addin) uses it automatically.

If using this mod conflicts with another mod you are using and that mod does not implement the DiploCornerAddin-standard, please ask that developer to consider implementing it.

DiploCornerAddin-standard by alpaca: http://tiny.cc/psux2

--Lua code by alpaca, distributed by Whys.

DiploCorner.lua
Spoiler :

Code:
-------------------------------------------------
-- Diplomacy and Advisors Buttons that float out in the screen
-------------------------------------------------
include( "IconSupport" );
include( "SupportFunctions"  );
include( "InstanceManager" );
local g_ChatInstances = {};

local g_iChatTeam   = -1;
local g_iChatPlayer = -1;

local g_iLocalPlayer = Game.GetActivePlayer();
local g_pLocalPlayer = Players[ g_iLocalPlayer ];
local g_iLocalTeam = g_pLocalPlayer:GetTeam();
local g_pLocalTeam = Teams[ g_iLocalTeam ];
local g_SortTable;
        

local m_bChatOpen = not Controls.ChatPanel:IsHidden();



-------------------------------------------------
-------------------------------------------------
local g_MultiPullInfo = {};
g_MultiPullInfo[0] = { text="TXT_KEY_ADVISOR_SCREEN_TECH_TREE_DISPLAY",        call=function() Events.SerialEventGameMessagePopup( { Type = ButtonPopupTypes.BUTTONPOPUP_TECH_TREE } ); end };
g_MultiPullInfo[1] = { text="TXT_KEY_DIPLOMACY_OVERVIEW",        call=function() Events.SerialEventGameMessagePopup( { Type = ButtonPopupTypes.BUTTONPOPUP_DIPLOMATIC_OVERVIEW } ); end };
g_MultiPullInfo[2] = { text="TXT_KEY_MILITARY_OVERVIEW",         call=function() Events.SerialEventGameMessagePopup( { Type = ButtonPopupTypes.BUTTONPOPUP_MILITARY_OVERVIEW } ); end };
g_MultiPullInfo[3] = { text="TXT_KEY_ECONOMIC_OVERVIEW",         call=function() Events.SerialEventGameMessagePopup( { Type = ButtonPopupTypes.BUTTONPOPUP_ECONOMIC_OVERVIEW } ); end };
g_MultiPullInfo[4] = { text="TXT_KEY_VP_TT",                     call=function() Events.SerialEventGameMessagePopup( { Type = ButtonPopupTypes.BUTTONPOPUP_VICTORY_INFO} ); end };
g_MultiPullInfo[5] = { text="TXT_KEY_DEMOGRAPHICS",              call=function() Events.SerialEventGameMessagePopup( { Type = ButtonPopupTypes.BUTTONPOPUP_DEMOGRAPHICS} ); end };
g_MultiPullInfo[6] = { text="TXT_KEY_POP_NOTIFICATION_LOG",      call=function() Events.SerialEventGameMessagePopup( { Type = ButtonPopupTypes.BUTTONPOPUP_NOTIFICATION_LOG, Data1 = Game.GetActivePlayer() } ); end };
--alpaca
function meh(tab)
	g_MultiPullInfo[#g_MultiPullInfo + 1] = tab
end
LuaEvents.DiploCornerAddin.Add(meh)

addins = {}
-- handle DiploCornerAddins
for addin in Modding.GetActivatedModEntryPoints("DiploCornerAddin") do
	local addinFile = addin.File;
	-- Get the absolute path and filename without extension.
	local extension = Path.GetExtension(addinFile);
	local path = string.sub(addinFile, 1, #addinFile - #extension);
	ptr = ContextPtr:LoadNewContext(path)
	table.insert(addins, ptr)
end

--/alpaca

local controlTable;
local sizeY = 92
for i = 0, #g_MultiPullInfo do
    controlTable = {};
    Controls.MultiPull:BuildEntry( "InstanceOne", controlTable );

    controlTable.Button:LocalizeAndSetText( g_MultiPullInfo[i].text );
    controlTable.Button:LocalizeAndSetToolTip( g_MultiPullInfo[i].tip );
    controlTable.Button:SetVoid1( i );
	sizeY = sizeY + controlTable.Button:GetSizeY()
end
Controls.MultiPullBox:SetSizeY(sizeY)
Controls.MultiPull:CalculateInternals();


-------------------------------------------------
-------------------------------------------------
function OnMultiPull( id )
    g_MultiPullInfo[id].call();
end
Controls.MultiPull:RegisterSelectionCallback( OnMultiPull );


-------------------------------------------------
-------------------------------------------------
function OnAdvisorButton()
    local popupInfo = {
        Type = ButtonPopupTypes.BUTTONPOPUP_ADVISOR_COUNSEL,
    }
    Events.SerialEventGameMessagePopup(popupInfo);

end
Controls.AdvisorButton:RegisterCallback( Mouse.eLClick, OnAdvisorButton );


-------------------------------------------------
-------------------------------------------------
function OnAdvisorButtonR()
    LuaEvents.AdvisorButtonEvent( Mouse.eRClick );
end
Controls.AdvisorButton:RegisterCallback( Mouse.eRClick, OnAdvisorButtonR );


-------------------------------------------------
-- On ChatToggle
-------------------------------------------------
function OnChatToggle()

    m_bChatOpen = not m_bChatOpen;

    if( m_bChatOpen ) then
        Controls.ChatPanel:SetHide( false );
        Controls.ChatToggle:SetTexture( "assets/UI/Art/Icons/MainChatOn.dds" );
        Controls.HLChatToggle:SetTexture( "assets/UI/Art/Icons/MainChatOffHL.dds" );
        Controls.MOChatToggle:SetTexture( "assets/UI/Art/Icons/MainChatOff.dds" );
    else
        Controls.ChatPanel:SetHide( true );
        Controls.ChatToggle:SetTexture( "assets/UI/Art/Icons/MainChatOff.dds" );
        Controls.HLChatToggle:SetTexture( "assets/UI/Art/Icons/MainChatOnHL.dds" );
        Controls.MOChatToggle:SetTexture( "assets/UI/Art/Icons/MainChatOn.dds" );
    end

    LuaEvents.ChatShow( m_bChatOpen );
end
Controls.ChatToggle:RegisterCallback( Mouse.eLClick, OnChatToggle );


-------------------------------------------------
-------------------------------------------------
local bFlipper = false;
function OnChat( fromPlayer, toPlayer, text, eTargetType )

    local controlTable = {};
    ContextPtr:BuildInstanceForControl( "ChatEntry", controlTable, Controls.ChatStack );
  
    table.insert( g_ChatInstances, controlTable );
    if( #g_ChatInstances > 100 ) then
        Controls.ChatStack:ReleaseChild( g_ChatInstances[ 1 ].Box );
        table.remove( g_ChatInstances, 1 );
    end
    
    TruncateString( controlTable.String, 200, Players[fromPlayer]:GetNickName() );
    local fromName = controlTable.String:GetText();
    
    if( eTargetType == ChatTargetTypes.CHATTARGET_TEAM ) then
        controlTable.String:SetColorByName( "Green_Chat" );
        controlTable.String:SetText( fromName .. ": " .. text ); 
        
    elseif( eTargetType == ChatTargetTypes.CHATTARGET_PLAYER ) then
    
        local toName;
        if( toPlayer == g_iLocalPlayer ) then
            toName = Locale.ConvertTextKey( "TXT_KEY_YOU" );
        else
            TruncateString( controlTable.String, 200, Players[toPlayer]:GetNickName() );
            toName = Locale.ConvertTextKey( "TXT_KEY_DIPLO_TO_PLAYER", controlTable.String:GetText() );
        end
        controlTable.String:SetText( fromName .. " (" .. toName .. "): " .. text ); 
        controlTable.String:SetColorByName( "Magenta_Chat" );
        
    elseif( fromPlayer == g_iLocalPlayer ) then
        controlTable.String:SetColorByName( "Gray_Chat" );
        
        controlTable.String:SetText( fromName .. ": " .. text ); 
    else
        controlTable.String:SetText( fromName .. ": " .. text ); 
    end
      
    controlTable.Box:SetSizeY( controlTable.String:GetSizeY() + 8 );
    controlTable.Box:ReprocessAnchoring();

    if( bFlipper ) then
        controlTable.Box:SetColorChannel( 3, 0.4 );
    end
    bFlipper = not bFlipper;
    
	Events.AudioPlay2DSound( "AS2D_IF_MP_CHAT_DING" );		

    Controls.ChatStack:CalculateSize();
    Controls.ChatScroll:CalculateInternalSize();
    Controls.ChatScroll:SetScrollValue( 1 );
end
Events.GameMessageChat.Add( OnChat );


-------------------------------------------------
-------------------------------------------------
function SendChat( text )
    if( string.len( text ) > 0 ) then
        Network.SendChat( text, g_iChatTeam, g_iChatPlayer );
    end
    Controls.ChatEntry:ClearString();
end
Controls.ChatEntry:RegisterCallback( SendChat );


-------------------------------------------------
-------------------------------------------------
function ShowHideHandler( bIsHide )
    Controls.CornerAnchor:SetHide( false );
end
ContextPtr:SetShowHideHandler( ShowHideHandler );


-------------------------------------------------
-------------------------------------------------
function InputHandler( uiMsg, wParam, lParam )
    if( m_bChatOpen 
        and uiMsg == KeyEvents.KeyUp
        and wParam == Keys.VK_TAB ) then
        Controls.ChatEntry:TakeFocus();
        return true;
    end
end
ContextPtr:SetInputHandler( InputHandler );


-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
function OnSocialPoliciesClicked()
    Events.SerialEventGameMessagePopup( { Type = ButtonPopupTypes.BUTTONPOPUP_CHOOSEPOLICY } );
end
Controls.SocialPoliciesButton:RegisterCallback( Mouse.eLClick, OnSocialPoliciesClicked );


-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
function OnDiploClicked()
    Controls.DiploList:SetHide( not Controls.DiploList:IsHidden() );
    -- Events.SerialEventGameMessagePopup( { Type = ButtonPopupTypes.BUTTONPOPUP_DIPLOMACY } );
end
Controls.DiploButton:RegisterCallback( Mouse.eLClick, OnDiploClicked );


-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
function OnOpenPlayerDealScreen( iOtherPlayer )
    local iUs = Game.GetActivePlayer();
    local iUsTeam = Players[ iUs ]:GetTeam();
    local pUsTeam = Teams[ iUsTeam ];
    
    print( "here" );

    -- any time we're legitimately opening the pvp deal screen, make sure we hide the diplolist.
    local iOtherTeam = Players[iOtherPlayer]:GetTeam();
    local iProposalTo = UI.HasMadeProposal( iUs );
   
    -- this logic should match OnOpenPlayerDealScreen in TradeLogic.lua
    if( (pUsTeam:IsAtWar( iOtherTeam ) and (g_bAlwaysWar or g_bNoChangeWar) ) or
	    (iProposalTo ~= -1 and iProposalTo ~= iOtherPlayer) ) then
	    -- do nothing
	    return;
    else
        Controls.CornerAnchor:SetHide( true );
    end

    print( "hiding corner anchor for OpenPlayerDealScreenEvent" );
end
Events.OpenPlayerDealScreenEvent.Add( OnOpenPlayerDealScreen );


-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
function OnChatTarget( iTeam, iPlayer )
    g_iChatTeam = iTeam;
    g_iChatPlayer = iPlayer;
    print("in chat target");
    if( iTeam ~= -1 ) then
		TruncateString( Controls.LengthTest, Controls.ChatPull:GetSizeX(), Locale.ConvertTextKey("TXT_KEY_DIPLO_TO_TEAM"));
        Controls.ChatPull:GetButton():SetText( Controls.LengthTest:GetText() );
    else
        if( iPlayer ~= -1 ) then
			TruncateString( Controls.LengthTest, Controls.ChatPull:GetSizeX(), Locale.ConvertTextKey("TXT_KEY_DIPLO_TO_PLAYER", Players[ iPlayer ]:GetNickName()));
            Controls.ChatPull:GetButton():SetText( Controls.LengthTest:GetText() );
        else
            Controls.ChatPull:GetButton():LocalizeAndSetText( "TXT_KEY_DIPLO_TO_ALL" );
        end
    end
end
Controls.ChatPull:RegisterSelectionCallback( OnChatTarget );


-------------------------------------------------------
-------------------------------------------------------
function PopulateChatPull()

    Controls.ChatPull:ClearEntries();

    -------------------------------------------------------
    -- Add All Entry
    local controlTable = {};
    Controls.ChatPull:BuildEntry( "InstanceOne", controlTable );
    controlTable.Button:SetVoids( -1, -1 );
    local textControl = controlTable.Button:GetTextControl();
    textControl:LocalizeAndSetText( "TXT_KEY_DIPLO_TO_ALL" );


    -------------------------------------------------------
    -- See if Team has more than 1 other human member
    local iTeamCount = 0;
    for iPlayer = 0, GameDefines.MAX_PLAYERS do
        local pPlayer = Players[iPlayer];

        if( iPlayer ~= g_iLocalPlayer and pPlayer ~= nil and pPlayer:IsHuman() and pPlayer:GetTeam() == g_iLocalTeam ) then
            iTeamCount = iTeamCount + 1;
        end
    end

    if( iTeamCount > 0 ) then
        local controlTable = {};
        Controls.ChatPull:BuildEntry( "InstanceOne", controlTable );
        controlTable.Button:SetVoids( g_iLocalTeam, -1 );
        local textControl = controlTable.Button:GetTextControl();
        textControl:LocalizeAndSetText( "TXT_KEY_DIPLO_TO_TEAM" );
    end


    -------------------------------------------------------
    -- Humans
    for iPlayer = 0, GameDefines.MAX_PLAYERS do
        local pPlayer = Players[iPlayer];

        if( iPlayer ~= g_iLocalPlayer and pPlayer ~= nil and pPlayer:IsHuman() ) then

            controlTable = {};
            Controls.ChatPull:BuildEntry( "InstanceOne", controlTable );
            controlTable.Button:SetVoids( -1, iPlayer );
            textControl = controlTable.Button:GetTextControl();
			TruncateString( textControl, Controls.ChatPull:GetSizeX()-20, Locale.ConvertTextKey("TXT_KEY_DIPLO_TO_PLAYER", pPlayer:GetNickName()));
        end
    end
    
    Controls.ChatPull:GetButton():LocalizeAndSetText( "TXT_KEY_DIPLO_TO_ALL" );
    Controls.ChatPull:CalculateInternals();
end


-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
function DoUpdateUNCountdown()
	
	local iUNCountdown = Game.GetUnitedNationsCountdown();
	
	if (iUNCountdown ~= 0 and Game.GetGameState() == GameplayGameStateTypes.GAMESTATE_ON ) then
		Controls.UNTurnsLabel:SetText(iUNCountdown);
		Controls.UNTurnsLabel:SetHide(false);
		Controls.DiploButton:SetToolTipString(Locale.ConvertTextKey("TXT_KEY_EO_DIPLOMACY_AND_UN_VOTE", iUNCountdown));
	else
		Controls.UNTurnsLabel:SetHide(true)
		Controls.DiploButton:SetToolTipString(Locale.ConvertTextKey("TXT_KEY_EO_DIPLOMACY"));
	end
end
Events.SerialEventGameDataDirty.Add(DoUpdateUNCountdown);

-- Also call it once so it starts correct - surprisingly enough, GameData isn't dirtied as we're loading a game
DoUpdateUNCountdown();


-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
m_TeamTable = {};
if( Game.IsGameMultiPlayer() ) then
    PopulateChatPull();

    Controls.ChatToggle:SetHide( false );
    OnChatToggle();
end


-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
function OnEndGameButton()

    local which = math.random( 1, 6 );
    
    if( which == 1 ) then Events.EndGameShow( EndGameTypes.Technology, Game.GetActivePlayer() ); 
    elseif( which == 2 ) then Events.EndGameShow( EndGameTypes.Domination, Game.GetActivePlayer() );
    elseif( which == 3 ) then Events.EndGameShow( EndGameTypes.Culture, Game.GetActivePlayer() );
    elseif( which == 4 ) then Events.EndGameShow( EndGameTypes.Diplomatic, Game.GetActivePlayer() );
    elseif( which == 5 ) then Events.EndGameShow( EndGameTypes.Time, Game.GetActivePlayer() );
    elseif( which == 6 ) then Events.EndGameShow( EndGameTypes.Time, Game.GetActivePlayer() + 1 ); 
    end
end
Controls.EndGameButton:RegisterCallback( Mouse.eLClick, OnEndGameButton );

DiploCorner.xml
Spoiler :

Code:
<?xml version="1.0" encoding="utf-8"?>
<Context ColorSet="Beige_Black_Alpha" FontStyle="Shadow" Font="TwCenMT16" >


  <Stack Offset="0,30" Padding="0" Anchor="R,T" StackGrowth="Bottom" >

    <!-- CHAT PANEL    GridGlass16 Max Size="505,520" -->
    <Grid Size="523,170" Anchor="R,T" Padding="0,0" Style="GridGlass16" ConsumeMouseButton="1" ConsumeMouseOver="1" ID="ChatPanel" Hidden="1" >

      <!-- Chat ScrollPanel Max Size="464,493"  -->
      <ScrollPanel Anchor="L,T" Offset="12,2" Size="490,134"  Vertical="1" ID="ChatScroll" AutoScrollBar="1" >
        <Stack Anchor="L,T"  Offset="0,0" StackGrowth="Bottom" Padding="0" ID="ChatStack" />
        <!-- Chat ScrollBar Max Length="500" -->
        <ScrollBar Offset="0.0" Style="VertSlider" Anchor="R,C" AnchorSide="O,I" Length="98" />
        <UpButton  Offset="0.0"  Style="ScrollBarUp"  Anchor="R,T" AnchorSide="O,I" />
        <DownButton Offset="0.0" Style="ScrollBarDown"  Anchor="R,B" AnchorSide="O,I" />
      </ScrollPanel>

      <!-- Chat Grid9Detail48 Max Size="523,540"-->
      <Grid Size="543,190" Anchor="R,T" Offset="-15,-15" Padding="0,0" Style="Grid9Detail48" />
      <Box Anchor="L,B" Size="513,30" Offset="10.1" Color="0,0,0,255" >
        <Box Anchor="L,T" Size="513,1" Offset="0.0" Color="255,255,200,255"/>

        <PullDown Anchor="L,C" Style="GenericPullDown" ScrollThreshold="200" SpaceForScroll="0" Size="136,26" ID="ChatPull" >
          <Label ID="LengthTest" Anchor="L,C" Offset="0,0" Font="TwCenMT20" FontStyle="SoftShadow" Hidden="1"/>

          <Box Anchor="R,C" AnchorSide="O,I" Offset="4,0" Size="366,18" Color="255,255,200,255" >
            <Box Anchor="C,C"  Offset="0,0" Size="364,16" Color="0,0,0,255" >
              <EditBox Offset="1,0" MaxLength="255" Size="364,16" Anchor="C,C" Font="TwCenMT14" ID="ChatEntry" />
            </Box>
          </Box>

        </PullDown>
      </Box>
    </Grid>


    <Container Size="10,1" Anchor="R,T" Offset="0,-1" >

      <LuaContext FileName="Assets/UI/InGame/DiploList" ID="DiploList" Hidden="1" Anchor="R,T" Offset="-11,-40" />


      <!-- Corner Treatment -->
      <Image Anchor="R,T" Texture="assets\UI\Art\WorldView\TopRight020.dds"  Offset="0,0" Size="512,128" ID="CornerAnchor" >

        <!-- Info Buttons Stack -->
        <Stack Anchor="R,T" Offset="0,0" StackGrowth="Left" Padding="-12" >



          <!--=======================================================================================================================-->
          <!-- Diplo Button -->
          <!--=======================================================================================================================-->
          <Button ConsumeMouse="1" Anchor="C,T" Size="80,80" Offset="0,0" Texture="assets\UI\Art\Notification\diplomacybase.dds" ID="DiploButton" ToolTip="TXT_KEY_EO_DIPLOMACY" Hidden="0" >
            <ShowOnMouseOver>
              <Image Anchor="C,C" Offset="0,0" Size="80,80" Texture="assets\UI\Art\Notification\diplomacybase.dds" />
              <AlphaAnim  Anchor="C,C"  AnchorSide="O.O"  Offset="0,0" Size="80,80" Texture="assets\UI\Art\Notification\diplomacyhl.dds"  Pause="0" Cycle="Bounce" Speed="1" AlphaStart="1" AlphaEnd="0" Hidden="0"/>
            </ShowOnMouseOver>
            <Label Anchor="C,C" Offset="0,4" Font="TwCenMT20" FontStyle="Stroke" ID="UNTurnsLabel" Hidden="1"/>
          </Button>

          <!--=======================================================================================================================-->
          <!-- Advisor Button -->
          <!--=======================================================================================================================-->
          <Button ConsumeMouse="1"  ID="AdvisorButton" Anchor="C,T" Size="80,80" Offset="0,0" Texture="assets\UI\Art\Notification\NotificationIconsAdvisor.dds" ToolTip="TXT_KEY_DIPLO_OPEN_ADVISORS_TT" Hidden="0" >
            <ShowOnMouseOver>
              <Image Anchor="C,C" Offset="0,0" Size="80,80" Texture="assets\UI\Art\Notification\NotificationIconsAdvisor.dds" />
              <AlphaAnim  Anchor="C,C"  AnchorSide="O.O"  Offset="0,0" Size="80,80" Texture="assets\UI\Art\Notification\NotificationIconsAdvisorHL.dds"  Pause="0" Cycle="Bounce" Speed="1" AlphaStart="1" AlphaEnd="0" Hidden="0"/>
            </ShowOnMouseOver>
          </Button>


          <!--=======================================================================================================================-->
          <!-- Social Policy Button -->
          <!--=======================================================================================================================-->
          <Button ConsumeMouse="1" Anchor="C,T" Size="80,80" Offset="0,0" Texture="assets\UI\Art\Notification\NotificationFrameBase.dds" ID="SocialPoliciesButton" ToolTip="TXT_KEY_DIPLO_OPEN_SOCIAL_POLICY_TT" Hidden="0" >
            <ShowOnMouseOver>
              <Image Anchor="C,C" Offset="0,0" Size="80,80" Texture="assets\UI\Art\Notification\NotificationFrameBase.dds" />
              <AlphaAnim  Anchor="C,C"  AnchorSide="O.O"  Offset="0,0" Size="80,80" Texture="assets\UI\Art\Notification\NotificationFrameGlow2.dds"  Pause="0" Cycle="Bounce" Speed="1" AlphaStart="1" AlphaEnd="0" Hidden="0"/>
            </ShowOnMouseOver>
            <Image Anchor="C,C" Offset="0,0" Size="80,80" Texture="assets\UI\Art\Notification\SocialPolicy80.dds" />

            <!-- ACTIVE STATE -->
            <AlphaAnim  Anchor="C,C"  AnchorSide="O.O"  Offset="0,0" Size="80,80" Texture="assets\UI\Art\Notification\SocialPolicyActive80.dds"  Pause="0" Cycle="Bounce" Speed="1" AlphaStart="1" AlphaEnd="0" Hidden="1"/>

          </Button>

          <!--=======================================================================================================================-->
          <!-- Notification Log DropDownButtons -->
          <!--=======================================================================================================================-->
          <PullDown ConsumeMouse="1" Offset="-6,0" Anchor="R,T" Size="45,45" AutoSizePopUp="0" SpaceForScroll="0" ScrollThreshold="900" ID="MultiPull" >
            <ButtonData>
              <Button Anchor="R,T" Size="45.45" Texture="assets\UI\Art\Notification\NotificationNotes.dds" ToolTip="TXT_KEY_DIPLO_ADDITIONAL" >
                <ShowOnMouseOver>
                  <Image Anchor="R,T" Offset="0,0" Size="45.45" Texture="assets\UI\Art\Notification\NotificationNotes.dds" />
                  <AlphaAnim Anchor="R,T" Offset="0,0" Size="45.45"  TextureOffset="0.0" Texture="assets\UI\Art\Notification\NotificationNotesHL.dds"  Pause="0" Cycle="Bounce" Speed="2" AlphaStart="0.95" AlphaEnd="0.55"/>
                </ShowOnMouseOver>
              </Button>
            </ButtonData>

            <GridData Anchor="L,T" Offset="-24.-41" AnchorSide="O,I" Style="Grid9DetailTwo140" Padding="0,0" >
              <Box Color="Black.0" Size="200.260" ID="MultiPullBox"/>
            </GridData>
            <ScrollPanelData Anchor="C,C"  Vertical="1" />

            <StackData StackGrowth="Bottom" Padding="0" Anchor="C,T" />

            <InstanceData Name="InstanceOne" >
              <Button  Size="180.24" Anchor="C,C" ID="Button"  >
                <ShowOnMouseOver>
                  <AlphaAnim Anchor="C,C" Offset="0,0" Size="180,24" Pause="0" Cycle="Bounce" Speed="1" AlphaStart="1" AlphaEnd="0">
                    <Grid   Size="180,26" Offset="0,0" Padding="0,0" Style="Grid9FrameTurns" />
                  </AlphaAnim>
                </ShowOnMouseOver>
              </Button>

            </InstanceData>

          </PullDown>


          <Button ConsumeMouse="1" ID="ChatToggle" Hidden="1" Anchor="R,T" Size="45.45"  Offset="-10,0" Texture="assets\UI\Art\Icons\MainChatOff.dds"  ToolTip="TXT_KEY_DIPLO_CLOSE_CHAT_TT">
            <ShowOnMouseOver>
              <Image Anchor="R,T" Offset="0,0" Size="45.45" Texture="assets\UI\Art\Icons\MainChatOn.dds" ID="MOChatToggle" />
              <AlphaAnim Anchor="R,T" Offset="0,0" Size="45.45"  TextureOffset="0.0" ID="HLChatToggle" Texture="assets\UI\Art\Icons\MainChatOnHL.dds"   Pause="0" Cycle="Bounce" Speed="2" AlphaStart="0.95" AlphaEnd="0.55"/>
            </ShowOnMouseOver>
          </Button>

          <Button Offset="-100,0" Anchor="R,T" Size="45.45" Texture="assets\UI\Art\Notification\NotificationNotes.dds" ToolTip="Publish a bogus ShowEndGame for testing" ID="EndGameButton" Hidden="1" >
            <ShowOnMouseOver>
              <Image Anchor="R,T" Offset="0,0" Size="45.45" Texture="assets\UI\Art\Notification\NotificationNotes.dds" />
              <AlphaAnim Anchor="R,T" Offset="0,0" Size="45.45"  TextureOffset="0.0" Texture="assets\UI\Art\Notification\NotificationNotesHL.dds"  Pause="0" Cycle="Bounce" Speed="2" AlphaStart="0.95" AlphaEnd="0.55"/>
            </ShowOnMouseOver>
          </Button>


        </Stack>


      </Image>

      <LuaContext FileName="Assets/UI/InGame/WorldView/SimpleDiploTrade" ID="SimpleDiplo" Hidden="1" Anchor="R,T" Offset="0,-5" />
    </Container>

  </Stack>




  <Instance Name="ChatEntry" >
    <Box Anchor="L,T" Size="490,32" Color="0,0,0,164" ID="Box" >
      <Label Anchor="L,C" Offset="3,0" WrapWidth="465" LeadingOffset="-4"  Font="TwCenMT16" ColorSet="Beige_Black_Alpha" FontStyle="Shadow" ID="String" />
    </Box>
  </Instance>

</Context>
 
Back
Top Bottom