Exemplo n.º 1
0
        public override void OnLoad(ConfigNode node)
        {
            try
            {
                // KSP Seems to want to make an instance of my partModule during initial load
                if (vessel == null)
                {
                    return;
                }

                if (node.HasValue("activated") && !Boolean.Parse(node.GetValue("activated")))
                {
                    ProcessorMode = ProcessorModes.OFF;
                }

                if (node.HasNode("harddisk"))
                {
                    var newDisk = node.GetNode("harddisk").ToHardDisk();
                    HardDisk = newDisk;
                }

                InitObjects();

                if (shared != null && shared.Cpu != null)
                {
                    ((CPU)shared.Cpu).OnLoad(node);
                }
                base.OnLoad(node);
            }
            catch (Exception ex) //Intentional Pokemon, if exceptions get out of here it can kill the craft
            {
                SafeHouse.Logger.Log("ONLOAD Exception: " + ex.TargetSite);
                SafeHouse.Logger.LogException(ex);
            }
        }
Exemplo n.º 2
0
        public void TogglePower()
        {
            SafeHouse.Logger.Log("Toggle Power");
            ProcessorModes newProcessorMode = (ProcessorMode != ProcessorModes.OFF) ? ProcessorModes.OFF : ProcessorModes.STARVED;

            SetMode(newProcessorMode);
        }
Exemplo n.º 3
0
        public void TogglePower()
        {
            Debug.Log("kOS: Toggle Power");
            ProcessorModes newProcessorMode = (ProcessorMode != ProcessorModes.OFF) ? ProcessorModes.OFF : ProcessorModes.STARVED;

            SetMode(newProcessorMode);
        }
Exemplo n.º 4
0
        public void SetMode(ProcessorModes newProcessorMode)
        {
            if (newProcessorMode != ProcessorMode)
            {
                ProcessorMode = newProcessorMode;

                ProcessorModeChanged();
            }
        }
Exemplo n.º 5
0
        private bool IsAlive()
        {
            if (shared == null)
            {
                return(false);
            }

            if (part.State == PartStates.DEAD)
            {
                ProcessorMode = ProcessorModes.OFF;
                return(false);
            }
            return(true);
        }
Exemplo n.º 6
0
        public void SetMode(ProcessorModes newProcessorMode)
        {
            if (newProcessorMode != ProcessorMode)
            {
                switch (newProcessorMode)
                {
                case ProcessorModes.READY:
                    shared.VolumeMgr.SwitchTo(Config.Instance.StartOnArchive
                            ? shared.VolumeMgr.GetVolume(0)
                            : HardDisk);
                    if (shared.Cpu != null)
                    {
                        shared.Cpu.Boot();
                    }
                    if (shared.Interpreter != null)
                    {
                        shared.Interpreter.SetInputLock(false);
                    }
                    if (shared.Window != null)
                    {
                        shared.Window.IsPowered = true;
                    }
                    break;

                case ProcessorModes.OFF:
                case ProcessorModes.STARVED:
                    if (shared.Interpreter != null)
                    {
                        shared.Interpreter.SetInputLock(true);
                    }
                    if (shared.Window != null)
                    {
                        shared.Window.IsPowered = false;
                    }
                    if (shared.BindingMgr != null)
                    {
                        shared.BindingMgr.UnBindAll();
                    }
                    break;
                }

                ProcessorMode = newProcessorMode;
            }
        }
Exemplo n.º 7
0
        public void SetMode(ProcessorModes newProcessorMode)
        {
            if (newProcessorMode != ProcessorMode)
            {
                switch (newProcessorMode)
                {
                case ProcessorModes.READY:
                    if ((ProcessorMode == ProcessorModes.STARVED || ProcessorMode == ProcessorModes.OFF) && shared.Cpu != null)
                    {
                        shared.Cpu.Boot();
                    }
                    if (shared.Interpreter != null)
                    {
                        shared.Interpreter.SetInputLock(false);
                    }
                    if (shared.Window != null)
                    {
                        shared.Window.IsPowered = true;
                    }
                    break;

                case ProcessorModes.OFF:
                case ProcessorModes.STARVED:
                    if (shared.Interpreter != null)
                    {
                        shared.Interpreter.SetInputLock(true);
                    }
                    if (shared.Window != null)
                    {
                        shared.Window.IsPowered = false;
                    }
                    if (shared.BindingMgr != null)
                    {
                        shared.BindingMgr.UnBindAll();
                    }
                    break;
                }

                ProcessorMode = newProcessorMode;
            }
        }
