コード例 #1
0
 public ProductionItem(MyProductionItem item)
 {
     Type          = convertToItemType(item.BlueprintId);
     BlueprintId   = item.BlueprintId.ToString();
     MaxAmount     = (long)item.Amount;
     CurrentAmount = (long)item.Amount;
 }
コード例 #2
0
 public static string ToItemName(MyProductionItem i) {
     string id = i.BlueprintId.ToString();
     if (id.Contains("/")) {
         return id.Split('/')[1];
     }
     return id;
 }
コード例 #3
0
            static public string GetType(MyProductionItem production_item)
            {
                MyDefinitionId itemDefinitionId;
                string         subtypeName = production_item.BlueprintId.SubtypeName;
                string         typeName    = Util.GetName(production_item);

                if ((subtypeName.EndsWith("Rifle") || subtypeName.StartsWith("Welder") || subtypeName.StartsWith("HandDrill") || subtypeName.StartsWith("AngleGrinder")) &&
                    MyDefinitionId.TryParse("MyObjectBuilder_PhysicalGunObject", typeName, out itemDefinitionId))
                {
                    return(itemDefinitionId.TypeId.ToString());
                }
                if (subtypeName.StartsWith("Hydrogen") && MyDefinitionId.TryParse("MyObjectBuilder_GasContainerObject", typeName, out itemDefinitionId))
                {
                    return(itemDefinitionId.TypeId.ToString());
                }
                if (subtypeName.StartsWith("Oxygen") && MyDefinitionId.TryParse("MyObjectBuilder_OxygenContainerObject", typeName, out itemDefinitionId))
                {
                    return(itemDefinitionId.TypeId.ToString());
                }
                if ((subtypeName.Contains("Missile") || subtypeName.EndsWith("Magazine")) && MyDefinitionId.TryParse("MyObjectBuilder_AmmoMagazine", typeName, out itemDefinitionId))
                {
                    return(itemDefinitionId.TypeId.ToString());
                }
                if (MyDefinitionId.TryParse("MyObjectBuilder_Component", typeName, out itemDefinitionId))
                {
                    return(itemDefinitionId.TypeId.ToString());
                }
                return(production_item.BlueprintId.TypeId.ToString());
            }
コード例 #4
0
        private void AddComponentBuild(MyProductionItem item)
        {
            //Echo($"{item.ItemId}|{item.BlueprintId}|{item.Amount}\n");
            string componentName = item.BlueprintId.SubtypeName;

            //Echo(componentName);


            componentName = CorrectComponent(componentName);

            if (!componentList.ContainsKey(componentName))
            {
                componentList[componentName]             = new ComponentClass();
                componentList[componentName].itemSubType = componentName;
            }
            componentList[componentName].buildCount += (double)item.Amount;
        }
コード例 #5
0
            static public string GetName(MyProductionItem production_item)
            {
                string subtypeName = production_item.BlueprintId.SubtypeName;

                if (subtypeName.EndsWith("Component"))
                {
                    subtypeName = subtypeName.Replace("Component", "");
                }
                if (subtypeName.EndsWith("Rifle") || subtypeName.StartsWith("Welder") || subtypeName.StartsWith("HandDrill") || subtypeName.StartsWith("AngleGrinder"))
                {
                    subtypeName = subtypeName + "Item";
                }
                if (subtypeName.EndsWith("Magazine"))
                {
                    subtypeName = subtypeName.Replace("Magazine", "");
                }
                return(subtypeName);
            }
コード例 #6
0
        public static MyProductionItem MockProductionItem(String itemId, int amount = 1)
        {
            var item = new MyProductionItem(0, MockBlueprint(itemId), amount);

            return(item);
        }