Example #1
0
        public void DeserializeAttachments(Hashtable attachments)
        {
            foreach (var o in attachments)
            {
                if (o.Value == null)
                {
                    continue;
                }
                HumanBodyBones bone = (HumanBodyBones)o.Key;
                Hashtable      atts = (Hashtable)o.Value;

                foreach (var att in atts)
                {
                    string prefabName = (string)att.Key;

                    GameObject prefab = DB.GetAttachmentPrefab(prefabName);
                    if (prefab == null)
                    {
#if UNITY_EDITOR
                        Debug.LogWarningFormat(ATTACHMENT_ERROR, prefabName);
#endif
                        continue;
                    }
                    string[] arr      = (att.Value as string).Split(new string[] { SPLIT_STRING }, System.StringSplitOptions.RemoveEmptyEntries);
                    Vector3  position = StringToVector3(arr[0]);
                    Vector3  rotation = StringToVector3(arr[1]);

                    characterAttachments.Remove(bone);
                    characterAttachments.Attach(bone, prefab, position, Quaternion.Euler(rotation));
                }
            }
        }