using System.Collections; using System.Collections.Generic; using UnityEngine; public class DragDrop : MonoBehaviour { private static Vector2[] P=new Vector2[24]; public static void createPlan() { print("create plan"); GameObject ROOMPLAN = new GameObject("ROOMPLAN"); setRoom(ROOMPLAN); } public static void setRoom(GameObject ROOMPLAN){ //float OFS=40; for(int i=1; i<_G.NW+1; i++){ P[i-1]=_G.wP[i-1]; } if(_G.ROOM!="R7" && _G.ROOM!="R8") { WR(ROOMPLAN, Color.black); P[1-1]=Check6(_G.wP[_G.NW-1],_G.wP[1-1],_G.wP[2-1]); for(int i=2; i<_G.NW; i++){ P[i-1]=Check6(_G.wP[i-2],_G.wP[i-1],_G.wP[i]); } P[_G.NW-1]=Check6(_G.wP[_G.NW-2],_G.wP[_G.NW-1],_G.wP[1-1]); WR(ROOMPLAN, Color.black); for(int i=1; i<_G.NW; i++){ //COTE(OFS, "dim", ROOMPLAN, _G.wP[i-1], _G.wP[i],Color.black,"N"); } //COTE(OFS, "dim", ROOMPLAN, _G.wP[_G.NW-1], _G.wP[1-1],Color.black,"N"); } if(_G.ROOM=="R7" ){ WR7(ROOMPLAN, Color.black); //COTE(OFS, "dim", ROOMPLAN, _G.wP[1-1], _G.wP[2-1],Color.black,"N"); //COTE(OFS, "dim", ROOMPLAN, _G.wP[4-1], _G.wP[1-1],Color.black,"N"); } if(_G.ROOM=="R8"){ WR8(ROOMPLAN, Color.black); //COTE(OFS, "dim", ROOMPLAN, _G.wP[1-1], _G.wP[2-1],Color.black,"N"); //COTE(OFS, "dim", ROOMPLAN, _G.wP[4-1], _G.wP[1-1],Color.black,"N"); } } public static GameObject WR(GameObject R, Color Col){ GameObject L = new GameObject("Fl", typeof(RectTransform)); L.AddComponent(); LineRenderer line = L.GetComponent(); line.positionCount = _G.NW + 1; line.startWidth = _G.LS; line.endWidth = _G.LS; for(int i=1; i<_G.NW+1; i++){ line.SetPosition(i-1, P[i-1]); } line.SetPosition(_G.NW, P[1-1]); line.material = new Material(Shader.Find("Sprites/Default")); line.material.color = Col; line.useWorldSpace = true; L.transform.parent = GameObject.Find("PLAN").transform; L.transform.SetParent(R.transform); L.layer = 10; return L; } public static GameObject WR7(GameObject R, Color Col){ GameObject L = new GameObject("Fl", typeof(RectTransform)); L.AddComponent(); LineRenderer line = L.GetComponent(); line.positionCount = 9; line.startWidth = _G.LS; line.endWidth = _G.LS; print("Ok ROOMMM 7"); line.SetPosition(0, P[4-1]); print("P[4-1]===="+P[4-1]); line.SetPosition(1, P[1-1]); line.SetPosition(2, P[2-1]); line.SetPosition(3, P[3-1]); Vector2 Po=new Vector2(P[3-1].x+6,P[3-1].y); line.SetPosition(4, Po); Po=new Vector2(P[2-1].x+6,P[2-1].y+6); line.SetPosition(5, Po); Po=new Vector2(P[1-1].x-6,P[1-1].y+6); line.SetPosition(6, Po); Po=new Vector2(P[4-1].x-6,P[4-1].y); line.SetPosition(7, Po); line.SetPosition(8, P[4-1]); line.material = new Material(Shader.Find("Sprites/Default")); line.material.color = Col; line.useWorldSpace = true; L.transform.parent = GameObject.Find("PLAN").transform; L.transform.SetParent(R.transform); L.layer = 10; return L; } public static GameObject WR8(GameObject R, Color Col){ GameObject L = new GameObject("Fl", typeof(RectTransform)); L.AddComponent(); LineRenderer line = L.GetComponent(); line.positionCount = 7; line.startWidth = _G.LS; line.endWidth = _G.LS; line.SetPosition(0, P[4-1]); print("P[4-1]===="+P[4-1]); line.SetPosition(1, P[1-1]); line.SetPosition(2, P[2-1]); Vector2 Po=new Vector2(P[2-1].x,P[2-1].y+6); line.SetPosition(3, Po); Po=new Vector2(P[1-1].x-6, P[1-1].y+6); line.SetPosition(4, Po); Po=new Vector2(P[4-1].x-6,P[4-1].y); line.SetPosition(5, Po); line.SetPosition(6, P[4-1]); line.material = new Material(Shader.Find("Sprites/Default")); line.material.color = Col; line.useWorldSpace = true; L.transform.parent = GameObject.Find("PLAN").transform; L.transform.SetParent(R.transform); L.layer = 10; return L; } public static Vector2 Check6(Vector2 P1,Vector2 P2, Vector2 P3){ int sb=DRAW.sense(P1,P2); int sa=DRAW.sense(P2,P3); //print("sb==="+sb+" sa==="+sa); if(sb==1 && sa==1 ){P2.x=0; P2.y+=6;} if(sb==2 && sa==1 ){P2.x+=2.5f; P2.y+=6;} if(sb==3 && sa==1 ){P2.x+=6; P2.y+=6;} if(sb==4 && sa==1 ){P2.x+=14.5f; P2.y+=6;} //if(sb==5 && sa==1 ){P2.x-=6; P2.y+=6;} if(sb==6 && sa==1 ){P2.x-=14.5f; P2.y+=6;} if(sb==7 && sa==1 ){P2.x-=6; P2.y+=6;} if(sb==8 && sa==1 ){P2.x-=2.5f; P2.y+=6;} if(sb==1 && sa==2 ){P2.x+=2.5f; P2.y+=6;} if(sb==2 && sa==2 ){P2.x+=6*0.707f; P2.y+=6*0.707f;} if(sb==3 && sa==2 ){P2.x+=6; P2.y+=2.5f;} if(sb==4 && sa==2 ){P2.x+=6/0.707f; P2.y-=0;} if(sb==5 && sa==2 ){P2.x+=14.5f; P2.y-=6;} //if(sb==6 && sa==2 ){P2.x-=6; P2.y+=6;} if(sb==7 && sa==2 ){P2.x-=6; P2.y+=14.5f;} if(sb==8 && sa==2 ){P2.x-=0; P2.y+=6/0.707f;} if(sb==1 && sa==3 ){P2.x+=6; P2.y+=6;} if(sb==2 && sa==3 ){P2.x+=6; P2.y+=2.5f;} if(sb==3 && sa==3 ){P2.x+=6; P2.y+=0;} if(sb==4 && sa==3 ){P2.x+=6; P2.y-=2.5f;} if(sb==5 && sa==3 ){P2.x+=6; P2.y-=6;} if(sb==6 && sa==3 ){P2.x+=6; P2.y-=14.5f;} //if(sb==7 && sa==3 ){P2.x+=6; P2.y+=6;} if(sb==8 && sa==3 ){P2.x+=6; P2.y+=14.5f;} if(sb==1 && sa==4 ){P2.x+=6; P2.y+=2.5f;} if(sb==2 && sa==4 ){P2.x+=6/0.707f; P2.y+=0;} if(sb==3 && sa==4 ){P2.x+=6; P2.y-=2.5f;} if(sb==4 && sa==4 ){P2.x+=6/0.707f; P2.y-=6/0.707f;} if(sb==5 && sa==4 ){P2.x+=2.5f; P2.y-=6;} if(sb==6 && sa==4 ){P2.x-=0; P2.y-=6/0.707f;} if(sb==7 && sa==4 ){P2.x-=6; P2.y-=14.5f;} //if(sb==8 && sa==4 ){P2.x-=6; P2.y+=6;} //if(sb==1 && sa==5 ){P2.x-=6; P2.y+=6;} if(sb==2 && sa==5 ){P2.x+=14.5f; P2.y-=6;} if(sb==3 && sa==5 ){P2.x+=6; P2.y-=6;} if(sb==4 && sa==5 ){P2.x+=2.5f; P2.y-=6;} if(sb==5 && sa==5 ){P2.x+=0; P2.y-=6;} if(sb==6 && sa==5 ){P2.x-=2.5f; P2.y-=6;} if(sb==7 && sa==5 ){P2.x-=6; P2.y-=6;} if(sb==8 && sa==5 ){P2.x-=14.5f; P2.y-=6;} if(sb==1 && sa==6 ){P2.x+=14.5f; P2.y-=6;} //if(sb==2 && sa==6 ){P2.x-=6; P2.y+=6;} if(sb==3 && sa==6 ){P2.x+=6; P2.y-=14.5f;} if(sb==4 && sa==6 ){P2.x+=0; P2.y-=6/0.707f;} if(sb==5 && sa==6 ){P2.x-=2.5f; P2.y-=6;} if(sb==6 && sa==6 ){P2.x-=6*0.707f; P2.y-=6*0.707f;} if(sb==7 && sa==6 ){P2.x-=6; P2.y-=2.5f;} if(sb==8 && sa==6 ){P2.x-=6/0.707f; P2.y+=0;} if(sb==1 && sa==7 ){P2.x-=6; P2.y+=6;} if(sb==2 && sa==7 ){P2.x-=6; P2.y+=14.5f;} //if(sb==3 && sa==7 ){P2.x-=6; P2.y+=6;} if(sb==4 && sa==7 ){P2.x-=6; P2.y-=14.5f;} if(sb==5 && sa==7 ){P2.x-=6; P2.y-=6;} if(sb==6 && sa==7 ){P2.x-=6; P2.y-=2.5f;} if(sb==7 && sa==7 ){P2.x-=6; P2.y+=0;} if(sb==8 && sa==7 ){P2.x-=6; P2.y+=2.5f;} if(sb==1 && sa==8 ){P2.x-=2.5f; P2.y+=6;} if(sb==2 && sa==8 ){P2.x+=0; P2.y+=6/0.707f;} if(sb==3 && sa==8 ){P2.x+=6; P2.y+=14.5f;} //if(sb==4 && sa==8 ){P2.x-=6; P2.y+=6;} if(sb==5 && sa==8 ){P2.x-=14.5f; P2.y-=6;} if(sb==6 && sa==8 ){P2.x-=6*0.707f; P2.y+=6*0.707f;} if(sb==7 && sa==8 ){P2.x-=6; P2.y+=2.5f;} if(sb==8 && sa==8 ){P2.x-=6*0.707f; P2.y+=6*0.707f;} return P2; } }