Example #1
0
        public frmMinerDemo()
        {
            InitializeComponent();

            mHighResTimer = new HighResTimer();

            // m_AsyncWorker will be used to perform the AI work on a background thread.
            m_AsyncWorker = new BackgroundWorker();
            m_AsyncWorker.WorkerReportsProgress = true;
            m_AsyncWorker.ProgressChanged += new ProgressChangedEventHandler(Thread_ProgressChanged);
            m_AsyncWorker.DoWork += new DoWorkEventHandler(Thread_DoWork);
            m_AsyncWorker.WorkerSupportsCancellation = true;

            // Just direct all debug output to our Message Writer
            Debug.Listeners.Clear();
            Debug.Listeners.Add(new TextWriterTraceListener(DebugMessages.Instance));

            groupBox1.ForeColor = mColourBob;
            groupBox2.ForeColor = mColourElsa;
            groupBox3.ForeColor = mColourBarFly;

            //create a miner
            Bob = new Miner((int)EntityName.ent_Miner_Bob);

            //create his wife
            Elsa = new MinersWife((int)EntityName.ent_Elsa);

            Joe = new BarFlyJoe((int)EntityName.ent_BarFly);

            //register them with the Message Dispatcher
            MessageDispatcher.Instance.RegisterEntity(Bob);
            MessageDispatcher.Instance.RegisterEntity(Elsa);
            MessageDispatcher.Instance.RegisterEntity(Joe);
        }