static MyGlobalEvents() { m_globalEvents[(int)MyGlobalEventEnum.SunWind] = new MyGlobalEvent( Type : MyGlobalEventEnum.SunWind, Name : MyTextsWrapperEnum.GlobalEventSunWindName, Description : MyTextsWrapperEnum.GlobalEventSunWindDescription, RatePerHour : 12.0f, Icon : null, Enabled : true, Action : delegate(object o, EventArgs e) { //dont allow sunwind in god editor on or when the game is paused if (!MySunWind.IsActive && !(MyGuiScreenGamePlay.Static.IsEditorActive() && !MyGuiScreenGamePlay.Static.IsIngameEditorActive()) && !MyMinerGame.IsPaused()) { //MyHudNotification.AddNotification(new MyHudNotification.MyNotification(MyTextsWrapperEnum.GlobalEventSunWindDescription, 5000)); MySunWind.Start(); //MyAudio.AddCue2D(MySoundCuesEnum.HudSolarFlareWarning); } }, WriteToEventLog: false ); m_globalEvents[(int)MyGlobalEventEnum.FractionStatusChange] = new MyGlobalEvent( Type : MyGlobalEventEnum.FractionStatusChange, Name : MyTextsWrapperEnum.GlobalEventFactionChangeName, Description : MyTextsWrapperEnum.GlobalEventFactionChangeDescription, RatePerHour : 10.0f, Icon : null, Enabled : false, Action : delegate(object o, EventArgs e) { float statusChange = MyMwcUtils.GetRandomFloat(MyFactions.RELATION_WORST, MyFactions.RELATION_BEST) / 10.0f; int[] enumValues = MyMwcFactionsByIndex.GetFactionsIndexes(); System.Diagnostics.Debug.Assert(enumValues.Length > 3); MyMwcObjectBuilder_FactionEnum faction1; do { faction1 = MyMwcFactionsByIndex.GetFaction(MyMwcUtils.GetRandomInt(enumValues.Length)); }while (faction1 == MyMwcObjectBuilder_FactionEnum.None); MyMwcObjectBuilder_FactionEnum faction2; do { faction2 = MyMwcFactionsByIndex.GetFaction(MyMwcUtils.GetRandomInt(enumValues.Length)); }while ((faction1 == faction2) || (faction2 == MyMwcObjectBuilder_FactionEnum.None)); MyFactions.ChangeFactionStatus(faction1, faction2, statusChange); }, WriteToEventLog: false ); m_globalEvents[(int)MyGlobalEventEnum.MeteorWind] = new MyGlobalEvent( Type : MyGlobalEventEnum.SunWind, Name : MyTextsWrapperEnum.GlobalEventMeteorWindName, Description : MyTextsWrapperEnum.GlobalEventSunWindDescription, RatePerHour : MyFakes.ENABLE_RANDOM_METEOR_SHOWER ? 1.0f : 0.0f, Icon : null, Enabled : false, Action : delegate(object o, EventArgs e) { //dont allow sunwind in god editor on or when the game is paused if (!(MyGuiScreenGamePlay.Static.IsEditorActive() && !MyGuiScreenGamePlay.Static.IsIngameEditorActive()) && !MyMinerGame.IsPaused()) { //MyHudNotification.AddNotification(new MyHudNotification.MyNotification(MyTextsWrapperEnum.GlobalEventSunWindDescription, 5000)); MyMeteorWind.Start(); //MyAudio.AddCue2D(MySoundCuesEnum.SfxSolarFlareWarning); } }, WriteToEventLog: false ); // todo implement localization strings m_globalEvents[(int)MyGlobalEventEnum.IceStorm] = new MyGlobalEvent( Type : MyGlobalEventEnum.IceStorm, Name : MyTextsWrapperEnum.GlobalEventIceStormName, //Name: MyTextsWrapperEnum.GlobalEvent_IceStorm_Name, Description : MyTextsWrapperEnum.GlobalEventSunWindDescription, //IceStorm_Description, RatePerHour : MyFakes.ENABLE_RANDOM_ICE_STORM ? 1.0f : 0.0f, Icon : null, Enabled : false, Action : delegate(object o, EventArgs e) { //dont allow sunwind in god editor on or when the game is paused if (!(MyGuiScreenGamePlay.Static.IsEditorActive() && !MyGuiScreenGamePlay.Static.IsIngameEditorActive()) && !MyMinerGame.IsPaused()) { MyHudNotification.AddNotification(new MyHudNotification.MyNotification(MyTextsWrapperEnum.GlobalEventSunWindDescription, 5000, null)); // MyHudNotification.AddNotification(new MyHudNotification.MyNotification(MyTextsWrapperEnum.GlobalEvent_IceStorm_Description, 5000)); MyIceStorm.Start(); MyAudio.AddCue2D(MySoundCuesEnum.HudSolarFlareWarning); } }, WriteToEventLog: false ); m_globalEvents[(int)MyGlobalEventEnum.IceComet] = new MyGlobalEvent( Type : MyGlobalEventEnum.IceComet, Name : MyTextsWrapperEnum.GlobalEventIceCometName, Description : MyTextsWrapperEnum.GlobalEventIceCometDescription, RatePerHour : 0.0f, Icon : null, Enabled : false, Action : delegate(object o, EventArgs e) { if (!(MyGuiScreenGamePlay.Static.IsEditorActive() && !MyGuiScreenGamePlay.Static.IsIngameEditorActive()) && !MyMinerGame.IsPaused()) { MyHudNotification.AddNotification(new MyHudNotification.MyNotification(MyTextsWrapperEnum.GlobalEventSunWindDescription, 5000)); MyIceComet.Start(); MyAudio.AddCue2D(MySoundCuesEnum.HudSolarFlareWarning); } }, WriteToEventLog: false ); foreach (MyGlobalEvent e in m_globalEvents) { System.Diagnostics.Debug.Assert(e != null); } MyFactions.OnFactionStatusChanged += new MyFactionStatusChangeHandler(MyFactions_OnFactionStatusChanged); }
public static void ReloadDisabledItems(bool enable25D) { DisabledItems.Clear(); DisabledItems.Add((int)MyMwcObjectBuilderTypeEnum.SmallShip_Tool, new List <int> { (int)MyMwcObjectBuilder_SmallShip_Tool_TypesEnum.NIGHT_VISION, (int)MyMwcObjectBuilder_SmallShip_Tool_TypesEnum.AUTO_TARGETING, (int)MyMwcObjectBuilder_SmallShip_Tool_TypesEnum.XRAY, (int)MyMwcObjectBuilder_SmallShip_Tool_TypesEnum.LASER_POINTER, (int)MyMwcObjectBuilder_SmallShip_Tool_TypesEnum.SOLAR_PANEL, (int)MyMwcObjectBuilder_SmallShip_Tool_TypesEnum.BOOBY_TRAP, (int)MyMwcObjectBuilder_SmallShip_Tool_TypesEnum.REMOTE_CAMERA, (int)MyMwcObjectBuilder_SmallShip_Tool_TypesEnum.REMOTE_CAMERA_ON_DRONE, (int)MyMwcObjectBuilder_SmallShip_Tool_TypesEnum.RADAR_UNUSED, (int)MyMwcObjectBuilder_SmallShip_Tool_TypesEnum.REAR_CAMERA, (int)MyMwcObjectBuilder_SmallShip_Tool_TypesEnum.ELECTRICITY_KIT, (int)MyMwcObjectBuilder_SmallShip_Tool_TypesEnum.EXTRA_ELECTRICITY_CONTAINER, (int)MyMwcObjectBuilder_SmallShip_Tool_TypesEnum.ALIEN_OBJECT_DETECTOR, (int)MyMwcObjectBuilder_SmallShip_Tool_TypesEnum.FUEL_CONVERTER, (int)MyMwcObjectBuilder_SmallShip_Tool_TypesEnum.OXYGEN_CONVERTER, (int)MyMwcObjectBuilder_SmallShip_Tool_TypesEnum.EXTRA_OXYGEN_CONTAINER_DISABLED, (int)MyMwcObjectBuilder_SmallShip_Tool_TypesEnum.EXTRA_FUEL_CONTAINER_DISABLED, (int)MyMwcObjectBuilder_SmallShip_Tool_TypesEnum.SENSOR, }); DisabledItems.Add((int)MyMwcObjectBuilderTypeEnum.Ore, new List <int> { (int)MyMwcObjectBuilder_Ore_TypesEnum.XENON }); DisabledItems.Add((int)MyMwcObjectBuilderTypeEnum.SmallShip_Ammo, new List <int> { (int)MyMwcObjectBuilder_SmallShip_Ammo_TypesEnum.Cannon_Armor_Piercing_Incendiary, (int)MyMwcObjectBuilder_SmallShip_Ammo_TypesEnum.Machine_Gun_Armor_Piercing_Incendiary, (int)MyMwcObjectBuilder_SmallShip_Ammo_TypesEnum.Autocannon_Armor_Piercing_Incendiary, (int)MyMwcObjectBuilder_SmallShip_Ammo_TypesEnum.Universal_Launcher_Gravity_Bomb, }); DisabledItems.Add((int)MyMwcObjectBuilderTypeEnum.SmallShip_Radar, new List <int> { (int)MyMwcObjectBuilder_SmallShip_Radar_TypesEnum.Radar_1, (int)MyMwcObjectBuilder_SmallShip_Radar_TypesEnum.Radar_2, (int)MyMwcObjectBuilder_SmallShip_Radar_TypesEnum.Radar_3, }); DisabledItems.Add((int)MyMwcObjectBuilderTypeEnum.SmallShip_Weapon, new List <int> { (int)MyMwcObjectBuilder_SmallShip_Weapon_TypesEnum.Drilling_Device_Laser, (int)MyMwcObjectBuilder_SmallShip_Weapon_TypesEnum.Drilling_Device_Pressure, (int)MyMwcObjectBuilder_SmallShip_Weapon_TypesEnum.Drilling_Device_Saw, (int)MyMwcObjectBuilder_SmallShip_Weapon_TypesEnum.Drilling_Device_Thermal, }); if (!enable25D) { DisabledItems[(int)MyMwcObjectBuilderTypeEnum.SmallShip_Weapon].Add( (int)MyMwcObjectBuilder_SmallShip_Weapon_TypesEnum.Drilling_Device_Nuclear ); } DisabledItems.Add((int)MyMwcObjectBuilderTypeEnum.Blueprint, new List <int> { (int)MyMwcObjectBuilder_Blueprint_TypesEnum.BasicConstructionKit, (int)MyMwcObjectBuilder_Blueprint_TypesEnum.AdvancedConstructionKit, (int)MyMwcObjectBuilder_Blueprint_TypesEnum.SuperiorConstructionKit, (int)MyMwcObjectBuilder_Blueprint_TypesEnum.UtilitiesKit, (int)MyMwcObjectBuilder_Blueprint_TypesEnum.FortificationKit, (int)MyMwcObjectBuilder_Blueprint_TypesEnum.HonorableKit, (int)MyMwcObjectBuilder_Blueprint_TypesEnum.WeaponKit, }); DisabledItems.Add((int)MyMwcObjectBuilderTypeEnum.PrefabFoundationFactory, new List <int> { 0, }); DisabledItems.Add((int)MyMwcObjectBuilderTypeEnum.FalseId, new List <int>(MyMwcFactionsByIndex.GetFactionsIndexes())); }
public MyMwcObjectBuilder_FalseId(MyMwcObjectBuilder_FactionEnum faction) : this(MyMwcFactionsByIndex.GetFactionIndex(faction)) { }