65 lines
2.6 KiB
Java
65 lines
2.6 KiB
Java
import java.awt.*;
|
|
|
|
public class ExtentionWarship {
|
|
private static final char _separatorForObject = ':';
|
|
private static BlockCount _block;
|
|
public static DrawingWarship CreateDrawingWarship(String info)
|
|
{
|
|
//speed - 0, weight - 1, color - 2, blocktype - 3, blockcount - 4,
|
|
//dopcolor - 5, bodykit - 6, cabin - 7, superengine- 8
|
|
String[] strs = info.split(String.valueOf(_separatorForObject));
|
|
IDrawingObjectBlock blockType = null;
|
|
switch (strs[3])
|
|
{
|
|
case "DrawingBlocks":
|
|
blockType = new DrawingBlocks(_block);
|
|
break;
|
|
case "DrawingRoundBlocks":
|
|
blockType = new DrawingRoundBlocks(_block);
|
|
break;
|
|
case "DrawingRoundRectangleBlocks":
|
|
blockType = new DrawingRoundRectangleBlocks(_block);
|
|
break;
|
|
}
|
|
if (strs.length == 5)
|
|
{
|
|
var temp = new DrawingWarship(Integer.parseInt(strs[0]),
|
|
Float.parseFloat(strs[1]),
|
|
new Color(Integer.parseInt(strs[2])),
|
|
Integer.parseInt(strs[4]));
|
|
|
|
temp.SetBlocks(Integer.parseInt(strs[4]), blockType);
|
|
return temp;
|
|
}
|
|
if (strs.length == 9)
|
|
{
|
|
var temp = new DrawingAircraftCarrier(Integer.parseInt(strs[0]),
|
|
Float.parseFloat(strs[1]),
|
|
new Color(Integer.parseInt(strs[2])),
|
|
new Color(Integer.parseInt(strs[5])),
|
|
Integer.parseInt(strs[4]),
|
|
Boolean.parseBoolean(strs[6]),
|
|
Boolean.parseBoolean(strs[7]),
|
|
Boolean.parseBoolean(strs[8]));
|
|
|
|
temp.SetBlocks(Integer.parseInt(strs[4]), blockType);
|
|
return temp;
|
|
}
|
|
return null;
|
|
}
|
|
public static String GetDataForSave(DrawingWarship drawingWarship)
|
|
{
|
|
var warship = drawingWarship.Warship;
|
|
var str = "" + warship.GetSpeed() + _separatorForObject + warship.GetWeight()
|
|
+ _separatorForObject + warship.GetBodyColor().getRGB() + _separatorForObject +
|
|
drawingWarship.BlockType() + _separatorForObject + drawingWarship.Blocks.GetBlockCount();
|
|
if (warship instanceof EntityAircraftCarrier aircraftCarrier)
|
|
{
|
|
return str + _separatorForObject + aircraftCarrier.GetDopColor().getRGB()
|
|
+ _separatorForObject + aircraftCarrier.GetBodyKit() + _separatorForObject
|
|
+ aircraftCarrier.GetCabin() + _separatorForObject + aircraftCarrier.GetSuperEngine();
|
|
}
|
|
return str;
|
|
}
|
|
}
|