Example #1
0
        public static void Load(int userId = 1)
        {
            var folderpath = "Mannequins/";

            _male   = UtilityLight.LoadGameObject(folderpath + "slim_male");
            _female = UtilityLight.LoadGameObject(folderpath + "slim_female");
            GenerateModel("female");
            Database.GetDatabase().LoadAvatar(userId, PlaceModelIntoCamera);
        }
        public static void Deserialize(byte[] data, GameObject Parent)
        {
            var deserializedList = ByteArrayToObject(data) as List <SerializedGameObject>;

            foreach (var serializedGameObject in deserializedList)
            {
                var obj = UtilityLight.FindAll(serializedGameObject.Name, Parent);
                obj.SetActive(serializedGameObject.IsActive);
                obj.transform.localPosition = new Vector3(serializedGameObject.LocalPositionX, serializedGameObject.LocalPositionY, serializedGameObject.LocalPositionZ);
                obj.transform.localRotation = new Quaternion(serializedGameObject.LocalRotationX, serializedGameObject.LocalRotationY, serializedGameObject.LocalRotationZ, serializedGameObject.LocalRotationW);
                obj.transform.position      = new Vector3(serializedGameObject.PositionX, serializedGameObject.PositionY, serializedGameObject.PositionZ);
                obj.transform.rotation      = new Quaternion(serializedGameObject.RotationX, serializedGameObject.RotationY, serializedGameObject.RotationZ, serializedGameObject.RotationW);
                obj.transform.localScale    = new Vector3(serializedGameObject.LocalScaleX, serializedGameObject.LocalScaleY, serializedGameObject.LocalScaleZ);

                if (serializedGameObject.MaterialColor != null)
                {
                    obj.transform.GetComponent <Renderer>().material.color = UtilityLight.HexToColor(serializedGameObject.MaterialColor);
                }
            }
        }
        public SerializedGameObject(GameObject baseObject)
        {
            PositionX = baseObject.transform.position.x;
            PositionY = baseObject.transform.position.y;
            PositionZ = baseObject.transform.position.z;

            RotationW = baseObject.transform.rotation.w;
            RotationX = baseObject.transform.rotation.x;
            RotationY = baseObject.transform.rotation.y;
            RotationZ = baseObject.transform.rotation.z;

            LocalPositionX = baseObject.transform.localPosition.x;
            LocalPositionY = baseObject.transform.localPosition.y;
            LocalPositionZ = baseObject.transform.localPosition.z;

            LocalRotationW = baseObject.transform.localRotation.w;
            LocalRotationX = baseObject.transform.localRotation.x;
            LocalRotationY = baseObject.transform.localRotation.y;
            LocalRotationZ = baseObject.transform.localRotation.z;


            LocalScaleX = baseObject.transform.localScale.x;
            LocalScaleY = baseObject.transform.localScale.y;
            LocalScaleZ = baseObject.transform.localScale.z;


            Name     = baseObject.name;
            IsActive = baseObject.activeSelf;
            if (baseObject.transform.parent != null)
            {
                Parent = baseObject.transform.parent.name;
            }
            if (baseObject.transform.GetComponent <Renderer>() != null)
            {
                MaterialColor = UtilityLight.ColorToHex(baseObject.transform.GetComponent <Renderer>().material.color);
            }
        }