public static EquipmentDef Add(EquipmentTemplate equipmentTemplate, String contentPackIdentifier = null) { contentPackIdentifier = contentPackIdentifier ?? Assembly.GetCallingAssembly().GetName().Name; if (!ContentPacks.assemblyDict.ContainsKey(contentPackIdentifier)) { ContentPacks.assemblyDict[contentPackIdentifier] = Assembly.GetCallingAssembly(); } EquipmentDef equipmentDef = ScriptableObject.CreateInstance <EquipmentDef>(); equipmentDef.name = equipmentTemplate.internalName; equipmentDef.cooldown = equipmentTemplate.cooldown ?? equipmentDef.cooldown; equipmentDef.isLunar = equipmentTemplate.isLunar ?? equipmentDef.isLunar; equipmentDef.isBoss = equipmentTemplate.isBoss ?? equipmentDef.isBoss; equipmentDef.canDrop = equipmentTemplate.canDrop ?? equipmentDef.canDrop; equipmentDef.appearsInSinglePlayer = equipmentTemplate.appearsInSinglePlayer ?? equipmentDef.appearsInSinglePlayer; equipmentDef.appearsInMultiPlayer = equipmentTemplate.appearsInMultiPlayer ?? equipmentDef.appearsInMultiPlayer; equipmentDef.enigmaCompatible = equipmentTemplate.appearsInSinglePlayer ?? equipmentDef.enigmaCompatible; equipmentDef.colorIndex = equipmentTemplate.colorIndex ?? equipmentDef.colorIndex; equipmentDef.unlockableDef = equipmentTemplate.unlockableDef ?? equipmentDef.unlockableDef; equipmentDef.passiveBuffDef = equipmentTemplate.passiveBuffDef ?? equipmentDef.passiveBuffDef; equipmentDef.pickupModelPrefab = equipmentTemplate.prefab ?? equipmentDef.pickupModelPrefab; equipmentDef.pickupIconSprite = equipmentTemplate.icon ?? equipmentDef.pickupIconSprite; equipmentDef.nameToken = $"EQUIPMENT_{equipmentTemplate.internalName.ToUpper()}_NAME"; equipmentDef.pickupToken = $"EQUIPMENT_{equipmentTemplate.internalName.ToUpper()}_PICKUP"; equipmentDef.descriptionToken = $"EQUIPMENT_{equipmentTemplate.internalName.ToUpper()}_DESC"; equipmentDef.loreToken = $"EQUIPMENT_{equipmentTemplate.internalName.ToUpper()}_LORE"; Languages.AddTokenString(equipmentDef.nameToken, equipmentTemplate.name); Languages.AddTokenString(equipmentDef.pickupToken, equipmentTemplate.pickupText); Languages.AddTokenString(equipmentDef.descriptionToken, equipmentTemplate.descriptionText); Languages.AddTokenString(equipmentDef.loreToken, equipmentTemplate.loreText); return(Add(equipmentDef, equipmentTemplate.characterItemDisplayRules, contentPackIdentifier)); }
private EquipmentTemplate CreateEquipmentTemplate() { EquipmentTemplate equipmentTemplate = new EquipmentTemplate(); equipmentTemplate.Fields.AddRange(CreateFields()); return(equipmentTemplate); }
private RigTemplate GetRigTemplate() { RigTemplate rigTemplate = new RigTemplate(); for (int i = 0; i < 5; i++) { EquipmentTemplate equipmentTemplate = new EquipmentTemplate(); equipmentTemplate.Name = $"EquipmentTemplate-{i}"; equipmentTemplate.Type = $"EquipmentType-{i}"; equipmentTemplate.Fields.Add(new DateTimeField()); equipmentTemplate.Fields.Add(new DateTimeField()); equipmentTemplate.Fields.Add(new DateTimeField()); rigTemplate.EquipmentTemplates.Add(equipmentTemplate); } return(rigTemplate); }
public string GetPrefixedName(EquipmentTemplate template) { EquipmentTemplate parent = template.ParentElementTemplate; List<int> positions = new List<int>(); while (parent != null) { if (!parent.IgnoredCalc) positions.Add(parent.Position); parent = parent.ParentElementTemplate; } positions.Reverse(); if (positions.Count == 0) return template.PortPrefix; return positions.Count > 0 ? template.PortPrefix + string.Join(template.PortDelimiter, positions) + template.PortDelimiter : template.PortPrefix != string.Empty ? template.PortPrefix + template.PortDelimiter : ""; }