TheKingsRace/Assets/Scripts/Environment/BoulderSpawn.cs
Vincent Wheat ea632960a8 Playtest1Feedback
-Adjusted Left1 boulders to be smaller and faster
-Added serializable scale to boulder spawn
-Adjusted some sliding obstacle heights
-relinked respawn zone in last pit of foothills
-Plains left 1 adjusted bumper strength and added catch platform
-Imported assets for archer towers and cannons, materials need to be gleeked with
2022-03-09 14:11:02 -06:00

51 lines
1.3 KiB
C#

using MLAPI;
using MLAPI.Messaging;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BoulderSpawn : NetworkBehaviour
{
[SerializeField] private float RespawnTimer = 10.0f;
private float currentTime = 0.0f;
[SerializeField] private float boulderScaleMultiplier = 1.0f;
[SerializeField] private Vector3 spawnForce;
[SerializeField] private Vector3 SpawnLocation;
[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.transform.localScale *= boulderScaleMultiplier;
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;
SpawnBoulderServerRPC();
}
}
}