Example #1
0
void TaikoSkin::begin(int course, int branch)
{
	m_soulAni->changeAction(course >= 3 ? "40" : "30");
	m_soulAni->play();
	if(m_soulAni->getReferencePointCount() >= 3)
	{
		for(int i=0; i<3; i++)
			m_soulAni->getReferencePoint(i, m_soulPos[i*2], m_soulPos[i*2+1]);
	}else
	{
		memset(m_soulPos, 0, sizeof(m_soulPos));
	}
	clearNote();
	setNoteCount(-1, -1);
	m_hitFlash->getNode()->setBranchVisible(false);
	setHit(false, false, false, false);
	setHitJudge(-1);
	for(int i=0; i<4; i++)
		m_hitDrum[i]->getNode()->setBranchVisible(false);
	setCombo(0);
	setSoul(0);
	setGogo(false);
	setBranch(branch);
}
void LureForm::observerEvent(int type)
{
    ui->lure_save->setDisabled(!m_lureController->getBooleanValue(eUnsavedChanges));
    ui->lure_undo->setDisabled(!m_lureController->getBooleanValue(eUnsavedChanges));
    ui->lure_delete->setDisabled(!m_lureController->getBooleanValue(eLureList));

    ui->lure_manufacturer->setDisabled(!m_lureController->getBooleanValue(eLureList));
    ui->lure_model->setDisabled(!m_lureController->getBooleanValue(eLureList));
    ui->lure_size->setDisabled(!m_lureController->getBooleanValue(eLureList));
    ui->lure_type->setDisabled(!m_lureController->getBooleanValue(eLureList));
    ui->lure_color->setDisabled(!m_lureController->getBooleanValue(eLureList));
    ui->lure_favorite->setDisabled(!m_lureController->getBooleanValue(eLureList));
    ui->lure_notvisible->setDisabled(!m_lureController->getBooleanValue(eLureList));
    ui->lure_nickname->setDisabled(!m_lureController->getBooleanValue(eLureList));
    ui->lure_back->setDisabled(!m_lureController->getBooleanValue(eLureList));
    ui->lure_side->setDisabled(!m_lureController->getBooleanValue(eLureList));
    ui->lure_belly->setDisabled(!m_lureController->getBooleanValue(eLureList));
    ui->lure_class->setDisabled(!m_lureController->getBooleanValue(eLureList));
    ui->lure_contrast->setDisabled(!m_lureController->getBooleanValue(eLureList));

    if(type == Controller::eLureListUpdated)
    {
        ui->lure_list->blockSignals(true);
        ui->lure_list->setSortingEnabled(false);
        ui->lure_list->clear();
        ui->lure_list->clearContents();
        ui->lure_list->setRowCount(0);
        ui->lure_list->setColumnCount(m_lureController->getLureColumns().count());
        ui->lure_list->setHorizontalHeaderLabels(m_lureController->getLureColumns());

        int selectedLure = m_lureController->getIntValue(eLureList);
        QList<QList<QString> > lures = m_lureController->getLureListLong();
        for(int loop=0; loop < lures.size(); loop++)
        {
            QList<QString> lure = lures.at(loop);
            ui->lure_list->insertRow(loop);
            QString id = lure.at(lure.count()-1);

            for(int col = 0; col < lure.count()-1; col++)
            {
                QTableWidgetItem* item = new QTableWidgetItem(lure.at(col));
                item->setData(Qt::UserRole+1, id);
                ui->lure_list->setItem(loop, col, item);
            }
            if(id.toInt() == selectedLure)
            {
                ui->lure_list->selectRow(loop);
            }
        }
        ui->lure_list->setSortingEnabled(true);
        ui->lure_list->blockSignals(false);
    } else if(type == Controller::eLureUpdated)
    {
        setCombo(eLureMaker, ui->lure_manufacturer);
        setCombo(eLureModel, ui->lure_model);
        setCombo(eLureSize, ui->lure_size);
        setCombo(eLureColor, ui->lure_color);
        setCombo(eLureType, ui->lure_type);
        setCombo(eLureColorBack, ui->lure_back);
        setCombo(eLureColorSide, ui->lure_side);
        setCombo(eLureColorBelly, ui->lure_belly);
        //setCombo(eLureColorClass, ui->lure_class);
        setCombo(eLureColorContrast, ui->lure_contrast);

        QString colorclass = m_lureController->getTextValue(eLureColorClass);
        int colorindex = ui->lure_class->findText(colorclass);
        ui->lure_class->blockSignals(true);
        ui->lure_class->setCurrentIndex(colorindex);
        ui->lure_class->blockSignals(false);

        ui->lure_favorite->setChecked(m_lureController->getBooleanValue(eLureFavorite));
        ui->lure_notvisible->setChecked(m_lureController->getBooleanValue(eLureNotVisible));
        ui->lure_nickname->blockSignals(true);
        ui->lure_nickname->setText(m_lureController->getTextValue(eLureNickName));
        ui->lure_nickname->blockSignals(false);
    }
}