public void Add(EnemyTypes enemyType, int numberToAdd = 1) { var existingEnemyIndex = EnemyCountTuples.FindIndex(e => e.Item2 == enemyType); if (existingEnemyIndex >= 0) { EnemyCountTuples[existingEnemyIndex] = new SerializableTuple <int, EnemyTypes>(EnemyCountTuples[existingEnemyIndex].Item1 + numberToAdd, enemyType); } else { EnemyCountTuples.Add(new SerializableTuple <int, EnemyTypes>(numberToAdd, enemyType)); } }
public Ob_Part GetObjectBuilder() { using (LockSharedUsing()) { var res = new Ob_Part { BuilderVersion = Ob_Part.PartBuilderVersion, BlockCountByType = BlockSetInfo.BlockCountByType.Select(x => SerializableTuple.Create((SerializableDefinitionId)x.Key, x.Value)).ToArray(), ComponentCost = BlockSetInfo.ComponentCost.Select(x => SerializableTuple.Create((SerializableDefinitionId)x.Key.Id, x.Value)).ToArray(), OccupiedLocations = m_blocks.Keys.Select(x => (SerializableVector3I)x).ToArray(), PowerConsumptionByGroup = BlockSetInfo.PowerConsumptionByGroup.Select(x => SerializableTuple.Create(x.Key, x.Value)).ToArray(), ReservedSpaces = m_reservedSpaces.Select(x => x.GetObjectBuilder()).ToArray(), MountPoints = m_mountPoints.Values.SelectMany(x => x.Values).Select(x => x.GetObjectBuilder()).ToArray() }; return(res); } }
/// <summary> /// Delegate for converting SerializableTuple<string,string> to Tuple<string,string> /// </summary> /// <param name="serTpl"></param> /// <returns></returns> public static Tuple <string, string> SerializableTupleToTuple(SerializableTuple <string, string> serTpl) { Tuple <string, string> tpl = serTpl; return(tpl); }
/* delegate Converter */ /// <summary> /// Delegate for converting Tuple<string,string> to SerializableTuple<string,string> /// </summary> /// <param name="tpl"></param> /// <returns></returns> public static SerializableTuple <string, string> TupleToSerializableTuple(Tuple <string, string> tpl) { SerializableTuple <string, string> serializableTuple = tpl; return(serializableTuple); }