Files
UltimateFishing2020/Assets/Scripts/Assembly-CSharp/MultiplayerRodSupportSpawner.cs
2026-03-04 10:03:45 +08:00

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;
}
}