home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Revista CD Expert 51
/
PCGamer51_17Demos.iso
/
games
/
CM
/
CyclingManagerDemoCangas.exe
/
CyclingManagerDemo
/
scripts
/
inrace
/
race_events_time_trial.cnc
< prev
next >
Wrap
Text File
|
2001-05-20
|
8KB
|
223 lines
func void Object_InRaceEvents_Time_Trial_Create()
{
oInRaceEvents_Time_Trial.pThis=GetParserComponent();
SetComponentNumber(4);
oInRaceEvents_Time_Trial.iCurrentCyclistName=InitContainer(tFnt_20);
SetComponentPosition(oInRaceEvents_Time_Trial.iCurrentCyclistName,0,5);
oInRaceEvents_Time_Trial.iCurrentCyclistTime=InitContainer(tFnt_20);
SetComponentPosition(oInRaceEvents_Time_Trial.iCurrentCyclistTime,650,5);
oInRaceEvents_Time_Trial.iNextCyclistName=InitContainer(tFontArialItalique);
SetComponentPosition(oInRaceEvents_Time_Trial.iNextCyclistName,0,30);
oInRaceEvents_Time_Trial.iNextCyclistTime=InitContainer(tFontArialItalique);
SetComponentPosition(oInRaceEvents_Time_Trial.iNextCyclistTime,650,30);
AutoResize();
}
func void Object_InRaceEvents_Time_Trial_Update()
{
var component pold;
var i32x boucle;
var boolx bTest;
var i32x iNextSprint,iCyclistId,iNbCyclistRecorded,iNextCyclistID;
var f32x fCurrentCyclistTime;
iCyclistId=GetActiveCyclistPreRaceID();
iNextSprint=GetCyclistNextSprintIndex(iCyclistId);
if (iNextSprint<GetNbSprints())
{
iNbCyclistRecorded=GetSprintNumRecordedCyclists(iNextSprint);
if(GetCyclistStartRaceTime(iCyclistId)>0.0)
{
fCurrentCyclistTime=GetCyclistInRaceTime(iCyclistId)-GetCyclistStartRaceTime(iCyclistId);
}
else
{
fCurrentCyclistTime=0;
}
var szx szName;
/* print("temps cycliste courant: ");
print(szName);
print("\n");*/
bTest=true;
boucle=0;
//recherche du cycliste suivant
while (boucle<iNbCyclistRecorded && bTest)
{
if( fCurrentCyclistTime>GetSprintCyclistTime(iNextSprint,boucle) )
boucle=boucle+1;
else
{
bTest=false;
}
}
pold=GetParserComponent();
SetParserComponent(oInRaceEvents_Time_Trial.pThis);
szName = Join_GetStringFromSortedIndex(g_stInraceJoins.m_iCyclist_FirstName,iCyclistId);
szName = strcat(szName," ");
szName = strcat(szName,Join_GetStringFromSortedIndex(g_stInraceJoins.m_iCyclist_LastName,iCyclistId));
SetContainerText(oInRaceEvents_Time_Trial.iCurrentCyclistName,szName);
ResizeComponent(oInRaceEvents_Time_Trial.iCurrentCyclistName);
szName=GetHourMinSecFromTime(fCurrentCyclistTime);
SetContainerText(oInRaceEvents_Time_Trial.iCurrentCyclistTime,szName);
ResizeComponent(oInRaceEvents_Time_Trial.iCurrentCyclistTime);
SetComponentPositionX(oInRaceEvents_Time_Trial.iCurrentCyclistTime,650-GetComponentWidth(oInRaceEvents_Time_Trial.iCurrentCyclistTime));
if (boucle<iNbCyclistRecorded)
{
iNextCyclistID=GetSprintCyclistPreRaceIndex(iNextSprint,boucle);
szName = Join_GetStringFromSortedIndex(g_stInraceJoins.m_iCyclist_FirstName,iNextCyclistID);
szName = strcat(szName," ");
szName = strcat(szName,Join_GetStringFromSortedIndex(g_stInraceJoins.m_iCyclist_LastName,iNextCyclistID));
SetContainerText(oInRaceEvents_Time_Trial.iNextCyclistName,szName);
szName=GetFullHMSFromTime(GetSprintCyclistTime(iNextSprint,boucle));
SetContainerText(oInRaceEvents_Time_Trial.iNextCyclistTime,szName);
ResizeComponent(oInRaceEvents_Time_Trial.iNextCyclistTime);
SetComponentPositionX(oInRaceEvents_Time_Trial.iNextCyclistTime,650-GetComponentWidth(oInRaceEvents_Time_Trial.iNextCyclistTime));
}
else
{
SetContainerText(oInRaceEvents_Time_Trial.iNextCyclistName,g_szNull);
SetContainerText(oInRaceEvents_Time_Trial.iNextCyclistTime,g_szNull);
}
SetParserComponent(pold);
}
else
{
pold=GetParserComponent();
SetParserComponent(oInRaceEvents_Time_Trial.pThis);
var szx szName;
szName = Join_GetStringFromSortedIndex(g_stInraceJoins.m_iCyclist_FirstName,iCyclistId);
szName = strcat(szName," ");
szName = strcat(szName,Join_GetStringFromSortedIndex(g_stInraceJoins.m_iCyclist_LastName,iCyclistId));
SetContainerText(oInRaceEvents_Time_Trial.iCurrentCyclistName,szName);
SetContainerText(oInRaceEvents_Time_Trial.iNextCyclistName,g_szNull);
SetContainerText(oInRaceEvents_Time_Trial.iNextCyclistTime,g_szNull);
SetContainerText(oInRaceEvents_Time_Trial.iCurrentCyclistTime,g_szNull);
SetParserComponent(pold);
}
}
func i32x Object_InRaceEvents_Time_Trial_Event()
{
return 1;
}
func void Object_InRaceEvents_Time_Trial_InitMembers ()
{
oInRaceEvents_Time_Trial.oFunc.pcreate=Object_InRaceEvents_Time_Trial_Create;
oInRaceEvents_Time_Trial.oFunc.pevent=Object_InRaceEvents_Time_Trial_Event;
}
func void Object_InRaceEvents_Team_Time_Trial_Update()
{
var i32x iCyclistID,iNbCyclists,iTeamID,iNextSprint;
var i32x boucle,boucle2,boucle3;
var f32x iPercentageDone,fCyclistSprintTime;
var szx szName;
iTeamID=GetCyclistPreRaceTeamID(GetActiveCyclistPreRaceID());
iNbCyclists=GetTeamNumCyclists(iTeamID);
if(iNbCyclists>0)
{
if (iNbCyclists>=5)
iCyclistID=GetInTeamSortedCyclistPreraceIndex(iTeamID,4);
else
{
iCyclistID=GetInTeamSortedCyclistPreraceIndex(iTeamID,iNbCyclists-1);
}
fCyclistSprintTime=GetCyclistInRaceTime(iCyclistID)-GetCyclistStartRaceTime(iCyclistID);
if (GetCyclistStartRaceTime(iCyclistID)==0)
fCyclistSprintTime=0;
szName=Join_GetStringFromSortedIndex(g_stInraceJoins.m_iCyclist_LastName,iCyclistID);
var component pold;
pold=GetParserComponent();
SetParserComponent(oInRaceEvents_Time_Trial.pThis);
SetContainerText(oInRaceEvents_Time_Trial.iCurrentCyclistName,Join_GetStringFromSortedIndex(g_stInraceJoins.m_iCyclist_TeamIDName,iTeamID));
szName=GetHourMinSecFromTime(fCyclistSprintTime);
SetContainerText(oInRaceEvents_Time_Trial.iCurrentCyclistTime,szName);
ResizeComponent(oInRaceEvents_Time_Trial.iCurrentCyclistTime);
SetComponentPositionX(oInRaceEvents_Time_Trial.iCurrentCyclistTime,650-GetComponentWidth(oInRaceEvents_Time_Trial.iCurrentCyclistTime));
boucle=0;
//recherche de l'equipe suivante;
iNextSprint=GetCyclistNextSprintIndex(iCyclistID);
if (iNextSprint<GetNbSprints())
{
while(boucle<oRace.TabSprintClassement[iNextSprint].iNbTeamRecorded-1
&& fCyclistSprintTime>oRace.Tab_Team_Sprints[iNextSprint].Tab[oRace.TabSprintClassement[iNextSprint].TabSprintClassement[boucle].iTeamID].fSprintTime)
boucle=boucle+1;
if(boucle==oRace.TabSprintClassement[iNextSprint].iNbTeamRecorded)
{
SetContainerText(oInRaceEvents_Time_Trial.iNextCyclistName,"");
SetContainerText(oInRaceEvents_Time_Trial.iNextCyclistTime,"");
}
else
{
szName=Join_GetStringFromSortedIndex(g_stInraceJoins.m_iCyclist_TeamIDName,oRace.TabSprintClassement[iNextSprint].TabSprintClassement[boucle].iTeamID);
SetContainerText(oInRaceEvents_Time_Trial.iNextCyclistName,szName);
szName=GetFullHMSFromTime(oRace.Tab_Team_Sprints[iNextSprint].Tab[oRace.TabSprintClassement[iNextSprint].TabSprintClassement[boucle].iTeamID].fSprintTime);
SetContainerText(oInRaceEvents_Time_Trial.iNextCyclistTime,szName);
ResizeComponent(oInRaceEvents_Time_Trial.iNextCyclistTime);
SetComponentPositionX(oInRaceEvents_Time_Trial.iNextCyclistTime,650-GetComponentWidth(oInRaceEvents_Time_Trial.iNextCyclistTime));
}
}
else
{
SetContainerText(oInRaceEvents_Time_Trial.iNextCyclistName,"");
SetContainerText(oInRaceEvents_Time_Trial.iNextCyclistTime,"");
}
SetParserComponent(pold);
}//if(iNbCyclists>0)
}