COIExtended.dll 문서 원본 보기
←
COIExtended.dll
둘러보기로 이동
검색으로 이동
문서 편집 권한이 없습니다. 다음 이유를 확인해주세요:
요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다:
사용자
.
문서의 원본을 보거나 복사할 수 있습니다.
= COI-Extended.dll = == 참조 == * [[Harmony|0Harmony]] * Mafi * Mafi.Base * Mafi.Core * Mafi.Unity * Microsoft.CSharp * mscorlib * System * System.Core * System.Drawing * UnityEngine.AudioModule * UnityEngine.CoreModule * UnityEngine.InputLegacyModule * UnityEngine.TextRenderingModule * UnityEngine.UI == 네임스페이스 구조 == * COIExtended * COIExtended.Entities * COIExtended.Entities.Buildings * COIExtended.Entities.Managers * COIExtended.Extensions * COIExtended.Extensions.TextureManipulator * COIExtended.Markets * COIExtended.Patches * COIExtended.Prototypes * COIExtended.Prototypes.Buildings * COIExtended.Prototypes.Decorations * COIExtended.Prototypes.Edicts * COIExtended.Prototypes.Fleets * COIExtended.Prototypes.Machines * COIExtended.Prototypes.Modifications * COIExtended.Prototypes.Products * COIExtended.Prototypes.Recipes * COIExtended.Prototypes.Research * COIExtended.Prototypes.SettlementModules * COIExtended.Prototypes.Storages * COIExtended.Prototypes.Surfaces * COIExtended.Prototypes.Transports * COIExtended.Prototypes.Vehicles * COIExtended.Prototypes.World * COIExtended.UI * COIExtended.UI.Components * COIExtended.UI.Entities * COIExtended.UI.WorldMapView * COIExtended.Workbench * COIExtended.World == COIExtended == <syntaxhighlight lang="csharp" line="1"> using System; using System.Collections.Generic; using System.IO; using System.Reflection; using COIExtended.Entities; using COIExtended.Patches; using COIExtended.Prototypes; using COIExtended.Prototypes.Buildings; using COIExtended.Prototypes.Decorations; using COIExtended.Prototypes.Edicts; using COIExtended.Prototypes.Fleets; using COIExtended.Prototypes.Machines; using COIExtended.Prototypes.Modifications; using COIExtended.Prototypes.Products; using COIExtended.Prototypes.Recipes; using COIExtended.Prototypes.Research; using COIExtended.Prototypes.SettlementModules; using COIExtended.Prototypes.Storages; using COIExtended.Prototypes.Surfaces; using COIExtended.Prototypes.Transports; using COIExtended.Prototypes.Vehicles; using COIExtended.Prototypes.World; using COIExtended.World; using HarmonyLib; using Mafi; using Mafi.Collections; using Mafi.Collections.ImmutableCollections; using Mafi.Core; using Mafi.Core.Game; using Mafi.Core.Mods; using Mafi.Core.Prototypes; using Mafi.Core.SaveGame; using Mafi.Core.Terrain.Generation; using Mafi.Serialization; using UnityEngine; namespace COIExtended { public sealed class COIExtended : IMod, IModWithMaps { public string Name { get { return "COIExtended"; } } public int Version { get { return 71; } } public bool IsUiOnly { get { return false; } } public Option<IConfig> ModConfig { get; } public IEnumerable<IWorldRegionMapPreviewData> GetMapPreviews(IFileSystemHelper fsHelper, ProtosDb protosDb, bool includeWip) { string folderPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData); string path = Path.Combine(new string[] { folderPath, "Captain of Industry", "Mods", "COIExtended", "Maps" }); MapSerializer mapLoader = new MapSerializer(ImmutableArray.Create<ISpecialSerializerFactory>(new ProtosSerializerFactory(protosDb))); this.m_mapSerializer = mapLoader; this.m_loadedMapPreviewsTmp.Clear(); int builtInMapsCount = 0; HashSet<string> existingPreviewPaths = new HashSet<string>(); foreach (string text in Directory.EnumerateFiles(path, "*.map")) { IWorldRegionMapPreviewData worldRegionMapPreviewData; Option<Exception> option; if ((includeWip || !FileSystemHelperExtensions.IsWipMap(fsHelper, text)) && !existingPreviewPaths.Contains(text) && mapLoader.TryLoadPreviewMinimalFromFile(text, ref worldRegionMapPreviewData, ref option) && (includeWip || worldRegionMapPreviewData.IsPublished)) { this.m_loadedMapPreviewsTmp.Add(Pair.Create<string, IWorldRegionMapPreviewData>(text, worldRegionMapPreviewData)); existingPreviewPaths.Add(text); int num = builtInMapsCount; builtInMapsCount = num + 1; yield return worldRegionMapPreviewData; } } IEnumerator<string> enumerator = null; Debug.Log(string.Format("Loaded {0} mod provided maps.", builtInMapsCount)); yield break; yield break; } public bool TryGetMapData(IWorldRegionMapPreviewData preview, IFileSystemHelper fsHelper, ProtosDb protosDb, out IWorldRegionMapAdditionalData fullData, out WorldRegionMapFactoryConfig factoryConfig) { fullData = null; factoryConfig = null; if (this.m_mapSerializer.IsNone) { Log.Error("No map serializer."); return false; } int num = this.m_loadedMapPreviewsTmp.IndexOf<IWorldRegionMapPreviewData>(preview, (Pair<string, IWorldRegionMapPreviewData> x) => x.Second); if (num < 0) { Log.Error("File path not found for given map: " + preview.Name); return false; } string first = this.m_loadedMapPreviewsTmp[num].First; bool result; try { using (FileStream fileStream = File.OpenRead(first)) { IWorldRegionMapPreviewData worldRegionMapPreviewData; fullData = this.m_mapSerializer.Value.LoadPreviewFull(fileStream, true, ref worldRegionMapPreviewData); factoryConfig = new WorldRegionMapFactoryConfig(typeof(FileWorldRegionMapFactory), new FileWorldRegionMapFactory.Config(first)); result = true; } } catch (Exception ex) { Log.Exception(ex, "Failed to load map full data from file '" + first + "'."); result = false; } return result; } public void ClearMapData() { this.m_loadedMapPreviewsTmp = default(LystStruct<Pair<string, IWorldRegionMapPreviewData>>); this.m_mapSerializer = Option<MapSerializer>.None; } public COIExtended() { Debug.Log("[COIE]: Mod Loaded"); this.HarmonyInstance = new Harmony("COIE"); this.HarmonyInstance.PatchAll(Assembly.GetExecutingAssembly()); Debug.Log("[COIE]: Applying Patches with Harmony"); } public void EarlyInit(DependencyResolver resolver) { } public void Initialize(DependencyResolver resolver, bool gameWasLoaded) { Debug.Log("[COIE]: Initializing....."); this.InitializePatchers(resolver); } public void ChangeConfigs(Lyst<IConfig> configs) { Debug.Log("[COIE]: Changing configurations..."); } public void RegisterPrototypes(ProtoRegistrator registrator) { Debug.Log("[COIE]: Registering new prototypes..."); registrator.RegisterAllProducts(null); registrator.RegisterData<COIEPropertyData>(null); registrator.RegisterData<Countable>(null); registrator.RegisterData<Loose>(null); registrator.RegisterData<Virtual>(null); registrator.RegisterData<Fluid>(null); registrator.RegisterData<Molten>(null); registrator.RegisterData<TerrainData>(null); registrator.RegisterData<DecalsData>(null); registrator.RegisterData<SurfaceData>(null); registrator.RegisterData<DiseaseData>(null); registrator.RegisterData<SeawaterPump>(null); registrator.RegisterData<Waterwell>(null); registrator.RegisterData<SettlingTank>(null); registrator.RegisterData<LiquidDumps>(null); registrator.RegisterData<AirSeparator>(null); registrator.RegisterData<StackerLong>(null); registrator.RegisterData<StackerT2>(null); registrator.RegisterData<DryDock>(null); registrator.RegisterData<FluidStorage>(null); registrator.RegisterData<StoragesT5>(null); registrator.RegisterData<LiquidDump>(null); registrator.RegisterData<AdvancedPumping>(null); registrator.RegisterData<MegaStorage>(null); registrator.RegisterData<Nitrogen>(null); registrator.RegisterData<COIExtended.Prototypes.Recipes.Titanium>(null); registrator.RegisterData<COIExtended.Prototypes.Research.Titanium>(null); registrator.RegisterData<CargoShip>(null); registrator.RegisterData<ChemicalPlant>(null); registrator.RegisterData<ChemicalPlantT3>(null); registrator.RegisterData<ScrubberT2>(null); registrator.RegisterData<PhotoOxidation>(null); registrator.RegisterData<COIFleetData>(null); registrator.RegisterData<HardwareStoreModule>(null); registrator.RegisterData<HardwareConsumptionEdict>(null); registrator.RegisterData<HardwareStoreResearch>(null); registrator.RegisterData<FishingDock>(null); registrator.RegisterData<FishingDockResearch>(null); registrator.RegisterData<ConstructionPartsV>(null); registrator.RegisterData<COIExtended.Prototypes.Buildings.ResearchLab6>(null); registrator.RegisterData<COIExtended.Prototypes.Research.ResearchLab6>(null); registrator.RegisterData<COIETransportData>(null); registrator.RegisterData<PipeT4>(null); registrator.RegisterData<ConveyorBeltsT4>(null); registrator.RegisterData<COIExtended.Prototypes.Machines.Assembler3>(null); registrator.RegisterData<ShipArmor3>(null); registrator.RegisterData<MarketModules>(null); registrator.RegisterData<DataCenters>(null); registrator.RegisterData<COIExtended.Prototypes.Research.Assembler3>(null); registrator.RegisterData<COIExtended.Prototypes.Machines.CVDPlant>(null); registrator.RegisterData<COIExtended.Prototypes.Research.CVDPlant>(null); registrator.RegisterData<LithiumSalts>(null); registrator.RegisterData<NanochipMachines>(null); registrator.RegisterData<COIERocketData>(null); registrator.RegisterData<GoldFurnaceT2>(null); registrator.RegisterData<NanochipProduction>(null); registrator.RegisterData<ServerT2>(null); registrator.RegisterData<NewShredderData>(null); registrator.RegisterData<BatteryEfficiencyEdict>(null); registrator.RegisterData<PowerExchangerData>(null); registrator.RegisterData<Batteries3>(null); registrator.RegisterData<Batteries2>(null); registrator.RegisterData<Batteries>(null); registrator.RegisterData<TransportsResearch>(null); registrator.RegisterData<SeawallsData>(null); registrator.RegisterData<Seawalls>(null); registrator.RegisterData<IndustrialMixer>(null); registrator.RegisterData<NuclearReactorsData>(null); registrator.RegisterData<TritiumEnrichment>(null); registrator.RegisterData<COIExtended.Prototypes.Machines.DesalinatorT2>(null); registrator.RegisterData<COIExtended.Prototypes.Research.DesalinatorT2>(null); registrator.RegisterData<ChillerBoilerT2>(null); registrator.RegisterData<ThermalEfficiency>(null); registrator.RegisterData<PowerGeneratorsData>(null); registrator.RegisterData<TurbineEfficiency>(null); registrator.RegisterData<FusionReactor>(null); registrator.RegisterData<DigesterT2>(null); registrator.RegisterData<MixerT3>(null); registrator.RegisterData<FertilizerT3>(null); registrator.RegisterData<NanoDistillationData>(null); registrator.RegisterData<NanoDistillation>(null); registrator.RegisterData<PassiveTruckCapacity>(null); registrator.RegisterData<PassiveTruckCapacityT1>(null); registrator.RegisterData<MicrochipRetrofitting>(null); registrator.RegisterData<OreSortingPlantData>(null); registrator.RegisterData<OreSortingPlantResearch>(null); registrator.RegisterData<Locations>(null); registrator.RegisterData<TractorTrucksData>(null); registrator.RegisterData<TractorTrucks>(null); registrator.RegisterData<MoreVehicleRamps>(null); cargoShipPatcher.runPatch(); areaSizePatcher.applyPatch(); } public void RegisterDependencies(DependencyResolverBuilder depBuilder, ProtosDb protosDb, bool wasLoaded) { Debug.Log("[COIE]: Registering all dependencies..."); } private void InitializePatchers(DependencyResolver resolver) { Debug.Log("[COIE]: Initializing patches..."); } private LystStruct<Pair<string, IWorldRegionMapPreviewData>> m_loadedMapPreviewsTmp; private Option<MapSerializer> m_mapSerializer; public Harmony HarmonyInstance; } } </syntaxhighlight>
COIExtended.dll
문서로 돌아갑니다.
둘러보기 메뉴
개인 도구
로그인
이름공간
문서
토론
한국어
보기
읽기
원본 보기
역사 보기
더 보기
검색
둘러보기
대문
최근 바뀜
임의의 문서로
support
미디어위키 도움말
도구
여기를 가리키는 문서
가리키는 글의 최근 바뀜
문서 정보
DevAny.KR
Main Hub
GameWiki
DevPress
DevGame
DevWorks
DevStore