Esempio n. 1
0
        private static List <MyDefinitionId> GetItemDefinitionList(MyObjectBuilder_CubeBlock block)
        {
            Func <MyObjectBuilder_CubeBlock, List <MyDefinitionId> > getItemDefFunc;

            Definitions.RestockDefinitions.TryGetValue(block.GetType(), out getItemDefFunc);
            return(getItemDefFunc?.Invoke(block));
        }
Esempio n. 2
0
        /* Rules:
         *	x and y must be the same, z can be any size up to max of original block
         *	mount points must be on the same side
         *
         *	MyObjectBuilder_WeaponBlockDefinition
         *	MyObjectBuilder_LargeTurretBaseDefinition
         */

        //public static List<Definitions.WeaponInformation> LargeGridWeaponTurretBases = new List<Definitions.WeaponInformation>();

        //public static List<Definitions.WeaponInformation> LargeGridWeaponBlocks = new List<Definitions.WeaponInformation>();

        //public static List<Definitions.WeaponInformation> SmallGridWeaponTurretBases = new List<Definitions.WeaponInformation>();

        //public static List<Definitions.WeaponInformation> SmallGridWeaponBlocks = new List<Definitions.WeaponInformation>();


        internal static void ProcessPrefab(MyPrefabDefinition prefab, Options options)
        {
            try
            {
                foreach (MyObjectBuilder_CubeGrid gridBuilder in prefab.CubeGrids)
                {
                    for (int index = 0; index < gridBuilder.CubeBlocks.Count; index++)
                    {
                        MyObjectBuilder_CubeBlock block = gridBuilder.CubeBlocks[index];
                        Func <MyObjectBuilder_CubeBlock, Options, MyCubeSize, MyObjectBuilder_CubeBlock> func;
                        ProcessWeapons.TryGetValue(block.GetType(), out func);
                        if (func != null)
                        {
                            gridBuilder.CubeBlocks[index] = func.Invoke(block, options, gridBuilder.GridSizeEnum);
                        }
                    }
                }
            }
            catch (Exception e)
            {
                Core.GeneralLog.WriteToLog("WeaponSwapper-ProcessPrefab", $"Exception!\t{e}");
            }
        }