Example #1
0
bool CBattleFieldLayer::init()
{
    do
    {
        BREAK_IF_FAILED(CTouchesLayer::init());
        
        Director *pDirector = Director::getInstance();
        pDirector->setDepthTest(true);
        
        setTouchEnabled(true);
        
        initListener();
        
        loadConfig();

        BREAK_IF_FAILED(CBkgLayerBase::initBkgLayerBase(BATCHNODE_LIST, BACKGROUND_MAP_NAME, TILE_MAP_NAME));
        setGamePanelLayer(CGamePanelLayer::create());
        addChild(m_pGamePanelLayer, Z_ORDER_GAME_PANEL);

        BREAK_IF_FAILED(EFFECT_MANAGER->init(getBkgGrd()));
        
        BREAK_IF_FAILED(BF_MANAGER->init());

        loadFormation();
        scheduleUpdate();

        return true;
    } while (false);
    
    return false;
}
MainWindow::MainWindow(QWidget *parent, kitrokopter::API *api) :
	QMainWindow(parent),
	ui(new Ui::MainWindow),
	api(api),
	gamepad(new Gamepad(this)),
	quadcopterModel(new QuadcopterModel(this, api)),
	quadcopterDebugDialog(0),
	trackedFilter(new QuadcopterTrackedFilter(this)),
	untrackedFilter(new QuadcopterTrackedFilter(this)),
	calibrationDialog(0)
{
	ui->setupUi(this);

	setWindowIcon(QIcon(":/icons/images/Logo64.png"));
	ui->mainToolBar->hide();

	initGamepad();

	trackedFilter->setSourceModel(quadcopterModel);
	untrackedFilter->setSourceModel(quadcopterModel);
	trackedFilter->filterTracked();
	untrackedFilter->filterUntracked();
	ui->trackedList->setModel(trackedFilter);
	ui->untrackedList->setModel(untrackedFilter);

	irrlichtWidget = new QIrrlichtWidget(ui->superWidget);
	irrlichtWidget->setMinimumSize(QSize(640, 480));
	QSizePolicy policy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding);
	policy.setHorizontalStretch(255);
	irrlichtWidget->setSizePolicy(policy);
	ui->superWidget->layout()->addWidget(irrlichtWidget);
	gui3d = new Gui3D(irrlichtWidget, api);

	connect(ui->launchButton, SIGNAL(clicked()), this, SLOT(launch()));
	connect(ui->loadFormationButton, SIGNAL(clicked()), this, SLOT(loadFormation()));
	connect(ui->scanButton, SIGNAL(clicked()), this, SLOT(scanForQuadcopters()));
	connect(ui->actionShutdown_everything, SIGNAL(triggered()), this, SLOT(shutdownEverything()));

	connect(ui->actionQuadcopters, SIGNAL(triggered()), this, SLOT(openQuadcopterDebugDialog()));
	connect(ui->trackedList, SIGNAL(activated(QModelIndex)), this, SLOT(openQuadcopterDetailDialog(QModelIndex)));
	connect(ui->untrackedList, SIGNAL(activated(QModelIndex)), this, SLOT(openQuadcopterDetailDialog(QModelIndex)));

	connect(ui->calibrateCamerasButton, SIGNAL(clicked()), this, SLOT(openCalibrationDialog()));
	connect(ui->startSystemButton, SIGNAL(clicked()), this, SLOT(startSystem()));

	connect(ui->actionGamepad, SIGNAL(triggered()), this, SLOT(openGamepadDebugDialog()));
	connect(ui->actionAbout, SIGNAL(triggered()), this, SLOT(openAboutDialog()));
}