Example #1
0
    // вызывается из потока событий unity
    static private PacketSetcameraReady setcamera(PacketHeader packet)
    {
        PacketSetcamera setcamera = UnityEngine.JsonUtility.FromJson <PacketSetcamera>(packet.json_data);

        setcamera.idname = (setcamera.idname == null) ? activecamera : setcamera.idname;

        if (!idnames.ContainsKey(setcamera.idname))
        {
            return(new PacketSetcameraReady(0));
        }

        int id = idnames[setcamera.idname];

        if (cameras.ContainsKey(id))
        {
            UnityEngine.GameObject obj = cameras[id];

            camera bhv = obj.GetComponent <camera>();

            bhv.targetposition     = new UnityEngine.Vector3(setcamera.x0, setcamera.y0, setcamera.z0);
            obj.transform.position = new UnityEngine.Vector3(setcamera.x1, setcamera.y1, setcamera.z1);

            bhv.Init();

            return(new PacketSetcameraReady(1));
        }

        return(new PacketSetcameraReady(0));
    }
Example #2
0
    // в потоке клиента нельзя вызывать, только из потока событий unity
    static private int create_camera(PacketHeader packet)
    {
        maxid++;
        PacketCreate create = UnityEngine.JsonUtility.FromJson <PacketCreate>(packet.json_data);

        delete(create.idname);
        UnityEngine.GameObject obj       = UnityEngine.GameObject.Instantiate(UnityEngine.Resources.Load("camera/camera", typeof(UnityEngine.GameObject)) as UnityEngine.GameObject);
        PacketSetcamera        setcamera = UnityEngine.JsonUtility.FromJson <PacketSetcamera>(packet.json_data);

        obj.GetComponent <camera>().targetposition = new UnityEngine.Vector3(setcamera.x0, setcamera.y0, setcamera.z0);
        obj.transform.position = new UnityEngine.Vector3(setcamera.x1, setcamera.y1, setcamera.z1);
        cameras[maxid]         = obj;
        idnames[create.idname] = maxid;
        return(maxid);
    }
Example #3
0
    // в потоке клиента нельзя вызывать, только из потока событий unity
    // может вызываться в случае, если нет ни одной камеры
    static void create_main_camera()
    {
        PacketSetcamera packet = new PacketSetcamera();

        packet.idname = "maincamera";
        packet.x0     = 0;
        packet.y0     = 0;
        packet.z0     = 0;
        packet.x1     = 0;
        packet.y1     = 1;
        packet.z1     = -10;
        PacketHeader header = new PacketHeader();

        header.json_data = UnityEngine.JsonUtility.ToJson(packet);;
        create_camera(header);
    }