public void InitTechMatrixList(ref List <TechTypeData>[] TechnologyMatrix) { int i = 0; foreach (KeyValuePair <CATEGORY, TechType[]> kvp in baseTechMatrix) { if (Enum.IsDefined(typeof(Categories), (int)kvp.Key)) { TechnologyMatrix[i] = new List <TechTypeData>(); for (int j = 0; j < kvp.Value.Length; j++) { string name; TechType techType = kvp.Value[j]; switch (techType) { case TechType.SeaEmperorBaby: name = Language.main.Get(TechTypeExtensions.AsString(TechType.SeaEmperorJuvenile, false)); break; case TechType.SeaEmperorJuvenile: name = Language.main.Get(TechTypeExtensions.AsString(TechType.SeaEmperorBaby, false)); break; default: name = Language.main.Get(TechTypeExtensions.AsString(kvp.Value[j], false)); break; } TechnologyMatrix[i].Add(new TechTypeData(techType, name)); } i++; } } }
public static void InitTechMatrixList(ref List <TechTypeData>[] TechnologyMatrix) { for (int i = 0; i < techMatrix.Length; i++) { TechnologyMatrix[i] = new List <TechTypeData>(); for (int j = 0; j < techMatrix[i].Length; j++) { string name; TechType techType = techMatrix[i][j]; if (techType == TechType.SeaEmperorBaby) { name = Language.main.Get(TechTypeExtensions.AsString(TechType.SeaEmperorJuvenile, false)); } else if (techType == TechType.SeaEmperorJuvenile) { name = Language.main.Get(TechTypeExtensions.AsString(TechType.SeaEmperorBaby, false)); } else { name = Language.main.Get(TechTypeExtensions.AsString(techMatrix[i][j], false)); } TechnologyMatrix[i].Add(new TechTypeData(techType, name)); } } }
public void InitFullTechMatrixList(ref List <TechTypeData> TechMatrix) { int[] techTypeArray = (int[])Enum.GetValues(typeof(TechType)); for (int i = 0; i < techTypeArray.Length; i++) { TechType techType = (TechType)techTypeArray[i]; string name = Language.main.Get(TechTypeExtensions.AsString((TechType)techTypeArray[i], false)); TechMatrix.Add(new TechTypeData(techType, name)); } }
public void RegisterNewArm(CraftableSeaTruckArm armPrefab, ISeaTruckArmHandlerRequest armHandlerRequest) { if (ArmTechTypes.ContainsKey(armPrefab.TechType)) { return; } ArmTechTypes.Add(armPrefab.TechType, armPrefab.ArmTemplate); ArmHandlers.Add(armPrefab.TechType, armHandlerRequest); string techName = TechTypeExtensions.AsString(armPrefab.TechType); BZLogger.Log($"API message: New arm techtype registered, ID:[{(int)armPrefab.TechType}], name:[{techName}]"); }
public void IsExistsModdersTechTypes(ref List <TechTypeData>[] TechnologyMatrix, Dictionary <string, CATEGORY> dictionary) { foreach (KeyValuePair <string, CATEGORY> pair in dictionary) { if (pair.Value == CATEGORY.BaseModule) { continue; } if (TechTypeHandler.TryGetModdedTechType(pair.Key, out TechType techType)) { if (TechTypeExtensions.AsString(techType, false) == pair.Key) { TechnologyMatrix[(int)pair.Value].Add(new TechTypeData(techType, Language.main.Get(TechTypeExtensions.AsString(techType, false)))); } } } }
public void InitFullTechTypeList(ref List <TechTypeData> TechTypeList) { int[] techTypeArray = (int[])Enum.GetValues(typeof(TechType)); for (int i = 0; i < techTypeArray.Length; ++i) { TechType techType = (TechType)techTypeArray[i]; if (TechType_Blacklist.Contains(techType)) { continue; } string name = Language.main.Get(TechTypeExtensions.AsString((TechType)techTypeArray[i], false)); TechTypeList.Add(new TechTypeData(techType, name)); } TechTypeList.Sort(); }
private void SearchForModdedTechTypes() { int i = 0; int[] techTypeArray = (int[])Enum.GetValues(typeof(TechType)); for (int j = 0; j < techTypeArray.Length; j++) { if (techTypeArray[j] >= 11000) { TechType techType = (TechType)techTypeArray[j]; string techName = TechTypeExtensions.AsString(techType); EquipmentType equipmentType = TechData.GetEquipmentType(techType); FoundModdedTechTypes.Add(techName, techType); TypeDefCache.Add(techType, equipmentType); BZLogger.Log($"Modded techtype found! Name: [{techName}], ID: [{(int)techType}], Type: [{equipmentType}]"); i++; } } BZLogger.Log($"Found [{i}] modded TechType(s)."); }
internal void RegisterNewArm(CraftableModdedArm armPrefab, IArmModdingRequest armModdingRequest) { if (ModdedArmPrefabs.ContainsKey(armPrefab.TechType)) { return; } string techName = TechTypeExtensions.AsString(armPrefab.TechType); GameObject clonedArm = Instantiate(ArmsTemplateCache[armPrefab.ArmTemplate], InactiveCache.transform); clonedArm.name = techName; clonedArm.SetActive(false); SetupHelper graphicsHelper = clonedArm.AddComponent <SetupHelper>(); ArmTag armTag = clonedArm.AddComponent <ArmTag>(); armTag.armType = armPrefab.ArmType; armTag.armTemplate = armPrefab.ArmTemplate; armTag.techType = armPrefab.TechType; armModdingRequest.SetUpArm(clonedArm, graphicsHelper); if (armPrefab.ArmType == ArmType.ExosuitArm) { armModdingRequest.GetExosuitArmHandler(clonedArm); } else { armModdingRequest.GetSeamothArmHandler(clonedArm); } ModdedArmPrefabs.Add(armPrefab.TechType, clonedArm); SNLogger.Log($"New {armPrefab.ArmType} registered: TechType ID: [{(int)armPrefab.TechType}], TechType name: [{techName}]"); }
public void InitTechMatrixList(ref List <TechTypeData>[] TechnologyMatrix) { int i = 0; foreach (KeyValuePair <TechCategory, TechType[]> kvp in baseTechMatrix) { if (Enum.IsDefined(typeof(Categories), (int)kvp.Key)) { TechnologyMatrix[i] = new List <TechTypeData>(); for (int j = 0; j < kvp.Value.Length; j++) { string name; TechType techType = kvp.Value[j]; name = Language.main.Get(TechTypeExtensions.AsString(kvp.Value[j], false)); TechnologyMatrix[i].Add(new TechTypeData(techType, name)); } i++; } } }
public void GetModdedTechTypes(ref List <TechTypeData>[] TechnologyMatrix) { ModdedTechTypeHelper mHelper = new ModdedTechTypeHelper(); foreach (KeyValuePair <string, TechType> kvp in mHelper.FoundModdedTechTypes) { EquipmentType equipmentType = mHelper.TypeDefCache[kvp.Value]; switch (equipmentType) { case EquipmentType.CyclopsModule: case EquipmentType.ExosuitArm: case EquipmentType.ExosuitModule: case EquipmentType.SeamothModule: case EquipmentType.VehicleModule: case (EquipmentType)100: TechnologyMatrix[(int)TechCategory.Upgrades].Add(new TechTypeData(kvp.Value, Language.main.Get(TechTypeExtensions.AsString(kvp.Value, false)))); break; } } SNLogger.Debug("CheatManager", "Modded TechTypes checked and added."); }
public void GetModdedTechTypes(ref List <TechTypeData>[] TechnologyMatrix) { ModdedTechTypeHelper mHelper = new ModdedTechTypeHelper(); foreach (KeyValuePair <string, TechType> kvp in mHelper.FoundModdedTechTypes) { EquipmentType equipmentType = mHelper.TypeDefCache[kvp.Value]; switch (equipmentType) { case EquipmentType.ExosuitArm: case EquipmentType.ExosuitModule: case EquipmentType.HoverbikeModule: case EquipmentType.SeamothModule: case EquipmentType.SeaTruckModule: case EquipmentType.VehicleModule: case (EquipmentType)200: TechnologyMatrix[(int)TechCategory.Upgrades].Add(new TechTypeData(kvp.Value, Language.main.Get(TechTypeExtensions.AsString(kvp.Value, false)))); break; case EquipmentType.Body: case EquipmentType.Chip: case EquipmentType.Foots: case EquipmentType.Gloves: case EquipmentType.Head: case EquipmentType.Tank: TechnologyMatrix[(int)TechCategory.Equipment].Add(new TechTypeData(kvp.Value, Language.main.Get(TechTypeExtensions.AsString(kvp.Value, false)))); break; case EquipmentType.Hand: TechnologyMatrix[(int)TechCategory.Tools].Add(new TechTypeData(kvp.Value, Language.main.Get(TechTypeExtensions.AsString(kvp.Value, false)))); break; case EquipmentType.BatteryCharger: case EquipmentType.PowerCellCharger: TechnologyMatrix[(int)TechCategory.Electronics].Add(new TechTypeData(kvp.Value, Language.main.Get(TechTypeExtensions.AsString(kvp.Value, false)))); break; } if (kvp.Key.Equals("SeaTruckScannerModule")) { TechnologyMatrix[(int)TechCategory.Vehicles].Add(new TechTypeData(kvp.Value, Language.main.Get(TechTypeExtensions.AsString(kvp.Value, false)))); } } }