mirror of
https://github.com/Leahnaya/TheKingsRace.git
synced 2026-04-25 07:57:08 -05:00
Finished Networking the Boulder
This commit is contained in:
parent
b74c71004d
commit
2c2a13ff84
67
Assets/Prefabs/Environment/Boulder Spawn.prefab
Normal file
67
Assets/Prefabs/Environment/Boulder Spawn.prefab
Normal file
|
|
@ -0,0 +1,67 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &8808368135834717663
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 8808368135834717660}
|
||||
- component: {fileID: 8808368135834717661}
|
||||
- component: {fileID: 8808368135834717634}
|
||||
m_Layer: 0
|
||||
m_Name: Boulder Spawn
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &8808368135834717660
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8808368135834717663}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 380, y: 39, z: 370}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &8808368135834717661
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8808368135834717663}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 18d4d5c56acc6924baed02e452b9d1d0, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
RespawnTimer: 10
|
||||
spawnForce: {x: -4000, y: 0, z: 0}
|
||||
SpawnLocation: {x: 380, y: 40, z: 370}
|
||||
BoulderPrefab: {fileID: 1705285893771051651, guid: 3fd15f10e6c1a07419fdd6bf804b6541, type: 3}
|
||||
--- !u!114 &8808368135834717634
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8808368135834717663}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
NetworkInstanceId: 0
|
||||
PrefabHash: 6730720678359712257
|
||||
PrefabHashGenerator: Boulder Spawn
|
||||
AlwaysReplicateAsRoot: 0
|
||||
DontDestroyWithOwner: 0
|
||||
7
Assets/Prefabs/Environment/Boulder Spawn.prefab.meta
Normal file
7
Assets/Prefabs/Environment/Boulder Spawn.prefab.meta
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 0d288120830514244bc113d85efa9b4d
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -15,6 +15,8 @@ GameObject:
|
|||
- component: {fileID: 1705285893771051655}
|
||||
- component: {fileID: 3031846312447326290}
|
||||
- component: {fileID: -1304216180615842640}
|
||||
- component: {fileID: -3710512156953913788}
|
||||
- component: {fileID: 7172572379796297154}
|
||||
m_Layer: 0
|
||||
m_Name: Boulder
|
||||
m_TagString: Untagged
|
||||
|
|
@ -139,3 +141,68 @@ SphereCollider:
|
|||
serializedVersion: 2
|
||||
m_Radius: 0.5
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &-3710512156953913788
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1705285893771051652}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
NetworkInstanceId: 0
|
||||
PrefabHash: 10761943207984983740
|
||||
PrefabHashGenerator: Boulder
|
||||
AlwaysReplicateAsRoot: 0
|
||||
DontDestroyWithOwner: 0
|
||||
--- !u!114 &7172572379796297154
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1705285893771051652}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: e96cb6065543e43c4a752faaa1468eb1, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
FixedSendsPerSecond: 20
|
||||
AssumeSyncedSends: 1
|
||||
InterpolatePosition: 1
|
||||
SnapDistance: 10
|
||||
InterpolateServer: 1
|
||||
MinMeters: 0.15
|
||||
MinDegrees: 1.5
|
||||
ExtrapolatePosition: 0
|
||||
MaxSendsToExtrapolate: 5
|
||||
Channel:
|
||||
EnableRange: 0
|
||||
EnableNonProvokedResendChecks: 0
|
||||
DistanceSendrate:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 20
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0
|
||||
outWeight: 0
|
||||
- serializedVersion: 3
|
||||
time: 500
|
||||
value: 20
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0
|
||||
outWeight: 0
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
|
|
|
|||
|
|
@ -6625,53 +6625,11 @@ MeshFilter:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 370188826}
|
||||
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!1 &372819693
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 372819694}
|
||||
- component: {fileID: 372819695}
|
||||
m_Layer: 0
|
||||
m_Name: Boulder Spawn
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &372819694
|
||||
--- !u!4 &372819694 stripped
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_CorrespondingSourceObject: {fileID: 8808368135834717660, guid: 0d288120830514244bc113d85efa9b4d, type: 3}
|
||||
m_PrefabInstance: {fileID: 8808368135602473778}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 372819693}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 380, y: 39, z: 370}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 709008595}
|
||||
m_RootOrder: 10
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &372819695
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 372819693}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 18d4d5c56acc6924baed02e452b9d1d0, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
RespawnTimer: 10
|
||||
spawnForce: {x: -4000, y: 0, z: 0}
|
||||
SpawnLocation: {x: 380, y: 40, z: 370}
|
||||
BoulderPrefab: {fileID: 1705285893771051651, guid: 3fd15f10e6c1a07419fdd6bf804b6541, type: 3}
|
||||
--- !u!1 &374633642
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
@ -20858,6 +20816,10 @@ PrefabInstance:
|
|||
propertyPath: m_Name
|
||||
value: DebugPlayerPrefab
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5633209979457551608, guid: 362ca97b75c291a47ab81d628a81f440, type: 3}
|
||||
propertyPath: m_IsActive
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6926740475113451123, guid: 362ca97b75c291a47ab81d628a81f440, type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 1
|
||||
|
|
@ -28596,7 +28558,7 @@ GameObject:
|
|||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 0
|
||||
m_IsActive: 1
|
||||
--- !u!81 &1664207030
|
||||
AudioListener:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
@ -39409,6 +39371,63 @@ MeshRenderer:
|
|||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!1001 &8808368135602473778
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 709008595}
|
||||
m_Modifications:
|
||||
- target: {fileID: 8808368135834717660, guid: 0d288120830514244bc113d85efa9b4d, type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 10
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8808368135834717660, guid: 0d288120830514244bc113d85efa9b4d, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 380
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8808368135834717660, guid: 0d288120830514244bc113d85efa9b4d, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 39
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8808368135834717660, guid: 0d288120830514244bc113d85efa9b4d, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 370
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8808368135834717660, guid: 0d288120830514244bc113d85efa9b4d, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8808368135834717660, guid: 0d288120830514244bc113d85efa9b4d, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8808368135834717660, guid: 0d288120830514244bc113d85efa9b4d, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8808368135834717660, guid: 0d288120830514244bc113d85efa9b4d, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8808368135834717660, guid: 0d288120830514244bc113d85efa9b4d, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8808368135834717660, guid: 0d288120830514244bc113d85efa9b4d, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8808368135834717660, guid: 0d288120830514244bc113d85efa9b4d, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8808368135834717663, guid: 0d288120830514244bc113d85efa9b4d, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: Boulder Spawn
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 0d288120830514244bc113d85efa9b4d, type: 3}
|
||||
--- !u!64 &8898764535877193668
|
||||
MeshCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
|
|||
|
|
@ -210,9 +210,9 @@ MonoBehaviour:
|
|||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
runnerSpawnPoints:
|
||||
- {x: 725, y: 25, z: 488}
|
||||
- {x: 725, y: 25, z: 500}
|
||||
kingSpawnPoint: {x: -2, y: 2, z: -2}
|
||||
- {x: 730.21, y: 26, z: 501}
|
||||
- {x: 730.21, y: 26, z: 494}
|
||||
kingSpawnPoint: {x: 350, y: 625, z: 1130}
|
||||
--- !u!1 &1494071116
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
@ -294,6 +294,10 @@ MonoBehaviour:
|
|||
PlayerPrefab: 0
|
||||
- Prefab: {fileID: 8778111956603343863, guid: 0e50603b66fe968418894499e023ec03, type: 3}
|
||||
PlayerPrefab: 0
|
||||
- Prefab: {fileID: 8808368135834717663, guid: 0d288120830514244bc113d85efa9b4d, type: 3}
|
||||
PlayerPrefab: 0
|
||||
- Prefab: {fileID: 1705285893771051652, guid: 3fd15f10e6c1a07419fdd6bf804b6541, type: 3}
|
||||
PlayerPrefab: 0
|
||||
PlayerPrefabHash:
|
||||
id: 0
|
||||
CreatePlayerPrefab: 0
|
||||
|
|
|
|||
|
|
@ -1,8 +1,10 @@
|
|||
using MLAPI;
|
||||
using MLAPI.Messaging;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class BoulderSpawn : MonoBehaviour
|
||||
public class BoulderSpawn : NetworkBehaviour
|
||||
{
|
||||
[SerializeField] private float RespawnTimer = 10.0f;
|
||||
private float currentTime = 0.0f;
|
||||
|
|
@ -13,22 +15,32 @@ public class BoulderSpawn : MonoBehaviour
|
|||
|
||||
[SerializeField] private Transform BoulderPrefab;
|
||||
private GameObject boulderInScene;
|
||||
|
||||
// Start is called before the first frame update
|
||||
void Start()
|
||||
{
|
||||
if (IsHost)
|
||||
{
|
||||
SpawnBoulderServerRPC();
|
||||
}
|
||||
}
|
||||
|
||||
[ServerRpc(RequireOwnership = false)]
|
||||
private void SpawnBoulderServerRPC() {
|
||||
boulderInScene = Instantiate(BoulderPrefab, SpawnLocation, Quaternion.identity).gameObject;
|
||||
boulderInScene.GetComponent<Rigidbody>().AddForce(spawnForce);
|
||||
boulderInScene.GetComponent<NetworkObject>().Spawn(null, true);
|
||||
boulderInScene.GetComponent<Boulder>().StartCountdown((int)RespawnTimer, spawnForce);
|
||||
}
|
||||
|
||||
private void FixedUpdate()
|
||||
{
|
||||
if (!IsHost) { return; }
|
||||
|
||||
currentTime += Time.fixedDeltaTime;
|
||||
if (currentTime >= RespawnTimer)
|
||||
{
|
||||
currentTime = 0.0f;
|
||||
Destroy(boulderInScene);
|
||||
boulderInScene = Instantiate(BoulderPrefab, SpawnLocation, Quaternion.identity).gameObject;
|
||||
boulderInScene.GetComponent<Rigidbody>().AddForce(spawnForce);
|
||||
SpawnBoulderServerRPC();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,8 +1,10 @@
|
|||
using MLAPI;
|
||||
using MLAPI.Messaging;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class Boulder : MonoBehaviour
|
||||
public class Boulder : NetworkBehaviour
|
||||
{
|
||||
private Rigidbody boulder;
|
||||
|
||||
|
|
@ -23,15 +25,29 @@ public class Boulder : MonoBehaviour
|
|||
}
|
||||
}
|
||||
|
||||
//Coppied from player for easy Boulder Testing/Demonstration
|
||||
void FixedUpdate() {
|
||||
Respawn();
|
||||
public void StartCountdown(int time, Vector3 spawnForce)
|
||||
{
|
||||
StartCoroutine(DespawnCounter(time));
|
||||
AddForceServerRPC(spawnForce);
|
||||
}
|
||||
|
||||
private void Respawn()
|
||||
{
|
||||
if (transform.position.y < -1) {
|
||||
transform.position = new Vector3(74.67f, 34.68f, 7.15f);
|
||||
[ServerRpc]
|
||||
private void AddForceServerRPC(Vector3 force) {
|
||||
this.gameObject.GetComponent<Rigidbody>().AddForce(force);
|
||||
}
|
||||
|
||||
IEnumerator DespawnCounter(int time) {
|
||||
for (int i = time; i > 0; i--) {
|
||||
Debug.LogError(i);
|
||||
yield return new WaitForSecondsRealtime(1f);
|
||||
}
|
||||
|
||||
// Time's up - Despawn us
|
||||
DespawnBoulderServerRPC();
|
||||
}
|
||||
|
||||
[ServerRpc(RequireOwnership = false)]
|
||||
private void DespawnBoulderServerRPC() {
|
||||
this.gameObject.GetComponent<NetworkObject>().Despawn(true);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user