Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        private EquipmentTemplate CreateEquipmentTemplate()
        {
            EquipmentTemplate equipmentTemplate = new EquipmentTemplate();

            equipmentTemplate.Fields.AddRange(CreateFields());

            return(equipmentTemplate);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
 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 : "";
 }