mirror of
https://github.com/Leahnaya/TheKingsRace.git
synced 2026-08-21 09:54:28 -05:00
kick issue has more or less been solved
This commit is contained in:
@@ -172,7 +172,6 @@ public class MoveStateManager : NetworkBehaviour
|
||||
}
|
||||
|
||||
public void SwitchState(MoveBaseState state){
|
||||
|
||||
currentState.ExitState(this, state);
|
||||
|
||||
//Sets the previous State
|
||||
@@ -314,9 +313,9 @@ public class MoveStateManager : NetworkBehaviour
|
||||
|
||||
//Get hit into a ragdoll
|
||||
public void GetHit(Vector3 dir, float force){
|
||||
//if (!IsLocalPlayer) { return; }
|
||||
dir.Normalize();
|
||||
dirHit = dir * force;
|
||||
if (!IsLocalPlayer) { return; }
|
||||
SwitchState(RagdollState);
|
||||
}
|
||||
|
||||
|
||||
@@ -146,7 +146,9 @@ public class OffenseStateManager : NetworkBehaviour
|
||||
[ServerRpc(RequireOwnership = false)]
|
||||
private void ApplyKickServerRPC(Vector3 direction, ulong netObjId) {
|
||||
GameObject[] kickables = GameObject.FindGameObjectsWithTag("kickable");
|
||||
GameObject[] players = GameObject.FindGameObjectsWithTag("ArcherTarget");
|
||||
|
||||
// Get all players in the scene
|
||||
GameObject[] playableCharacters = GameObject.FindGameObjectsWithTag("ArcherTarget");
|
||||
|
||||
foreach (GameObject kickedItem in kickables) {
|
||||
// First check to make sure this is the item we kicked
|
||||
@@ -164,32 +166,14 @@ public class OffenseStateManager : NetworkBehaviour
|
||||
}
|
||||
}
|
||||
|
||||
foreach(GameObject kickedPlayer in players){
|
||||
//First check if the player is kicked
|
||||
foreach(GameObject character in playableCharacters){
|
||||
if(character.transform.root.GetComponent<NetworkObject>() != null && character.transform.root.GetComponent<NetworkObject>().NetworkObjectId == netObjId){
|
||||
|
||||
Debug.Log(kickedPlayer.transform.root.GetComponent<NetworkObject>().NetworkObjectId);
|
||||
|
||||
if(kickedPlayer.transform.root.GetComponent<NetworkObject>().NetworkObjectId == netObjId){
|
||||
Debug.Log("Kicked Players NetObjId is equal to the NetObjId");
|
||||
}
|
||||
else{
|
||||
Debug.Log("Kicked Player NetObjId not equal to the NetObjId");
|
||||
}
|
||||
|
||||
if(kickedPlayer.transform.root.GetComponent<NetworkObject>().NetworkObjectId != this.transform.root.GetComponent<NetworkObject>().NetworkObjectId){
|
||||
Debug.Log("Kicked Player Not The Same as Me");
|
||||
}
|
||||
else{
|
||||
Debug.Log("My RPC ID: " + this.transform.root.GetComponent<NetworkObject>().NetworkObjectId);
|
||||
Debug.Log("Their RPC ID: " + kickedPlayer.transform.root.GetComponent<NetworkObject>().NetworkObjectId);
|
||||
}
|
||||
|
||||
if(kickedPlayer.transform.root.GetComponent<NetworkObject>() != null && kickedPlayer.transform.root.GetComponent<NetworkObject>().NetworkObjectId == netObjId){
|
||||
Debug.Log("Kicking other user");
|
||||
kickedPlayer.GetComponent<MoveStateManager>().GetHit(direction, 20);
|
||||
character.GetComponent<MoveStateManager>().GetHit(direction, 20);
|
||||
return;
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user