void AClient::StartOperation() { if (bOperationInProgress) return; int32 Index = FMath::RandRange(0, Peers.Num() - 1); const FVector MyLocation = GetActorLocation(); APacket* Packet = GetWorld()->SpawnActor<APacket>(PacketBP, MyLocation, FRotator(0)); // Create the start opeation pakcet FPacketData Data; Data.Client = this; Data.Peer = Peers[Index]; Data.DestinationPeer = Peers[Index]; Data.SendTo = EPacketSendTo::PEER; Data.Type = FPacketType::START_OPERATION; Packet->Send(Data); bOperationInProgress = true; }