Merge remote-tracking branch 'remotes/flokuep/develop' into develop

This commit is contained in:
Alexander Eckart committed 2012-12-23 23:49:19 +01:00
commit 8772066ca2
8 files changed
+336 -32

No files matched your search

@@ -121,8 +121,8 @@
</Text2>
<TextPosition>
<!--<X>, <Y>: Text position-->
<X>100</X>
<Y>100</Y>
<X>40</X>
<Y>102</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -150,8 +150,8 @@
</TextPosition>
<TextPlayerName>
<!--<X>, <Y>: Text position-->
<X>110</X>
<Y>100</Y>
<X>50</X>
<Y>102</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -180,8 +180,8 @@
</TextPlayerName>
<TextNumPlayed>
<!--<X>, <Y>: Text position-->
<X>320</X>
<Y>100</Y>
<X>260</X>
<Y>102</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -209,8 +209,8 @@
</TextNumPlayed>
<TextWon>
<!--<X>, <Y>: Text position-->
<X>400</X>
<Y>100</Y>
<X>340</X>
<Y>102</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -238,8 +238,8 @@
</TextWon>
<TextSingPoints>
<!--<X>, <Y>: Text position-->
<X>550</X>
<Y>100</Y>
<X>490</X>
<Y>102</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -267,8 +267,8 @@
</TextSingPoints>
<TextGamePoints>
<!--<X>, <Y>: Text position-->
<X>650</X>
<Y>100</Y>
<X>590</X>
<Y>102</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
@@ -323,7 +323,94 @@
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</TextNextPlayer>
</TextNextPlayer>
<TextRoundPlayer>
<!--<X>, <Y>: Text position-->
<X>0</X>
<Y>0</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
<H>32</H>
<!--<MaxW>: Maximum text width (if exists)-->
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</Color>
<!--<SColor>: Selected Text color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>TextSColor</SColor>
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<HAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text />
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</TextRoundPlayer>
<TextRoundNumber>
<!--<X>, <Y>: Text position-->
<X>660</X>
<Y>102</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
<H>32</H>
<!--<MaxW>: Maximum text width (if exists)-->
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</Color>
<!--<SColor>: Selected Text color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>TextSColor</SColor>
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Right</Align>
<!--<HAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text />
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</TextRoundNumber>
<TextRoundScore>
<!--<X>, <Y>: Text position-->
<X>0</X>
<Y>0</Y>
<!--<Z>: Text position-->
<Z>0,00</Z>
<!--<H>: Text height-->
<H>32</H>
<!--<MaxW>: Maximum text width (if exists)-->
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>StaticColor</Color>
<!--<SColor>: Selected Text color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>TextSColor</SColor>
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<HAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text />
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
</TextRoundScore>
<TextPopupReallyExit>
<!--<X>, <Y>: Text position-->
<X>640</X>
@@ -639,5 +726,103 @@
<Height>26</Height>
</SReflection>
</ButtonPopupNo>
<ButtonPlayerScrollUp>
<!--<Skin>: Texture name-->
<Skin>ScrollUp</Skin>
<!--<SkinSelected>: Texture name for selected button-->
<SkinSelected>ScrollUp</SkinSelected>
<!--<X>, <Y>, <Z>, <W>, <H>: Button position, width and height-->
<X>281</X>
<Y>94</Y>
<Z>-0,01</Z>
<W>28</W>
<H>15</H>
<!--<Color>: Button color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonColor</Color>
<!--<SColor>: Selected button color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonSColor</SColor>
<Text>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>10</Y>
<!--<H>: Text height-->
<H>32</H>
<!--<MaxW>: Maximum text width (if exists)-->
<MaxW>142</MaxW>
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonTextColor</Color>
<!--<SColor>: Selected Text color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonTextSColor</SColor>
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<HAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text />
</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
<!--<SReflection> If exists:-->
<!-- <Space>: Reflection Space of selected button-->
<!-- <Height>: Reflection Height of selected button-->
</ButtonPlayerScrollUp>
<ButtonPlayerScrollDown>
<!--<Skin>: Texture name-->
<Skin>ScrollDown</Skin>
<!--<SkinSelected>: Texture name for selected button-->
<SkinSelected>ScrollDown</SkinSelected>
<!--<X>, <Y>, <Z>, <W>, <H>: Button position, width and height-->
<X>281</X>
<Y>515</Y>
<Z>-0,01</Z>
<W>28</W>
<H>15</H>
<!--<Color>: Button color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonColor</Color>
<!--<SColor>: Selected button color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonSColor</SColor>
<Text>
<!--<X>, <Y>: Text position-->
<X>75</X>
<Y>10</Y>
<!--<H>: Text height-->
<H>32</H>
<!--<MaxW>: Maximum text width (if exists)-->
<MaxW>142</MaxW>
<!--<Color>: Text color from ColorScheme (high priority)-->
<!--or <R>, <G>, <B>, <A> (lower priority)-->
<Color>ButtonTextColor</Color>
<!--<SColor>: Selected Text color from ColorScheme (high priority)-->
<!--or <SR>, <SG>, <SB>, <SA> (lower priority)-->
<SColor>ButtonTextSColor</SColor>
<!--<Align>: Text align horizontal: Left, Center, Right-->
<Align>Center</Align>
<!--<HAlign>: Text align vertical (on downsizing): Top, Center, Bottom-->
<HAlign>Center</HAlign>
<!--<Style>: Text style: Normal, Italic, Bold, BoldItalic-->
<Style>Bold</Style>
<!--<Font>: Text font name-->
<Font>Outline</Font>
<!--<Text>: Nothing or translation tag-->
<Text />
</Text>
<!--<Reflection> If exists:-->
<!-- <Space>: Reflection Space-->
<!-- <Height>: Reflection Height-->
<!--<SReflection> If exists:-->
<!-- <Space>: Reflection Space of selected button-->
<!-- <Height>: Reflection Height of selected button-->
</ButtonPlayerScrollDown>
</PartyScreenChallengeMain>
</root>
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

