Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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))
 {
 }