private bool GetSceneData(int sceneUniqueID, out SerializableScene scene, out SerializableContainer[] containers) { if (server.SceneDictionary.ContainsKey(sceneUniqueID)) { Scene targetScene = server.SceneDictionary[sceneUniqueID]; List <SerializableContainer> containerList = new List <SerializableContainer>(); foreach (Container container in targetScene.containerDictionary.Values) { containerList.Add(container.Serialize()); } scene = targetScene.Serialize(); containers = containerList.ToArray(); return(true); } else { scene = null; containers = null; return(false); } }
private bool ControlTheScene(int administratorUniqueID, int sceneUniqueID, out SerializableScene scene, out SerializableContainer[] containers) { if (server.SceneDictionary.ContainsKey(sceneUniqueID)) { server.SceneDictionary[sceneUniqueID].SetAdministrator(administratorUniqueID, this); server.SceneAdministratorDictionary.Add(administratorUniqueID, server.SceneDictionary[sceneUniqueID]); List <SerializableContainer> containerList = new List <SerializableContainer>(); foreach (Container container in server.SceneDictionary[sceneUniqueID].containerDictionary.Values) { containerList.Add(container.Serialize()); } scene = server.SceneDictionary[sceneUniqueID].Serialize(); containers = containerList.ToArray(); return(true); } else { scene = null; containers = null; return(false); } }
private void GetSceneDataEventAction(bool getSceneDataStatus, string debugMessage, SerializableScene scene, List <SerializableContainer> containers) { if (getSceneDataStatus) { AnswerGlobal.Scene = new Scene(scene); foreach (SerializableContainer container in containers) { Container targetContainer = new Container(container); targetContainer.GameObject = Instantiate(AnswerGlobal.containerPrefab, new Vector3(targetContainer.PositionX, targetContainer.PositionY, targetContainer.PositionZ), Quaternion.identity) as GameObject; targetContainer.GameObject.GetComponent <CharacterName>().Name = targetContainer.Name; AnswerGlobal.Scene.ContainerDictionary.Add(container.UniqueID, targetContainer); if (AnswerGlobal.MainContainer.UniqueID == container.UniqueID) { Camera.main.GetComponent <CameraFollow>().target = targetContainer.GameObject.transform; AnswerGlobal.MainContainer = targetContainer; targetContainer.GameObject.tag = "Self"; } } } else { getSceneDataResult = debugMessage; } }
private void ControlTheSceneEventAction(bool controlTheSceneStatus, string debugMessage, SerializableScene scene, List <SerializableContainer> containers) { if (controlTheSceneStatus) { SceneGlobal.Scene = new Scene(scene); foreach (SerializableContainer container in containers) { Container targetContainer = new Container(container); targetContainer.GameObject = Instantiate(SceneGlobal.containerPrefab, new Vector3(targetContainer.Position.x, targetContainer.Position.y, targetContainer.Position.z), Quaternion.identity) as GameObject; SceneGlobal.Scene.ContainerDictionary.Add(container.UniqueID, targetContainer); } SceneGlobal.ControlTheSceneStatus = true; } else { SceneGlobal.ControlTheSceneStatus = false; controlTheSceneResult = debugMessage; } }
public Scene(SerializableScene scene) { UniqueID = scene.UniqueID; Name = scene.Name; ContainerDictionary = new Dictionary <int, Container>(); }