当前位置: 首页>>代码示例>>C++>>正文


C++ TActorIterator::GetAllTheItems方法代码示例

本文整理汇总了C++中TActorIterator::GetAllTheItems方法的典型用法代码示例。如果您正苦于以下问题:C++ TActorIterator::GetAllTheItems方法的具体用法?C++ TActorIterator::GetAllTheItems怎么用?C++ TActorIterator::GetAllTheItems使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在TActorIterator的用法示例。


在下文中一共展示了TActorIterator::GetAllTheItems方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: onHit

void AAvatar::onHit(AActor *Self, AActor *neighbor, FVector NormalImpulse, const FHitResult &Hit)
{
  
    int row, col;
    FVector *AllTheItems;
    FVector2D MazeDimensions;
    // If the hero touched an item, drop it into his inventory and set it to found
    if(neighbor && (neighbor->GetActorLabel()).Contains( TEXT("itemBasic"), ESearchCase::CaseSensitive, ESearchDir::FromEnd )) {
        if(! (((AitemBasic*)neighbor)->found) ){
            ((AitemBasic*)neighbor)->found = true;
            row = ((AitemBasic*)neighbor)->GetMazeLocation().X;
            col = ((AitemBasic*)neighbor)->GetMazeLocation().Y;
            TActorIterator<AMaze> ActorItr =TActorIterator<AMaze>(GetWorld());
            if(ActorItr){
                AllTheItems = ActorItr->GetAllTheItems();
                MazeDimensions = ActorItr->GetMazeDimensions();
                for(int i=0; i< ((MazeDimensions.X>MazeDimensions.Y)?MazeDimensions.X-2:MazeDimensions.Y-2) ; i++){
                    if((int)(AllTheItems[i].X) == row && (int)(AllTheItems[i].Y) == col )
                        AllTheItems[i].Z = 1;
                }
            }
            neighbor->SetActorLocation( FVector(0, 0, -1000) );
            //increment itemBasic in Hero's Bag
            switch(((AitemBasic*)neighbor)->itemType){
                case 'A':
                    HeroBag->push("Pill");
                    Pill = true;
                    break;
                case 'B':
                    HeroBag->push("Pyramid");
                    Pill = false;
                    break;
                case 'C':
                    HeroBag->push("Macaroni");
                    Pill = false;
                    break;
                case 'D':
                    HeroBag->push("Moldy Cheese");
                    Pill= false;
                    break;
                default:
                    HeroBag->push("Trash");
                    Pill=false;
                    break;
            }
        }
        //check to see if all items have been found
        TActorIterator<AitemsSpawning> ActorItrItems =TActorIterator<AitemsSpawning>(GetWorld());
        if(ActorItrItems){
            if(ActorItrItems->allItemsFound() && !hasAllItems){
                hasAllItems = true;
                
                TActorIterator<AMaze> ActorItrMaze =TActorIterator<AMaze>(GetWorld());
                if(ActorItrMaze){
                    ActorItrMaze->openExit();
                }
            }
        }
    }

}
开发者ID:nzayatz14,项目名称:MazeGameEnhanced,代码行数:61,代码来源:Avatar.cpp


注:本文中的TActorIterator::GetAllTheItems方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。