PIbd-22_Tsukanova_I.V._Airc.../src/ExtentionWarship.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;
}
}