//选中某个部件 public void SetSelectResObj(Transform t) { ResDragItem oldDragItem = curResDragItem; Transform oldObj = curSelectResObj; curSelectResObj = t; if (oldObj == null) { if (t == null) { ImageScaleSlider.gameObject.SetActive(false); return; } curResDragItem = curSelectResObj.GetComponent <ResDragItem>(); curResDragItem.SetOutline(true); } else { if (t == null) { oldDragItem.SetOutline(false); ImageScaleSlider.gameObject.SetActive(false); return; } if (oldObj.GetInstanceID() != t.GetInstanceID()) { oldDragItem.SetOutline(false); curResDragItem = curSelectResObj.GetComponent <ResDragItem>(); curResDragItem.SetOutline(true); } else { return; } } //以下是t不为空,且与old不是同一个物体才会执行的 //if (ImageScaleSlider.gameObject.activeSelf == false) //{ // ImageScaleSlider.gameObject.SetActive(true); //} //float scale = t.localScale.x - 0.5f; //Debug.Log(scale); //ImageScaleSlider.value = scale; t.SetAsLastSibling(); }
public void LoadFileAnimal(PartDataWhole _whole) { if (_whole == null) { Debug.LogError("file is null:" + _whole.JoinType); } List <PartData> part = _whole.PartDataList; for (int i = 0; i < part.Count; i++) { PartType partType = part[i].PType; if (partType != PartType.Body && partType != PartType.Pixels && partType != PartType.drawPixels) { Vector3 pos = new Vector3(part[i].Pos[0], part[i].Pos[1], part[i].Pos[2]); Vector3 scale = new Vector3(part[i].Scale[0], part[i].Scale[1], part[i].Scale[2]); Debug.Log(pos); GameObject obj = null; string path = "Prefabs/join|gen_res"; if (partType == PartType.LeftHand || partType == PartType.RightHand || partType == PartType.LeftLeg || partType == PartType.RightLeg)//手脚 { obj = UIHelper.instance.LoadPrefab(path, joinMainView.HandLegCG.transform, pos, scale); } else if (partType == PartType.TrueBody) { obj = UIHelper.instance.LoadPrefab(path, joinMainView.TrueBodyCG.transform, pos, scale); } else if (partType == PartType.Head) { joinMainView.targetHeadPos = pos; obj = UIHelper.instance.LoadPrefab(path, joinMainView.HeadCG.transform, Vector3.zero, Vector3.one, false); joinMainView.EyeMouthHairCG.transform.SetParent(obj.transform); obj.transform.localScale = scale; obj.transform.localPosition = pos; } else if (partType == PartType.LeftEye || partType == PartType.RightEye || partType == PartType.Mouth || partType == PartType.Hair) { obj = UIHelper.instance.LoadPrefab(path, joinMainView.EyeMouthHairCG.transform, pos, scale); } else if (partType == PartType.Hat || partType == PartType.HeadWear) { obj = UIHelper.instance.LoadPrefab(path, joinMainView.HatHeadwearCG.transform, pos, scale); } Image img = obj.transform.GetComponent <Image>(); Texture2D t = new Texture2D(500, 500, TextureFormat.RGBA32, false); t.filterMode = FilterMode.Point; t.LoadImage(part[i].ImgBytes); t.Apply(false); Sprite s = Sprite.Create(t, new Rect(0, 0, t.width, t.height), new Vector2(0.5f, 0.5f)); img.sprite = s; img.SetNativeSize(); obj.transform.localScale = scale; ResDragItem item = obj.GetComponent <ResDragItem>(); if (item == null) { item = obj.AddComponent <ResDragItem>(); } item.partType = partType; item.LoadInitItem(partType, s); } } }
public void LoadFile(PartDataWhole _whole) { Texture2D drawTexture = null; List <PartData> part = _whole.PartDataList; for (int i = 0; i < part.Count; i++) { PartType partType = part[i].PType; if (partType != PartType.Body && partType != PartType.Pixels && partType != PartType.drawPixels) { Vector3 pos = new Vector3(part[i].Pos[0], part[i].Pos[1], part[i].Pos[2]); Vector3 scale = new Vector3(part[i].Scale[0], part[i].Scale[1], part[i].Scale[2]); GameObject obj = null; string path = "Prefabs/join|gen_res"; if (partType == PartType.LeftHand || partType == PartType.RightHand || partType == PartType.LeftLeg || partType == PartType.RightLeg)//手脚 { obj = UIHelper.instance.LoadPrefab(path, joinMainView.HandLegCG.transform, pos, scale); } else if (partType == PartType.LeftEye || partType == PartType.RightEye || partType == PartType.Mouth || partType == PartType.Hair) { obj = UIHelper.instance.LoadPrefab(path, joinMainView.EyeMouthHairCG.transform, pos, scale); } else if (partType == PartType.Hat || partType == PartType.HeadWear) { obj = UIHelper.instance.LoadPrefab(path, joinMainView.HatHeadwearCG.transform, pos, scale); } Image img = obj.transform.GetComponent <Image>(); Texture2D t = new Texture2D(500, 500, TextureFormat.RGBA32, false); t.filterMode = FilterMode.Point; t.LoadImage(part[i].ImgBytes); t.Apply(false); Sprite s = Sprite.Create(t, new Rect(0, 0, t.width, t.height), new Vector2(0.5f, 0.5f)); img.sprite = s; img.SetNativeSize(); obj.transform.localScale = scale; ResDragItem item = obj.GetComponent <ResDragItem>(); if (item == null) { item = obj.AddComponent <ResDragItem>(); } item.partType = partType; item.LoadInitItem(partType, s); } else { //不管 if (partType == PartType.Body) { Texture2D t = new Texture2D(500, 500, TextureFormat.RGBA32, false); t.filterMode = FilterMode.Point; t.LoadImage(part[i].ImgBytes); t.Apply(false); drawTexture = t; } } } if (joinMainView.mobilePaint != null) { Texture2D t = new Texture2D(500, 500, TextureFormat.RGBA32, false); t.filterMode = FilterMode.Point; t.LoadImage(_whole.DrawTexture); t.Apply(false); joinMainView.mobilePaint.SetPixelsTest(t, drawTexture); } }