void AShooterWeapon::AttachMeshToPawn() { if (MyPawn) { // Remove and hide both first and third person meshes DetachMeshFromPawn(); // For locally controller players we attach both weapons and let the bOnlyOwnerSee, bOwnerNoSee flags deal with visibility. FName AttachPoint = MyPawn->GetWeaponAttachPoint(); if( MyPawn->IsLocallyControlled() == true ) { USkeletalMeshComponent* PawnMesh1p = MyPawn->GetSpecifcPawnMesh(true); USkeletalMeshComponent* PawnMesh3p = MyPawn->GetSpecifcPawnMesh(false); Mesh1P->SetHiddenInGame( false ); Mesh3P->SetHiddenInGame( false ); Mesh1P->AttachTo(PawnMesh1p, AttachPoint); Mesh3P->AttachTo(PawnMesh3p, AttachPoint); } else { USkeletalMeshComponent* UseWeaponMesh = GetWeaponMesh(); USkeletalMeshComponent* UsePawnMesh = MyPawn->GetPawnMesh(); UseWeaponMesh->AttachTo(UsePawnMesh, AttachPoint); UseWeaponMesh->SetHiddenInGame( false ); } } }
//void AARWeapon::OnRep_WeaponOwner() //{ // if (WeaponOwner) // SetWeaponOwner(WeaponOwner); //} //void AARWeapon::SetWeaponOwner(AARCharacter* NewOwner) //{ // WeaponOwner = NewOwner; // SetOwner(NewOwner); //} void AARWeapon::AttachWeapon() { if (ARCharacterOwner) { // Remove and hide both first and third person meshes // For locally controller players we attach both weapons and let the bOnlyOwnerSee, bOwnerNoSee flags deal with visibility. //FName AttachPoint = WeaponOwner->GetWeaponAttachPoint(); if (ARCharacterOwner->IsLocallyControlled() == true) { USkeletalMeshComponent* PawnMesh3p = ARCharacterOwner->GetMesh(); WeaponMesh->SetHiddenInGame(false); WeaponMesh->AttachTo(PawnMesh3p, "TestSocket"); } else { USkeletalMeshComponent* UseWeaponMesh = WeaponMesh; USkeletalMeshComponent* UsePawnMesh = ARCharacterOwner->GetMesh(); UseWeaponMesh->AttachTo(UsePawnMesh, "TestSocket"); UseWeaponMesh->SetHiddenInGame(false); } } }