Slight restructure, it's best to make sure we know where all of the elements are and where they're going.

This commit is contained in:
Charles Lohr
2005-03-11 22:59:57 +00:00
parent ec01120e29
commit 74c023a93b
2 changed files with 22 additions and 38 deletions
+21 -36
View File
@@ -9,6 +9,7 @@
#include "ScreenTextEntry.h" #include "ScreenTextEntry.h"
#include "ScreenManager.h" #include "ScreenManager.h"
#include "VirtualKeyboard.h" #include "VirtualKeyboard.h"
#include "Command.h"
#define TITLEBG_WIDTH THEME->GetMetricF(m_sName,"TitleBGWidth") #define TITLEBG_WIDTH THEME->GetMetricF(m_sName,"TitleBGWidth")
#define TITLEBG_HEIGHT THEME->GetMetricF(m_sName,"TitleBGHeight") #define TITLEBG_HEIGHT THEME->GetMetricF(m_sName,"TitleBGHeight")
@@ -211,8 +212,8 @@ void ScreenNetRoom::MenuUp( PlayerNumber pn, const InputEventType type )
switch (m_SelectMode) { switch (m_SelectMode) {
case SelectRooms: case SelectRooms:
if (m_iRoomPlace > 0) { if (m_iRoomPlace > 0) {
ShiftRoomsDown();
m_iRoomPlace--; m_iRoomPlace--;
UpdateRoomPos();
} }
ScreenNetSelectBase::MenuUp( pn ); ScreenNetSelectBase::MenuUp( pn );
break; break;
@@ -226,8 +227,8 @@ void ScreenNetRoom::MenuDown( PlayerNumber pn, const InputEventType type )
case SelectRooms: case SelectRooms:
if( m_iRoomPlace+1 < (int) m_RoomList.size() ) if( m_iRoomPlace+1 < (int) m_RoomList.size() )
{ {
ShiftRoomsUp();
m_iRoomPlace++; m_iRoomPlace++;
UpdateRoomPos();
} }
ScreenNetSelectBase::MenuDown( pn ); ScreenNetSelectBase::MenuDown( pn );
break; break;
@@ -254,16 +255,8 @@ void ScreenNetRoom::MenuRight( PlayerNumber pn, const InputEventType type )
void ScreenNetRoom::UpdateRoomsList() void ScreenNetRoom::UpdateRoomsList()
{ {
float cx; float cx = THEME->GetMetricF(m_sName, "RoomsX") - ROOMSPACEX * ( m_iRoomPlace );
float cy; float cy = THEME->GetMetricF(m_sName, "RoomsY") - ROOMSPACEY * ( m_iRoomPlace );
if (m_RoomList.size() > 0) {
cx = m_RoomList[0].GetX();
cy = m_RoomList[0].GetY();
} else {
cx = THEME->GetMetricF(m_sName, "RoomsX");
cy = THEME->GetMetricF(m_sName, "RoomsY");
}
for (unsigned int i = 0; i < m_RoomList.size(); ++i) for (unsigned int i = 0; i < m_RoomList.size(); ++i)
this->RemoveChild(&m_RoomList[i]); this->RemoveChild(&m_RoomList[i]);
@@ -310,31 +303,23 @@ void ScreenNetRoom::CreateNewRoom( const CString& rName, const CString& rDesc )
NSMAN->SendSMOnline( ); NSMAN->SendSMOnline( );
} }
void ScreenNetRoom::ShiftRoomsUp() { void ScreenNetRoom::UpdateRoomPos() {
for (unsigned int x = 0; x < m_RoomList.size(); ++x) { float cx = THEME->GetMetricF(m_sName, "RoomsX") - ROOMSPACEX * ( m_iRoomPlace );
m_RoomList[x].FinishTweening(); float cy = THEME->GetMetricF(m_sName, "RoomsY") - ROOMSPACEY * ( m_iRoomPlace );
if ((m_RoomList[x].GetY()-ROOMSPACEY >= ROOMUPPERBOUND)&&(m_RoomList[x].GetY()-ROOMSPACEY < ROOMLOWERBOUND)) { for (unsigned int x = 0; x < m_RoomList.size(); ++x)
COMMAND(m_RoomList[x], "ShiftUp");
COMMAND(m_RoomList[x], "RoomsOn");
} else {
COMMAND(m_RoomList[x], "ShiftUp");
COMMAND(m_RoomList[x], "RoomsOff");
}
}
}
void ScreenNetRoom::ShiftRoomsDown()
{
for( unsigned x = 0; x < m_RoomList.size(); ++x )
{ {
m_RoomList[x].FinishTweening(); m_RoomList[x].StopTweening();
if ((m_RoomList[x].GetY()+ROOMSPACEY >= ROOMUPPERBOUND)&&(m_RoomList[x].GetY()+ROOMSPACEY < ROOMLOWERBOUND)) { CString Command = ssprintf( "linear,0.2;y,%f;x,%f;", cy, cx );
COMMAND(m_RoomList[x], "ShiftDown");
COMMAND(m_RoomList[x], "RoomsOn"); if ( ( cy > ROOMLOWERBOUND ) || ( cy < ROOMUPPERBOUND ) )
} else { Command += THEME->GetMetric( m_sName, "RoomsOffCommand" );
COMMAND(m_RoomList[x], "ShiftDown"); else
COMMAND(m_RoomList[x], "RoomsOff"); Command += THEME->GetMetric( m_sName, "RoomsOnCommand" );
}
ActorCommands cmds( Command );
m_RoomList[x].RunCommands( cmds );
cx += ROOMSPACEX;
cy += ROOMSPACEY;
} }
} }
+1 -2
View File
@@ -45,8 +45,7 @@ private:
void MenuLeft( PlayerNumber pn, const InputEventType type ); void MenuLeft( PlayerNumber pn, const InputEventType type );
void MenuRight( PlayerNumber pn, const InputEventType type ); void MenuRight( PlayerNumber pn, const InputEventType type );
void CreateNewRoom( const CString& rName, const CString& rDesc ); void CreateNewRoom( const CString& rName, const CString& rDesc );
void ShiftRoomsUp(); void UpdateRoomPos();
void ShiftRoomsDown();
enum NetSelectModes enum NetSelectModes
{ {