The online racing simulator
How to use IS_PLC?
Hello guys! I started working on InSim.Net cruise but now i want to use the IS_PLC packets...
The problem is there the code is too long...
Currently i started like that:

if (Conn.Cars.Contains("UF1")) { insim.Send(new IS_PLC { UCID = Conn.UniqueID, Cars = CarFlags.UF1 }); }
if (Conn.Cars.Contains("UF1") && Conn.Cars.Contains("XFG")) { insim.Send(new IS_PLC { UCID = Conn.UniqueID, Cars = CarFlags.XFG }); }

but it will take me too much time to finish it.
Can you help me to make it in less lines? Smile
No
This is the code i'm using. Little modified for you.

//Convert Function
CarFlags CarToPLC(string CarName)//Add the rest
{
switch (CarName.ToUpper())
{
case "XRG": return CarFlags.XRG;
case "LX4": return CarFlags.LX4;
case "LX6": return CarFlags.LX6;
case "RB4": return CarFlags.RB4;
case "FXO": return CarFlags.FXO;
case "XRT": return CarFlags.XRT;
case "RAC": return CarFlags.RAC;
case "FZ5": return CarFlags.FZ5;
}
return CarFlags.None;
}

//Checking
CarFlags AvailableCars = CarFlags.None;
string AllCars = Conn.Cars;//You will probably have to "split" this, depending how you store them. Like "string[] AllCars = Conn.Cars.Split(' ');"

foreach (string ThisCar in AllCars)
{
AvailableCars |= CarToPLC(ThisCar);
}
insim.Send(new IS_PLC { UCID = UCID, Cars = AvailableCars });

Well, try this example too:

Quote : if (C.Cars.Contains("UF1"))
{
plc.Cars = plc.Cars | CarFlags.UF1;
insim.Send(plc);
}
if (C.Cars.Contains("XFG"))
{
plc.Cars = plc.Cars | CarFlags.XFG;
insim.Send(plc);
}
if (C.Cars.Contains("XRG"))
{
plc.Cars = plc.Cars | CarFlags.XRG;
insim.Send(plc);
}
if (C.Cars.Contains("LX4"))
{
plc.Cars = plc.Cars | CarFlags.LX4;
insim.Send(plc);
}
if (C.Cars.Contains("LX6"))
{
plc.Cars = plc.Cars | CarFlags.LX6;
insim.Send(plc);
}
if (C.Cars.Contains("RB4"))
{
plc.Cars = plc.Cars | CarFlags.RB4;
insim.Send(plc);
}
if (C.Cars.Contains("FXO"))
{
plc.Cars = plc.Cars | CarFlags.FXO;
insim.Send(plc);
}
if (C.Cars.Contains("XRT"))
{
plc.Cars = plc.Cars | CarFlags.XRT;
insim.Send(plc);
}
if (C.Cars.Contains("RAC"))
{
plc.Cars = plc.Cars | CarFlags.RAC;
insim.Send(plc);
}
if (C.Cars.Contains("FZ5"))
{
plc.Cars = plc.Cars | CarFlags.FZ5;
insim.Send(plc);
}
if (C.Cars.Contains("UFR"))
{
plc.Cars = plc.Cars | CarFlags.UFR;
insim.Send(plc);
}
if (C.Cars.Contains("XFR"))
{
plc.Cars = plc.Cars | CarFlags.XFR;
insim.Send(plc);
}
if (C.Cars.Contains("FXR"))
{
plc.Cars = plc.Cars | CarFlags.FXR;
insim.Send(plc);
}
if (C.Cars.Contains("XRR"))
{
plc.Cars = plc.Cars | CarFlags.XRR;
insim.Send(plc);
}
if (C.Cars.Contains("FZR"))
{
plc.Cars = plc.Cars | CarFlags.FZR;
insim.Send(plc);
}
if (C.Cars.Contains("MRT"))
{
plc.Cars = plc.Cars | CarFlags.MRT;
insim.Send(plc);
}
if (C.Cars.Contains("FBM"))
{
plc.Cars = plc.Cars | CarFlags.FBM;
insim.Send(plc);
}
if (C.Cars.Contains("FOX"))
{
plc.Cars = plc.Cars | CarFlags.FOX;
insim.Send(plc);
}
if (C.Cars.Contains("FO8"))
{
plc.Cars = plc.Cars | CarFlags.FO8;
insim.Send(plc);
}
if (C.Cars.Contains("BF1"))
{
plc.Cars = plc.Cars | CarFlags.BF1;
insim.Send(plc);
}

Thank you for the answers! Smile

FGED GREDG RDFGDR GSFDG