Esempio n. 1
0
        public void ConvertRectTransformToTransform()
        {
            IsUI = false;
            QuickPolygon copy = Create("", ShapeMeshIndex, false);

            copy.transform.name       = name;
            copy.transform.position   = transform.position;
            copy.transform.rotation   = transform.rotation;
            copy.transform.localScale = transform.localScale;
            List <Component> componentList = new List <Component>(GetComponents <Component>());

            for (int i = 0; i < componentList.Count; i++)
            {
                if (componentList[i].GetComponent <Transform>() && componentList[i].GetComponent <MeshFilter>() && componentList[i].GetComponent <MeshRenderer>() && componentList[i].GetComponent <QuickPolygon>())
                {
                    componentList.Remove(GetComponent <Transform>());
                    componentList.Remove(GetComponent <MeshFilter>());
                    componentList.Remove(GetComponent <MeshRenderer>());
                    componentList.Remove(GetComponent <QuickPolygon>());
                }
                if (componentList.Count > 0)
                {
                    copy.gameObject.AddComponent(componentList[0].GetType());
                }
            }
            SerializationClass.Deserialize(copy, SerializationClass.Serialize(this), true);
            Helpers.Destroy(this.gameObject);
                        #if UNITY_EDITOR
            if (!Application.isPlaying)
            {
                Selection.activeObject = copy.gameObject;
            }
                        #endif
            RecalculateMesh();
        }
Esempio n. 2
0
 public static void LoadPresetFor(PresetsRecord presetRecord, QuickPolygon shape, bool loadMesh = false)
 {
     if (presetRecord == null)
     {
         throw new Exception(MSG.Errors.PRESET_LOAD_NOT_EXIST);
     }
     else
     {
         lastGOpreset = presetsContainer.GetObjectID(presetRecord);
         presetRecord.timesUsed++;
         SerializationClass.Deserialize(shape, presetRecord.polySerialised, shape.AllowLoadPresetGeometry);
         shape.CurrentPresetName = presetRecord.name;
         if (loadMesh)
         {
             shape.ShapeMeshIndex = (MeshType)presetRecord.meshType;
         }
     }
 }