123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- using LitJson;
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- public class MultiPlayerManager : MonoSingleton<MultiPlayerManager>
- {
- public delegate void JoinRoom(SyncObject sycObj);
- public delegate void QuitRoom(SyncObject sycObj);
- public delegate void SynObject(SyncObject sycObj);
- public delegate void SynVideo(SyncVideoData sycVideo);
- public JoinRoom OnJoinRoom;
- public QuitRoom OnQuitRoom;
- public SynObject OnSynObject;
- public SynVideo OnSynVideo;
-
-
- public Dictionary<string, SyncSpoit> dicSpoitValue;
-
-
- public Dictionary<string, SynchronizationObject> dicPlayer;
- public void ReceivedCamPos(string uid, JsonData data)
- {
- SyncObject syncData = new SyncObject();
- syncData.id = uid;
- syncData.pos = new Vector3(float.Parse(data["x"].ToString()), float.Parse(data["y"].ToString()), float.Parse(data["z"].ToString()));
- OnSynObject(syncData);
- if (!dicPlayer.ContainsKey(uid))
- {
-
- GameObject player = GameObject.Instantiate(Resources.Load<GameObject>("Template/Prefab/Player"));
- SynchronizationObject SyncPlayer = player.GetComponent<SynchronizationObject>();
- SyncPlayer.uid = uid;
- SyncPlayer.InitData(syncData);
- dicPlayer.Add(SyncPlayer.uid, SyncPlayer);
-
- }
-
- }
- public void ReceivedActiveSp(JsonData data)
- {
- dicSpoitValue[data["spid"].ToString()].spoitObj.SetActive(bool.Parse(data["isOpen"].ToString()));
- }
- public void ReceivedActiveVideo(JsonData data)
- {
- SyncVideoData syncData = new SyncVideoData();
- syncData.spid = data["spid"].ToString();
- syncData.id = data["videoId"].ToString();
- syncData.isPlay = bool.Parse(data["isplay"].ToString());
- syncData.times = float.Parse(data["jindu"].ToString());
- OnSynVideo(syncData);
-
- }
- }
- public class SyncSpoit
- {
- public string spoitId;
- public GameObject spoitObj;
- }
- public class SyncVideo
- {
- public string spoitId;
- public string videoId;
- public AVProVideoPlayer aVProVideo;
- }
- public class SyncObject
- {
- public string id { get; set; }
-
-
- public Vector3 pos { get; set; }
-
- }
- public class SyncVideoData
- {
- public string spid { get; set; }
- public string id { get; set; }
- public bool isPlay { get; set; }
- public float times { get; set; }
- }
- public enum SyncObjectType
- {
- Object,
- Video,
- Player
- }
|