Exemplo n.º 8
0
        public void SetMode(ProcessorModes newProcessorMode)
        {
            if (newProcessorMode != ProcessorMode)
            {
                switch (newProcessorMode)
                {
                case ProcessorModes.READY:
                    if (ProcessorMode == ProcessorModes.STARVED && shared.Cpu != null)
                    {
                        shared.Cpu.Boot();
                    }
                    if (shared.Interpreter != null)
                    {
                        shared.Interpreter.SetInputLock(false);
                    }
                    if (shared.Window != null)
                    {
                        shared.Window.SetPowered(true);
                    }
                    break;

                case ProcessorModes.OFF:
                case ProcessorModes.STARVED:
                    if (shared.Interpreter != null)
                    {
                        shared.Interpreter.SetInputLock(true);
                    }
                    if (shared.Window != null)
                    {
                        shared.Window.SetPowered(false);
                    }
                    break;
                }

                ProcessorMode = newProcessorMode;
            }
        }
Exemplo n.º 9
0
        public void SetMode(ProcessorModes newProcessorMode)
        {
            if (newProcessorMode != ProcessorMode)
            {
                ProcessorMode = newProcessorMode;

                ProcessorModeChanged();
            }
        }
Exemplo n.º 10
0
        public void SetMode(ProcessorModes newProcessorMode)
        {
            if (newProcessorMode != ProcessorMode)
            {
                switch (newProcessorMode)
                {
                    case ProcessorModes.READY:
                        shared.VolumeMgr.SwitchTo(Config.Instance.StartOnArchive
                            ? shared.VolumeMgr.GetVolume(0)
                            : HardDisk);
                        if (shared.Cpu != null) shared.Cpu.Boot();
                        if (shared.Interpreter != null) shared.Interpreter.SetInputLock(false);
                        if (shared.Window != null) shared.Window.IsPowered = true;
                        break;

                    case ProcessorModes.OFF:
                    case ProcessorModes.STARVED:
                        if (shared.Interpreter != null) shared.Interpreter.SetInputLock(true);
                        if (shared.Window != null) shared.Window.IsPowered = false;
                        if (shared.BindingMgr != null) shared.BindingMgr.UnBindAll();
                        break;
                }

                ProcessorMode = newProcessorMode;
            }
        }
Exemplo n.º 11
0
        public override void OnLoad(ConfigNode node)
        {
            try
            {
                // KSP Seems to want to make an instance of my partModule during initial load
                if (vessel == null) return;

                if (node.HasValue("activated") && !Boolean.Parse(node.GetValue("activated")))
                {
                    ProcessorMode = ProcessorModes.OFF;
                }

                if (node.HasNode("harddisk"))
                {
                    var newDisk = node.GetNode("harddisk").ToHardDisk();
                    HardDisk = newDisk;
                }

                InitObjects();

                if (shared != null && shared.Cpu != null)
                {
                    ((CPU)shared.Cpu).OnLoad(node);
                }
                base.OnLoad(node);
            }
            catch (Exception ex) //Intentional Pokemon, if exceptions get out of here it can kill the craft
            {
                SafeHouse.Logger.Log("ONLOAD Exception: " + ex.TargetSite);
                SafeHouse.Logger.LogException(ex);
            }
        }
Exemplo n.º 12
0
        private bool IsAlive()
        {
            if (shared == null) return false;

            if (part.State == PartStates.DEAD)
            {
                ProcessorMode = ProcessorModes.OFF;
                return false;
            }
            return true;
        }
Exemplo n.º 13
0
 public void SetMode(ProcessorModes newProcessorMode)
 {
 }