示例#1
0
        /// <summary>
        /// Try to update this job with a serialization object from the API.
        /// </summary>
        /// <param name="src">The serializable source.</param>
        /// <returns>True if import sucessful otherwise, false.</returns>
        internal bool TryImport(SerializableJobListItem src)
        {
            // Note that, before a match is found, all jobs have been marked for deletion : m_markedForDeletion == true

            // Checks whether ID is the same
            if (!MatchesWith(src))
            {
                return(false);
            }

            // Prevent deletion
            m_markedForDeletion = false;

            // Update infos (if ID is the same it may have been modified)
            if (IsModified(src))
            {
                m_endProductionTime   = src.EndProductionTime;
                m_pauseProductionTime = src.PauseProductionTime;

                m_state          = (m_pauseProductionTime == DateTime.MinValue ? JobState.Active : JobState.Paused);
                m_activeJobState = GetActiveJobState();
            }

            // Update state
            JobState state = GetState(src);

            if (m_state != JobState.Paused && state != m_state)
            {
                m_state = state;
            }

            return(true);
        }
示例#2
0
 /// <summary>
 /// Constructor from the API.
 /// </summary>
 /// <param name="src"></param>
 internal IndustryJob(SerializableJobListItem src)
 {
     m_state               = GetState(src);
     m_jobID               = src.JobID;
     m_installedItemID     = src.InstalledItemTypeID;
     m_installedItem       = StaticBlueprints.GetBlueprintByID(src.InstalledItemTypeID);
     m_outputItemID        = src.OutputTypeID;
     m_outputItem          = GetOutputItem(src.OutputTypeID);
     m_runs                = src.Runs;
     m_activity            = (BlueprintActivity)Enum.ToObject(typeof(BlueprintActivity), src.ActivityID);
     m_blueprintType       = (BlueprintType)Enum.ToObject(typeof(BlueprintType), src.InstalledItemCopy);
     m_installation        = GetInstallation(src.OutputLocationID);
     m_solarSystem         = StaticGeography.GetSystem(src.SolarSystemID);
     m_installedTime       = src.InstallTime;
     m_installedItemME     = src.InstalledItemMaterialLevel;
     m_installedItemPE     = src.InstalledItemProductivityLevel;
     m_beginProductionTime = src.BeginProductionTime;
     m_endProductionTime   = src.EndProductionTime;
     m_pauseProductionTime = src.PauseProductionTime;
     m_lastStateChange     = DateTime.UtcNow;
     m_issuedFor           = src.IssuedFor;
     m_activeJobState      = GetActiveJobState();
 }
示例#3
0
 /// <summary>
 /// Constructor from the API.
 /// </summary>
 /// <param name="src"></param>
 internal IndustryJob(SerializableJobListItem src)
 {
     m_state = GetState(src);
     m_jobID = src.JobID;
     m_installedItemID = src.InstalledItemTypeID;
     m_installedItem = StaticBlueprints.GetBlueprintByID(src.InstalledItemTypeID);
     m_outputItemID = src.OutputTypeID;
     m_outputItem = GetOutputItem(src.OutputTypeID);
     m_runs = src.Runs;
     m_activity = (BlueprintActivity) Enum.ToObject(typeof (BlueprintActivity), src.ActivityID);
     m_blueprintType = (BlueprintType) Enum.ToObject(typeof (BlueprintType), src.InstalledItemCopy);
     m_installation = GetInstallation(src.OutputLocationID);
     m_solarSystem = StaticGeography.GetSystem(src.SolarSystemID);
     m_installedTime = src.InstallTime;
     m_installedItemME = src.InstalledItemMaterialLevel;
     m_installedItemPE = src.InstalledItemProductivityLevel;
     m_beginProductionTime = src.BeginProductionTime;
     m_endProductionTime = src.EndProductionTime;
     m_pauseProductionTime = src.PauseProductionTime;
     m_lastStateChange = DateTime.UtcNow;
     m_issuedFor = src.IssuedFor;
     m_activeJobState = GetActiveJobState();
 }
示例#4
0
 /// <summary>
 /// Constructor from an object deserialized from the settings file.
 /// </summary>
 /// <param name="src"></param>
 internal IndustryJob(SerializableJob src)
 {
     m_ignored             = src.Ignored;
     m_jobID               = src.JobID;
     m_state               = src.State;
     m_installedItemID     = src.InstalledItemID;
     m_installedItem       = StaticBlueprints.GetBlueprintByID(src.InstalledItemID);
     m_outputItemID        = src.OutputItemID;
     m_outputItem          = GetOutputItem(src.OutputItemID);
     m_runs                = src.Runs;
     m_activity            = src.Activity;
     m_blueprintType       = src.BlueprintType;
     m_installation        = src.ItemLocation;
     m_solarSystem         = StaticGeography.GetSystem(src.SolarSystemID);
     m_installedTime       = src.InstalledTime;
     m_installedItemME     = src.InstalledItemME;
     m_installedItemPE     = src.InstalledItemPE;
     m_beginProductionTime = src.BeginProductionTime;
     m_endProductionTime   = src.EndProductionTime;
     m_pauseProductionTime = src.PauseProductionTime;
     m_lastStateChange     = src.LastStateChange;
     m_issuedFor           = src.IssuedFor;
     m_activeJobState      = GetActiveJobState();
 }
示例#5
0
 /// <summary>
 /// Constructor from an object deserialized from the settings file.
 /// </summary>
 /// <param name="src"></param>
 internal IndustryJob(SerializableJob src)
 {
     m_ignored = src.Ignored;
     m_jobID = src.JobID;
     m_state = src.State;
     m_installedItemID = src.InstalledItemID;
     m_installedItem = StaticBlueprints.GetBlueprintByID(src.InstalledItemID);
     m_outputItemID = src.OutputItemID;
     m_outputItem = GetOutputItem(src.OutputItemID);
     m_runs = src.Runs;
     m_activity = src.Activity;
     m_blueprintType = src.BlueprintType;
     m_installation = src.ItemLocation;
     m_solarSystem = StaticGeography.GetSystem(src.SolarSystemID);
     m_installedTime = src.InstalledTime;
     m_installedItemME = src.InstalledItemME;
     m_installedItemPE = src.InstalledItemPE;
     m_beginProductionTime = src.BeginProductionTime;
     m_endProductionTime = src.EndProductionTime;
     m_pauseProductionTime = src.PauseProductionTime;
     m_lastStateChange = src.LastStateChange;
     m_issuedFor = src.IssuedFor;
     m_activeJobState = GetActiveJobState();
 }
示例#6
0
        /// <summary>
        /// Try to update this job with a serialization object from the API.
        /// </summary>
        /// <param name="src">The serializable source.</param>
        /// <returns>True if import sucessful otherwise, false.</returns>
        internal bool TryImport(SerializableJobListItem src)
        {
            // Note that, before a match is found, all jobs have been marked for deletion : m_markedForDeletion == true

            // Checks whether ID is the same
            if (!MatchesWith(src))
                return false;

            // Prevent deletion
            m_markedForDeletion = false;

            // Update infos (if ID is the same it may have been modified)
            if (IsModified(src))
            {
                m_endProductionTime = src.EndProductionTime;
                m_pauseProductionTime = src.PauseProductionTime;

                m_state = (m_pauseProductionTime == DateTime.MinValue ? JobState.Active : JobState.Paused);
                m_activeJobState = GetActiveJobState();
            }

            // Update state
            JobState state = GetState(src);
            if (m_state != JobState.Paused && state != m_state)
                m_state = state;

            return true;
        }