Beispiel #1
0
void PartList::deleteAsset()
{
    for(QTreeWidgetItem* item: mAssetTreeWidget->selectedItems()){
        if (item){
            int id = item->data(0, Qt::UserRole).toInt();
            AssetRef ref = mAssetTreeWidget->assetRef(id);
            switch(ref.type){
            case AssetType::Part: TryCommand(new CDeletePart(ref)); break;
            case AssetType::Composite: TryCommand(new CDeleteComposite(ref)); break;
            case AssetType::Folder: TryCommand(new CDeleteFolder(ref)); break;
            }
        }
    }

    MainWindow::Instance()->partListChanged();
}
Beispiel #2
0
void CParasite::Halt(CStateManager& mgr, EStateMsg msg, float) {
  switch (msg) {
  case EStateMsg::Activate:
    x330_stateMachineState.SetDelay(x710_haltDelay);
    x32c_animState = EAnimState::Ready;
    x743_24_halted = true;
    x5d6_24_alignToFloor = true;
    if (x5d0_walkerType == EWalkerType::Geemer)
      CSfxManager::AddEmitter(x73c_haltSfx, GetTranslation(), zeus::skZero3f, true, false, 0x7f,
                              kInvalidAreaId);
    break;
  case EStateMsg::Update:
    TryCommand(mgr, pas::EAnimationState::LoopReaction, &CPatterned::TryLoopReaction, 1);
    x400_24_hitByPlayerProjectile = false;
    break;
  case EStateMsg::Deactivate:
    x450_bodyController->GetCommandMgr().DeliverCmd(CBodyStateCmd(EBodyStateCmd::ExitState));
    x32c_animState = EAnimState::NotReady;
    x743_24_halted = false;
    x5d6_24_alignToFloor = false;
    break;
  default:
    break;
  }
}
Beispiel #3
0
void PartList::renameAsset()
{
    QTreeWidgetItem* item = mAssetTreeWidget->currentItem();
    if (item){
        int id = item->data(0, Qt::UserRole).toInt();
        AssetRef ref = mAssetTreeWidget->assetRef(id);
        const QString& name = mAssetTreeWidget->assetName(id);
        bool ok;
        QString text = QInputDialog::getText(this, tr("Rename Asset"),
                                             tr("Rename ") + name + ":", QLineEdit::Normal,
                                             name, &ok);
        if (ok && !text.isEmpty()){
            switch(ref.type){
            case AssetType::Part: TryCommand(new CRenamePart(ref, text)); break;
            case AssetType::Composite: TryCommand(new CRenameComposite(ref, text)); break;
            case AssetType::Folder: TryCommand(new CRenameFolder(ref, text)); break;
            }
        }
    }

    MainWindow::Instance()->partListChanged();
}
Beispiel #4
0
void CBloodFlower::Active(CStateManager& mgr, EStateMsg msg, float arg) {
  if (msg == EStateMsg::Activate) {
    x32c_animState = EAnimState::Ready;
    sub80119364(mgr);
  } else if (msg == EStateMsg::Update) {
    TryCommand(mgr, pas::EAnimationState::LoopReaction, &CPatterned::TryLoopReaction, 0);
    x450_bodyController->GetCommandMgr().DeliverCmd(CBCAdditiveAimCmd());
    x584_curAttackTime += arg;
    x450_bodyController->GetCommandMgr().DeliverAdditiveTargetVector(
        GetTransform().transposeRotate(mgr.GetPlayer().GetTranslation() - GetTranslation()));
  } else if (msg == EStateMsg::Deactivate) {
    x450_bodyController->GetCommandMgr().DeliverCmd(CBodyStateCmd(EBodyStateCmd::ExitState));
    x450_bodyController->GetCommandMgr().DeliverCmd(CBodyStateCmd(EBodyStateCmd::AdditiveIdle));
  }
}
Beispiel #5
0
void PartList::newFolder()
{
    TryCommand(new CNewFolder());
}
Beispiel #6
0
void PartList::newComp()
{
    TryCommand(new CNewComposite());
}
Beispiel #7
0
void PartList::newPart()
{
    TryCommand(new CNewPart());
}