69 lines
1.9 KiB
C#
69 lines
1.9 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using Mirror;
|
|
using Characters;
|
|
|
|
public class CubeEater : NetworkBehaviour
|
|
{
|
|
// CustomNetworkManager networkManager;
|
|
NetworkGameManager networkGameManager;
|
|
|
|
void Start()
|
|
{
|
|
// networkManager = NetworkManager.singleton.GetComponent<CustomNetworkManager>();
|
|
networkGameManager = NetworkGameManager.singleton;
|
|
}
|
|
|
|
void OnTriggerEnter(Collider collider)
|
|
{
|
|
if (!isServer) return;
|
|
|
|
if (collider.tag == "Prop")
|
|
{
|
|
if (collider.GetComponent<PropBehaviour>().Original == true)
|
|
{
|
|
var player = collider.GetComponent<PropGrab>()._player;
|
|
collider.GetComponent<PropGrab>().ResetPlayer();
|
|
|
|
collider.gameObject.layer = LayerMask.NameToLayer("NoCollide");
|
|
|
|
// SetWinner(player.gameObject);
|
|
networkGameManager.SetWinner(player.gameObject);
|
|
|
|
StartCoroutine(DestoyDelay(collider.gameObject));
|
|
}
|
|
else
|
|
{
|
|
var player = collider.GetComponent<PropGrab>()._player;
|
|
collider.GetComponent<PropGrab>().ResetPlayer();
|
|
|
|
collider.gameObject.layer = LayerMask.NameToLayer("NoCollide");
|
|
|
|
StartCoroutine(DestoyDelay(collider.gameObject));
|
|
}
|
|
}
|
|
}
|
|
|
|
IEnumerator DestoyDelay(GameObject gameObject)
|
|
{
|
|
yield return new WaitForSeconds(3f);
|
|
|
|
NetworkServer.Destroy(gameObject);
|
|
StopCoroutine(DestoyDelay(gameObject));
|
|
}
|
|
|
|
// [Command(requiresAuthority = false)]
|
|
// void CmdDrop(GameObject gameObject)
|
|
// {
|
|
// RpcDrop(gameObject);
|
|
// }
|
|
|
|
// [ClientRpc]
|
|
// void SetWinner(GameObject gameObject)
|
|
// {
|
|
// networkGameManager.winner = gameObject;
|
|
// networkGameManager.CmdRestartScene();
|
|
// }
|
|
}
|