54 lines
1.7 KiB
C#
54 lines
1.7 KiB
C#
using System.Collections.Generic;
|
|
using Photon.Pun;
|
|
using UnityEngine;
|
|
|
|
public class MultiplayerRodSupportSpawner : MonoBehaviour
|
|
{
|
|
[SerializeField]
|
|
private MultiplayerRodSupportEntity rodSupport_prefab;
|
|
|
|
private List<MultiplayerRodSupportEntity> spawnedRodSupports;
|
|
|
|
private void SceneLoader_OnBeginSceneLoad(string sceneLoadName)
|
|
{
|
|
spawnedRodSupports = new List<MultiplayerRodSupportEntity>();
|
|
}
|
|
|
|
private void RodSupport_OnSupportDrop(RodSupport rodSupport)
|
|
{
|
|
if (MultiplayerManager.InRoomLocationStatic && rodSupport != null)
|
|
{
|
|
MultiplayerRodSupportEntity component = PhotonNetwork.Instantiate(rodSupport_prefab.name, rodSupport.transform.position, rodSupport.transform.rotation, 0).GetComponent<MultiplayerRodSupportEntity>();
|
|
component.Init(rodSupport);
|
|
spawnedRodSupports.Add(component);
|
|
}
|
|
}
|
|
|
|
private void RodSupport_OnSupportTake(RodSupport rodSupport)
|
|
{
|
|
if (MultiplayerManager.InRoomLocationStatic)
|
|
{
|
|
MultiplayerRodSupportEntity multiplayerRodSupportEntity = spawnedRodSupports.Find((MultiplayerRodSupportEntity element) => element.RodSupport == rodSupport);
|
|
if (multiplayerRodSupportEntity != null)
|
|
{
|
|
spawnedRodSupports.Remove(multiplayerRodSupportEntity);
|
|
PhotonNetwork.Destroy(multiplayerRodSupportEntity.gameObject);
|
|
}
|
|
}
|
|
}
|
|
|
|
private void OnEnable()
|
|
{
|
|
SceneLoader.OnBeginSceneLoad += SceneLoader_OnBeginSceneLoad;
|
|
RodSupport.OnSupportTake += RodSupport_OnSupportTake;
|
|
RodSupport.OnSupportDrop += RodSupport_OnSupportDrop;
|
|
}
|
|
|
|
private void OnDisable()
|
|
{
|
|
SceneLoader.OnBeginSceneLoad -= SceneLoader_OnBeginSceneLoad;
|
|
RodSupport.OnSupportTake -= RodSupport_OnSupportTake;
|
|
RodSupport.OnSupportDrop -= RodSupport_OnSupportDrop;
|
|
}
|
|
}
|