Changed SubCell to byte

This commit is contained in:
teinarss
2018-08-05 13:08:43 +02:00
committed by Paul Chote
parent 52a7d39e51
commit e353c8c176
7 changed files with 15 additions and 10 deletions

View File

@@ -488,6 +488,11 @@ namespace OpenRA
return int.Parse(s, NumberStyles.Integer, NumberFormatInfo.InvariantInfo);
}
public static byte ParseByte(string s)
{
return byte.Parse(s, NumberStyles.Integer, NumberFormatInfo.InvariantInfo);
}
public static bool TryParseIntegerInvariant(string s, out int i)
{
return int.TryParse(s, NumberStyles.Integer, NumberFormatInfo.InvariantInfo, out i);

View File

@@ -129,7 +129,7 @@ namespace OpenRA
if (flags.HasField(OrderFields.TargetIsCell))
{
var cell = new CPos(r.ReadInt32(), r.ReadInt32(), r.ReadByte());
var subCell = (SubCell)r.ReadInt32();
var subCell = (SubCell)r.ReadByte();
if (world != null)
target = Target.FromCell(world, cell, subCell);
}
@@ -311,7 +311,7 @@ namespace OpenRA
if (fields.HasField(OrderFields.TargetIsCell))
{
w.Write(Target.SerializableCell.Value);
w.Write((int)Target.SerializableSubCell);
w.Write((byte)Target.SerializableSubCell);
}
else
w.Write(Target.SerializablePos);

View File

@@ -292,7 +292,7 @@ namespace OpenRA.Traits
Pair<CPos, SubCell>[] OccupiedCells();
}
public enum SubCell { Invalid = int.MinValue, Any = int.MinValue / 2, FullCell = 0, First = 1 }
public enum SubCell : byte { Invalid = byte.MaxValue, Any = byte.MaxValue - 1, FullCell = 0, First = 1 }
public interface IPositionableInfo : IOccupySpaceInfo
{

View File

@@ -31,10 +31,10 @@ namespace OpenRA.Mods.Common
public class SubCellInit : IActorInit<SubCell>
{
[FieldFromYamlKey] readonly int value = (int)SubCell.FullCell;
[FieldFromYamlKey] readonly byte value = (byte)SubCell.FullCell;
public SubCellInit() { }
public SubCellInit(int init) { value = init; }
public SubCellInit(SubCell init) { value = (int)init; }
public SubCellInit(byte init) { value = init; }
public SubCellInit(SubCell init) { value = (byte)init; }
public SubCell Value(World world) { return (SubCell)value; }
}

View File

@@ -297,8 +297,8 @@ namespace OpenRA.Mods.Common.Traits
if (!AnyActorsAt(cell))
return map.Grid.DefaultSubCell;
for (var i = (int)SubCell.First; i < map.Grid.SubCellOffsets.Length; i++)
if (i != (int)preferredSubCell && !AnyActorsAt(cell, (SubCell)i, checkIfBlocker))
for (var i = (byte)SubCell.First; i < map.Grid.SubCellOffsets.Length; i++)
if (i != (byte)preferredSubCell && !AnyActorsAt(cell, (SubCell)i, checkIfBlocker))
return (SubCell)i;
return SubCell.Invalid;
}

View File

@@ -237,7 +237,7 @@ namespace OpenRA.Mods.Common.Traits
if (!previews.Any())
return map.Grid.DefaultSubCell;
for (var i = (int)SubCell.First; i < map.Grid.SubCellOffsets.Length; i++)
for (var i = (byte)SubCell.First; i < map.Grid.SubCellOffsets.Length; i++)
if (!previews.Any(p => p.Footprint[cell] == (SubCell)i))
return (SubCell)i;

View File

@@ -415,7 +415,7 @@ namespace OpenRA.Mods.Common.UtilityCommands
initDict.Add(new FacingInit(255 - facing));
if (section == "INFANTRY")
actor.Add(new SubCellInit(Exts.ParseIntegerInvariant(parts[4])));
actor.Add(new SubCellInit(Exts.ParseByte(parts[4])));
var actorCount = map.ActorDefinitions.Count;