using System.Collections; using System.Collections.Generic; using UnityEngine; public class addWinner : MonoBehaviour { public static void AddingOnWinner(GameObject BASE, List div, float d, float ROWY,float W, string texb){ float wo=0; float ho=0; float xp=0; if(div.Count>0){ if(div[0]=="w"){ wo=DOIT.ConvertStringToNumber(div[1]); ho=DOIT.ConvertStringToNumber(div[2]); xp=-W/2+wo/2; addW(BASE,"W-1",wo,ho,d,xp,ROWY, texb); } } if(div.Count>4){ //print("div[4]===="+div[4]); if(div[4]=="w"){ wo=DOIT.ConvertStringToNumber(div[4+1]); ho=DOIT.ConvertStringToNumber(div[4+2]); xp=-W/2+wo/2+DOIT.ConvertStringToNumber(div[1]); addW(BASE,"W-2",wo,0.625f,d,xp,ROWY, texb); } } if(div.Count>8){ if(div[8]=="w"){ wo=DOIT.ConvertStringToNumber(div[8+1]); ho=DOIT.ConvertStringToNumber(div[8+2]); xp=-W/2+wo/2+DOIT.ConvertStringToNumber(div[1])+DOIT.ConvertStringToNumber(div[8+1]); addW(BASE,"W-3",wo,0.625f,d,xp,ROWY, texb); } } if(div.Count>12){ if(div[12]=="w"){ wo=DOIT.ConvertStringToNumber(div[12+1]); ho=DOIT.ConvertStringToNumber(div[12+2]); xp=-W/2+wo/2+DOIT.ConvertStringToNumber(div[1])+DOIT.ConvertStringToNumber(div[4+1])+DOIT.ConvertStringToNumber(div[8+1]); addW(BASE,"W-4",wo,0.625f,d,xp,ROWY, texb); } } } public static void addW(GameObject BASE,string n,float W, float HT, float D, float x, float y,string texb){ GameObject WINER = new ("WINER"); float t= 0.5f; print("HT===="+HT); int qtyH=(int)Mathf.Floor(HT/6); int qty=(int)Mathf.Floor(W/6); print("qtyH===="+qtyH); print("qtyW===="+qty); if(qtyH%2==1){//center ??? print("qtyH%2==1===="+qty); addlinecube(WINER,qty,0,D - t,texb); for(int i=1; i< (qtyH-1)/2+1 ; i++){ float py= i*6; addlinecube(WINER,qty,py,D - t,texb); addlinecube(WINER,qty,-py,D - t,texb); } } if(qtyH%2==0){ print("qtyH%2==0===="+qty); for(int i=1; i< qtyH/2+1 ; i++){ float py = i*3+(i-1)*3; addlinecube(WINER,qty,py,D - t,texb); addlinecube(WINER,qty,-py,D - t,texb); } } WINER.transform.position = new Vector3(0, y, 0); WINER.transform.localScale = new Vector3((W-t*2)/(qty*6), (HT-1)/(qtyH*6), 1); WINER.transform.SetParent(BASE.transform, true); } public static void addlinecube(GameObject WINER,int qty,float y,float D,string texb){ if(qty%2==1){ addcube(WINER,0,y,D ,texb); //center ??? for(int i=1; i< (qty-1)/2+1 ; i++){ float px = 2*i*3; addcube(WINER,-px,y,D ,texb); addcube(WINER,px,y,D ,texb); } } if(qty%2==0){ for(int i=1; i< qty/2+1 ; i++){ float px = i*3+(i-1)*3; addcube(WINER,-px,y,D ,texb); addcube(WINER,px,y,D ,texb); } } } public static void addcube(GameObject WINER,float x,float y,float D,string texb){ GameObject W1 = CreateBoxPnl.Shelf("W1", 6 * 0.707f, 0.385f, D, -1.5f+x, 1.5f+y, 0, 0, 0, 45, texb); W1.transform.SetParent(WINER.transform, true); GameObject W2 = CreateBoxPnl.Shelf("W2", 6 * 0.707f, 0.385f, D, 1.5f+x, 1.5f+y,0, 0, 0, -45, texb); W2.transform.SetParent(WINER.transform, true); GameObject W3 = CreateBoxPnl.Shelf("W1", 6 * 0.707f, 0.385f, D, 1.5f+x, -1.5f+y, 0, 0, 0, 45, texb); W3.transform.SetParent(WINER.transform, true); GameObject W4 = CreateBoxPnl.Shelf("W2", 6 * 0.707f, 0.385f, D, -1.5f+x, -1.5f+y, 0, 0, 0, -45, texb); W4.transform.SetParent(WINER.transform, true); } }