private void processMessage(String json)
    {
        var skeletonEvent = JsonConvert.DeserializeObject <BAALLClient.Portable.Data.Event>(json);

        if (skeletonEvent.SkeletonUpdatedEvent != null)
        {
            var skeleton = skeletonEvent.SkeletonUpdatedEvent.skeleton;
            if (!skeletons.ContainsKey(skeleton.SkeletonID))
            {
                BAALLClient.Portable.Data.Model.Joint headJoint = skeleton.GetJoint(Skeleton.HEAD);
                Debug.Log(JsonConvert.SerializeObject(skeletonEvent));
                Debug.Log(headJoint);
                var skeletonObject = Instantiate(SkeletonPrefab, new Vector3(headJoint.x, headJoint.y, headJoint.z), Quaternion.Euler(new Vector3(0, 0, 0)));
                skeletonObject.transform.SetParent(RootObject.transform, false);
                skeletonObject.transform.localPosition = new Vector3(0, 0, 0);
                skeletons.Add(skeleton.SkeletonID, skeletonObject);
                foreach (var part in skeletonObject.GetComponent <RenderSkeleton>().partMap)
                {
                    part.Value.transform.SetParent(skeletonObject.transform);
                }
            }
            GameObject sObject = null;
            skeletons.TryGetValue(skeleton.SkeletonID, out sObject);
            var renderScript = sObject.GetComponent <RenderSkeleton>();
            renderScript.Skeleton = skeleton;
        }
        if (skeletonEvent.SkeletonLostEvent != null)
        {
            Debug.Log("SKELETON LOST");
            GameObject skeleton = null;
            skeletons.TryGetValue(skeletonEvent.SkeletonLostEvent.Identifier, out skeleton);
            if (skeleton != null)
            {
                Destroy(skeleton);
                skeletons.Remove(skeletonEvent.SkeletonLostEvent.Identifier);
            }
        }
    }
Exemple #2
0
    private Vector3 processJoint(BAALLClient.Portable.Data.Model.Joint joint)
    {
        var jointVector = new Vector3(joint.x, joint.y, joint.z);

        return(jointVector);
    }