public void Initialise() { Name = NameOffset + Id; var localId = _identityCalculator.GetSponsorId(Id) - 1; var localTypeId = _identityCalculator.GetSponsorTypeId(Id); // Initialise Entity fields var entityCalculatedOffset = EntityBaseOffset + EntityLocalOffset * Id; EntityTypeValue = entityCalculatedOffset + EntityTypeValueOffset; EntityResourceValue = entityCalculatedOffset + EntityResourceValueOffset; EntityDataValue = entityCalculatedOffset + EntityDataValueOffset; switch (localTypeId) { case 1: // Team Sponsor case 5: // Cash Sponsor InitialiseCashRatingFields(localId, localTypeId); InitialiseContractFields(localId, localTypeId); break; case 2: // Engine Supplier case 3: // Tyre Supplier case 4: // Fuel Supplier InitialiseCashRatingFields(localId, localTypeId); InitialiseRadRatingFields(localId, localTypeId); InitialiseInactiveFields(localId, localTypeId); InitialiseContractFields(localId, localTypeId); break; default: throw new ArgumentOutOfRangeException(nameof(localTypeId)); } switch (localTypeId) { case 1: // Team Sponsor break; case 2: // Engine Supplier InitialiseEngineAttributeFields(localId); break; case 3: // Tyre Supplier InitialiseTyreAttributeFields(localId); break; case 4: // Fuel Supplier InitialiseFuelAttributeFields(localId); break; case 5: // Cash Sponsor break; default: throw new ArgumentOutOfRangeException(nameof(localTypeId)); } }
private void ImportEntityValues(SponsorDataEntity dataEntity, SponsorDataLocator dataLocator) { ImportLanguageCatalogueValue(_dataEndpoint, dataEntity.Name, dataLocator.Name); dataEntity.SponsorId = _identityCalculator.GetSponsorId(dataEntity.Id); dataEntity.SponsorTypeId = _identityCalculator.GetSponsorTypeId(dataEntity.Id); dataEntity.EntityTypeId = _dataEndpoint.GameExecutableFileResource.ReadByte(dataLocator.EntityTypeValue); dataEntity.EntityResource = _dataEndpoint.GameExecutableFileResource.ReadInteger(dataLocator.EntityResourceValue); dataEntity.EntityData = _dataEndpoint.GameExecutableFileResource.ReadInteger(dataLocator.EntityDataValue); }