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;
     }
 }
Exemple #4
0
 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;
     }
 }
Exemple #5
0
 public Scene(SerializableScene scene)
 {
     UniqueID            = scene.UniqueID;
     Name                = scene.Name;
     ContainerDictionary = new Dictionary <int, Container>();
 }