/// <summary>
        /// Use for deserialization from a saved game
        /// </summary>
        public static MyGlobalEventBase CreateEvent(MyObjectBuilder_GlobalEventBase ob)
        {
            MyGlobalEventBase globalEvent = null;

            // Backwards compatibility
            if (ob.DefinitionId.HasValue)
            {
                if (ob.DefinitionId.Value.TypeId == MyObjectBuilderType.Invalid)
                {
                    return(CreateEventObsolete(ob));
                }

                ob.SubtypeName = ob.DefinitionId.Value.SubtypeName;
            }

            var eventDefinition = MyDefinitionManager.Static.GetEventDefinition(ob.GetId());

            if (eventDefinition == null)
            {
                return(null);
            }

            globalEvent = CreateEvent(ob.GetId());
            globalEvent.Init(ob);
            return(globalEvent);
        }
Exemple #2
0
        /// <summary>
        /// Use for deserialization from a saved game
        /// </summary>
        public static MyGlobalEventBase CreateEvent(MyObjectBuilder_GlobalEventBase ob)
        {
            if (ob.DefinitionId.TypeId == MyObjectBuilderType.Invalid)
            {
                return(CreateEventObsolete(ob));
            }

            var eventDefinition = MyDefinitionManager.Static.GetEventDefinition(ob.DefinitionId);

            if (eventDefinition == null)
            {
                return(null);
            }

            var globalEvent = new MyGlobalEventBase();

            globalEvent.Init(ob);
            return(globalEvent);
        }