+2
View File
@@ -337,6 +337,8 @@
<Plus>Plus.png</Plus>
<Random>Random.png</Random>
<PopupBG>Popup.png</PopupBG>
<ScrollUp>ScrollUp.png</ScrollUp>
<ScrollDown>ScrollDown.png</ScrollDown>
</Skins>
<Videos>
<BG_Video>[Blue]BG_Video.mp4</BG_Video>
+3 -1
View File
@@ -330,7 +330,9 @@
<Minus>Minus.png</Minus>
<Plus>Plus.png</Plus>
<Random>Random.png</Random>
<PopupBG>Popup.png</PopupBG>
<PopupBG>Popup.png</PopupBG>
<ScrollUp>ScrollUp.png</ScrollUp>
<ScrollDown>ScrollDown.png</ScrollDown>
</Skins>
<Videos>
<BG_Video>[Green]BG_Video.mp4</BG_Video>
+2
View File
@@ -331,6 +331,8 @@
<Plus>Plus.png</Plus>
<Random>Random.png</Random>
<PopupBG>Popup.png</PopupBG>
<ScrollUp>ScrollUp.png</ScrollUp>
<ScrollDown>ScrollDown.png</ScrollDown>
</Skins>
<Videos>
<BG_Video>[Red]BG_Video.mp4</BG_Video>
+2
View File
@@ -331,6 +331,8 @@
<Plus>Plus.png</Plus>
<Random>Random.png</Random>
<PopupBG>Popup.png</PopupBG>
<ScrollUp>ScrollUp.png</ScrollUp>
<ScrollDown>ScrollDown.png</ScrollDown>
</Skins>
<Videos>
<BG_Video>[Yellow]BG_Video.mp4</BG_Video>
+129 -18
View File
@@ -17,6 +17,13 @@ namespace Vocaluxe.PartyModes
public CText GamePoints;
}
class RoundsTableRow
{
public CText Number;
public List<CText> TextPlayer;
public List<CText> TextScores;
}
public class PartyScreenChallengeMain : CMenuParty
{
@@ -31,12 +38,18 @@ namespace Vocaluxe.PartyModes
const string TextGamePoints = "TextGamePoints";
const string TextNextPlayer = "TextNextPlayer";
const string TextPopupReallyExit = "TextPopupReallyExit";
const string TextRoundPlayer = "TextRoundPlayer";
const string TextRoundScore = "TextRoundScore";
const string TextRoundNumber = "TextRoundNumber";
const string ButtonNextRound = "ButtonNextRound";
const string ButtonBack = "ButtonBack";
const string ButtonExit = "ButtonExit";
const string ButtonPopupYes = "ButtonPopupYes";
const string ButtonPopupNo = "ButtonPopupNo";
const string ButtonPlayerScrollUp = "ButtonPlayerScrollUp";
const string ButtonPlayerScrollDown = "ButtonPlayerScrollDown";
const string StaticPopupBG = "StaticPopupBG";
const string StaticNextPlayer = "StaticNextPlayer";
@@ -45,11 +58,17 @@ namespace Vocaluxe.PartyModes
private DataFromScreen Data;
private DataToScreenMain GameState;
private List<TableRow> Table;
private List<TableRow> PlayerTable;
private List<RoundsTableRow> RoundsTable;
private List<CText> NextPlayerTexts;
private List<CStatic> NextPlayerStatics;
private SRectF RoundsTableScrollArea;
private SRectF PlayerTableScrollArea;
private int RoundsTableOffset = 0;
private int PlayerTableOffset = 0;
public PartyScreenChallengeMain()
{
Data = new DataFromScreen();
@@ -61,8 +80,8 @@ namespace Vocaluxe.PartyModes
base.Init();
_ThemeName = "PartyScreenChallengeMain";
_ThemeTexts = new string[] { TextPosition, TextPlayerName, TextNumPlayed, TextWon, TextSingPoints, TextGamePoints, TextNextPlayer, TextPopupReallyExit };
_ThemeButtons = new string[] { ButtonNextRound, ButtonBack, ButtonExit, ButtonPopupYes, ButtonPopupNo };
_ThemeTexts = new string[] { TextPosition, TextPlayerName, TextNumPlayed, TextWon, TextSingPoints, TextGamePoints, TextNextPlayer, TextPopupReallyExit, TextRoundNumber, TextRoundPlayer, TextRoundScore };
_ThemeButtons = new string[] { ButtonNextRound, ButtonBack, ButtonExit, ButtonPopupYes, ButtonPopupNo, ButtonPlayerScrollDown, ButtonPlayerScrollUp };
_ThemeStatics = new string[] { StaticPopupBG, StaticNextPlayer };
_ScreenVersion = ScreenVersion;
}
@@ -72,7 +91,7 @@ namespace Vocaluxe.PartyModes
base.LoadTheme(XmlPath);
GameState = new DataToScreenMain();
BuildTable();
BuildPlayerTable();
NextPlayerTexts = new List<CText>();
NextPlayerStatics = new List<CStatic>();
@@ -190,9 +209,12 @@ namespace Vocaluxe.PartyModes
{
base.OnShow();
Updatetable();
UpdatePlayerTable(PlayerTableOffset);
UpdateNextPlayerPositions();
UpdateNextPlayerContents();
if(GameState.CurrentRoundNr == 1 || RoundsTable == null)
BuildRoundsTable();
UpdateRoundsTable(RoundsTableOffset);
if (GameState.CurrentRoundNr == 1)
{
@@ -306,12 +328,101 @@ namespace Vocaluxe.PartyModes
}
}
private void BuildTable()
private void BuildRoundsTable()
{
Table = new List<TableRow>();
int NumRoundsVisible = 3;
int NumPlayerInOneRow = 3;
if (GameState.NumPlayerAtOnce <= NumPlayerInOneRow)
NumRoundsVisible = 5;
if (NumRoundsVisible > GameState.Combs.Count)
NumRoundsVisible = GameState.Combs.Count;
float x = Texts[htTexts(TextRoundNumber)].X;
float y = Texts[htTexts(TextRoundNumber)].Y;
float delta = Texts[htTexts(TextRoundNumber)].Height;
//Create lists
RoundsTable = new List<RoundsTableRow>();
for (int i = 0; i < NumRoundsVisible; i++)
{
RoundsTableRow rtr = new RoundsTableRow();
rtr.TextPlayer = new List<CText>();
rtr.TextScores = new List<CText>();
RoundsTable.Add(rtr);
}
//Create statics and texts for rounds
for (int round = 0; round < RoundsTable.Count; round++)
{
//Round-number
CText text = GetNewText(Texts[htTexts(TextRoundNumber)]);
text.X = x;
text.Y = y;
text.Text = (round + 1) + ")";
AddText(text);
RoundsTable[round].Number = text;
int NumInnerRows = (int) Math.Ceiling(GameState.NumPlayerAtOnce / ((double)NumPlayerInOneRow));
for (int row = 0; row < NumInnerRows; row++)
{
int num = (row + 1) * NumPlayerInOneRow;
int NumPlayerInThisRow = NumPlayerInOneRow;
if (num > GameState.NumPlayerAtOnce)
{
num = GameState.NumPlayerAtOnce;
NumPlayerInThisRow = GameState.NumPlayerAtOnce - (row * NumPlayerInOneRow);
}
for (int column = row * NumPlayerInOneRow; column < num; column++)
{
//Player
float _x = x + 15 + (_Base.Settings.GetRenderW() - Texts[htTexts(TextRoundNumber)].X - 20) / NumPlayerInThisRow * (column - row * NumPlayerInOneRow) + ((_Base.Settings.GetRenderW() - Texts[htTexts(TextRoundNumber)].X - 20) / NumPlayerInThisRow) / 2;
float maxw = ((_Base.Settings.GetRenderW() - Texts[htTexts(TextRoundNumber)].X - 20) / NumPlayerInThisRow)/2 - 5;
text = GetNewText(Texts[htTexts(TextRoundNumber)]);
text.X = _x;
text.Y = y;
text.MaxWidth = maxw;
AddText(text);
RoundsTable[round].TextPlayer.Add(text);
//Score
text = GetNewText(Texts[htTexts(TextRoundNumber)]);
text.X = _x;
text.Y = y + delta;
text.MaxWidth = maxw;
AddText(text);
RoundsTable[round].TextScores.Add(text);
}
y = y + delta + delta;
}
y = y + delta/2;
}
}
private void UpdateRoundsTable(int Offset)
{
SProfile[] profile = _Base.Profiles.GetProfiles();
for (int i = 0; i < RoundsTable.Count; i++)
{
for(int p = 0; p < RoundsTable[i].TextPlayer.Count; p++)
{
RoundsTable[i].Number.Text = (i + 1 + Offset).ToString();
int pID = GameState.ProfileIDs[GameState.Combs[i + Offset].Player[p]];
RoundsTable[i].TextPlayer[p].Text = profile[pID].PlayerName+"";
if ((GameState.CurrentRoundNr - 1) > i)
RoundsTable[i].TextScores[p].Text = GameState.Results[i + Offset, p].ToString();
else
RoundsTable[i].TextScores[p].Text = "";
}
}
}
private void BuildPlayerTable()
{
int NumPlayerVisible = 10;
PlayerTable = new List<TableRow>();
float delta = Texts[htTexts(TextPosition)].Height * 1.2f;
for (int i = 0; i < _PartyMode.GetMaxPlayer(); i++)
for (int i = 0; i < NumPlayerVisible; i++)
{
TableRow row = new TableRow();
@@ -345,19 +456,19 @@ namespace Vocaluxe.PartyModes
AddText(row.SingPoints);
AddText(row.GamePoints);
Table.Add(row);
PlayerTable.Add(row);
}
}
private void Updatetable()
private void UpdatePlayerTable(int Offset)
{
SProfile[] profiles = _Base.Profiles.GetProfiles();
for (int i = 0; i < Table.Count; i++)
for (int i = 0; i < PlayerTable.Count; i++)
{
TableRow row = Table[i];
TableRow row = PlayerTable[i+Offset];
if (i < GameState.ResultTable.Count)
if (i+Offset < GameState.ResultTable.Count)
{
row.Pos.Visible = true;
row.Name.Visible = true;
@@ -366,11 +477,11 @@ namespace Vocaluxe.PartyModes
row.SingPoints.Visible = true;
row.GamePoints.Visible = true;
row.Name.Text = profiles[GameState.ResultTable[i].PlayerID].PlayerName;
row.Rounds.Text = GameState.ResultTable[i].NumRounds.ToString();
row.Won.Text = GameState.ResultTable[i].NumWon.ToString();
row.SingPoints.Text = GameState.ResultTable[i].SumSingPoints.ToString();
row.GamePoints.Text = GameState.ResultTable[i].NumGamePoints.ToString();
row.Name.Text = profiles[GameState.ResultTable[i+Offset].PlayerID].PlayerName;
row.Rounds.Text = GameState.ResultTable[i+Offset].NumRounds.ToString();
row.Won.Text = GameState.ResultTable[i+Offset].NumWon.ToString();
row.SingPoints.Text = GameState.ResultTable[i+Offset].SumSingPoints.ToString();
row.GamePoints.Text = GameState.ResultTable[i+Offset].NumGamePoints.ToString();
}
else
{