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

        if (!idnames.ContainsKey(gripped.idname))
        {
            return(new PacketGrippedReady(0, false));
        }

        int id = idnames[gripped.idname];

        if (devices.ContainsKey(id))
        {
            switch (devices[id].GetType().ToString())
            {
            case "manipulator2":
            {
                manipulator2 manipulator = (manipulator2)devices[id];
                return(new PacketGrippedReady(1, manipulator.IsGripped()));
            }
            }
        }

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

        delete(create.idname);
        device dev = new manipulator2();

        ((manipulator2)dev).config = UnityEngine.JsonUtility.FromJson <configmanipulator2>(packet.json_data);
        dev.Place();
        devices[maxid]         = dev;
        idnames[create.idname] = maxid;
        return(maxid);
    }
Example #3
0
    // вызывается из потока собыйти unity
    static private void setpos(PacketSetpos setpos)
    {
        if (!idnames.ContainsKey(setpos.idname))
        {
            return;
        }

        int id = idnames[setpos.idname];

        if (devices.ContainsKey(id))
        {
            switch (devices[id].GetType().ToString())
            {
            case "manipulator1":
            {
                manipulator1 manipulator = (manipulator1)devices[id];
                manipulator.SetPos(setpos.a0, setpos.a1, setpos.a2);
            }
            break;

            case "manipulator2":
            {
                manipulator2 manipulator = (manipulator2)devices[id];
                manipulator.SetPos(setpos.a0, setpos.a1, setpos.a2, setpos.a3, setpos.a4, setpos.a5, setpos.a6 != 0.0f);
            }
            break;

            default:
                return;
            }
        }

        if (things.ContainsKey(id))
        {
            things[id].SetPos(setpos.a0, setpos.a1, setpos.a2, setpos.a3, setpos.a4, setpos.a5, setpos.a6, setpos.a7 != 0.0f);
        }

        if (tables.ContainsKey(id))
        {
            tables[id].SetPos(setpos.a0, setpos.a1, setpos.a2, setpos.a3, setpos.a4, setpos.a5, setpos.a6, setpos.a7 != 0.0f);
        }

        return;
    }