예제 #1
0
        public ProgcomIO(ProgcomUnit pcu, int offset, IProgcomSerialBus bus)
        {
            mProgcom        = pcu;
            mOffset         = offset;
            mBus            = bus;
            mMonitor        = CreateMonitor();
            mMonitorTexture = mMonitor.GetMonitorTexture();

            Log("Cleared console.");
        }
예제 #2
0
        public ProgcomIO(ProgcomUnit pcu, int offset, IProgcomSerialBus bus)
        {
            mProgcom = pcu;
            mOffset = offset;
            mBus = bus;
            mMonitor = CreateMonitor();
            mMonitorTexture = mMonitor.GetMonitorTexture();

            Log("Cleared console.");
        }
예제 #3
0
        public static Texture2D GetMonitorTexture(this IProgcomMonitor mon)
        {
            FieldInfo image = mMonitorType.GetField("image",
                                                    BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);

            if (image == null)
            {
                return(null);
            }
            return((Texture2D)image.GetValue(DuckTyping.Uncast(mon)));
        }
예제 #4
0
        private IProgcomMonitor CreateMonitor()
        {
            IProgcomMonitor monitor = ProgcomSupport.CreateMonitor(mProgcom.Memory,
                                                                   ProgcomUnit.MONITOR_OFFSET,
                                                                   ProgcomUnit.FONT_OFFSET,
                                                                   ProgcomUnit.CLR_OFFSET,
                                                                   ProgcomUnit.MONITOR_MODE);

            int i = ProgcomUnit.FONT_OFFSET;

            foreach (UInt32 font in monitor.getDefaultFont())
            {
                mProgcom.Memory[i] = (Int32)font;
                ++i;
            }
            i = ProgcomUnit.CLR_OFFSET;
            foreach (Int32 col in monitor.getDefaultColors())
            {
                mProgcom.Memory[i] = col;
                ++i;
            }

            return(monitor);
        }