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); }
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; }
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; }