public override void Load(ValuesDictionary valuesDictionary)
 {
     base.Load(valuesDictionary);
     m_subsystemGameInfo     = base.Project.FindSubsystem <SubsystemGameInfo>(throwOnError: true);
     m_subsystemItemsScanner = base.Project.FindSubsystem <SubsystemItemsScanner>(throwOnError: true);
     m_lastRotTime           = valuesDictionary.GetValue <double>("LastRotTime");
     m_rotStep = valuesDictionary.GetValue <int>("RotStep");
     m_subsystemItemsScanner.ItemsScanned += ItemsScanned;
     m_isRotEnabled = (m_subsystemGameInfo.WorldSettings.GameMode != 0 && m_subsystemGameInfo.WorldSettings.GameMode != GameMode.Adventure);
 }
Exemplo n.º 2
0
 public static void Load(Project Project)
 {
     if (LoadedProject)
     {
         return;
     }
     SubsystemGameInfo                = Project.FindSubsystem <SubsystemGameInfo>(true);
     SubsystemAudio                   = Project.FindSubsystem <SubsystemAudio>(true);
     SubsystemBodies                  = Project.FindSubsystem <SubsystemBodies>(true);
     SubsystemTime                    = Project.FindSubsystem <SubsystemTime>(true);
     SubsystemItemsScanner            = Project.FindSubsystem <SubsystemItemsScanner>(true);
     SubsystemMovingBlocks            = Project.FindSubsystem <SubsystemMovingBlocks>(true);
     SubsystemBlockEntities           = Project.FindSubsystem <SubsystemBlockEntities>(true);
     SubsystemExplosions              = Project.FindSubsystem <SubsystemExplosions>(true);
     SubsystemCollapsingBlockBehavior = Project.FindSubsystem <SubsystemCollapsingBlockBehavior>(true);
     SubsystemPickables               = Project.FindSubsystem <SubsystemPickables>(true);
     SubsystemProjectiles             = Project.FindSubsystem <SubsystemProjectiles>(true);
     Terrain       = (SubsystemTerrain = Project.FindSubsystem <SubsystemTerrain>(true)).Terrain;
     LoadedProject = true;
 }
 public override void Load(ValuesDictionary valuesDictionary)
 {
     base.Load(valuesDictionary);
     m_subsystemItemsScanner = base.Project.FindSubsystem <SubsystemItemsScanner>(throwOnError: true);
     foreach (KeyValuePair <string, object> item in valuesDictionary.GetValue <ValuesDictionary>("Blocks"))
     {
         Point3 key   = HumanReadableConverter.ConvertFromString <Point3>(item.Key);
         T      value = new T();
         value.LoadString((string)item.Value);
         m_blocksData[key] = value;
     }
     foreach (KeyValuePair <string, object> item2 in valuesDictionary.GetValue <ValuesDictionary>("Items"))
     {
         int key2   = HumanReadableConverter.ConvertFromString <int>(item2.Key);
         T   value2 = new T();
         value2.LoadString((string)item2.Value);
         m_itemsData[key2] = value2;
     }
     m_subsystemItemsScanner.ItemsScanned += GarbageCollectItems;
 }
Exemplo n.º 4
0
        public override void Load(ValuesDictionary valuesDictionary)
        {
            base.Load(valuesDictionary);
            m_subsystemAudio          = base.Project.FindSubsystem <SubsystemAudio>(throwOnError: true);
            m_subsystemSoundMaterials = base.Project.FindSubsystem <SubsystemSoundMaterials>(throwOnError: true);
            m_subsystemItemsScanner   = base.Project.FindSubsystem <SubsystemItemsScanner>(throwOnError: true);
            m_subsystemGameInfo       = base.Project.FindSubsystem <SubsystemGameInfo>(throwOnError: true);
            m_subsystemPickables      = base.Project.FindSubsystem <SubsystemPickables>(throwOnError: true);
            m_subsystemParticles      = base.Project.FindSubsystem <SubsystemParticles>(throwOnError: true);
            ValuesDictionary value = valuesDictionary.GetValue <ValuesDictionary>("FurnitureDesigns");

            foreach (FurnitureDesign item in LoadFurnitureDesigns(base.SubsystemTerrain, value))
            {
                m_furnitureDesigns[item.Index] = item;
            }
            foreach (ValuesDictionary item2 in valuesDictionary.GetValue <ValuesDictionary>("FurnitureSets").Values.Where((object v) => v is ValuesDictionary))
            {
                string       value2       = item2.GetValue <string>("Name");
                string       value3       = item2.GetValue <string>("ImportedFrom", null);
                string       value4       = item2.GetValue <string>("Indices");
                int[]        array        = HumanReadableConverter.ValuesListFromString <int>(';', value4);
                FurnitureSet furnitureSet = new FurnitureSet
                {
                    Name         = value2,
                    ImportedFrom = value3
                };
                m_furnitureSets.Add(furnitureSet);
                int[] array2 = array;
                foreach (int num in array2)
                {
                    if (num >= 0 && num < m_furnitureDesigns.Length && m_furnitureDesigns[num] != null)
                    {
                        m_furnitureDesigns[num].FurnitureSet = furnitureSet;
                    }
                }
            }
            m_subsystemItemsScanner.ItemsScanned += GarbageCollectDesigns;
        }