public void removeFromList(){ if (lastElement != null) lastElement.nextElement = nextElement; if (nextElement != null) nextElement.lastElement = lastElement; lastElement = null; nextElement = null; }
// Use this for initialization void Start () { originalPosition = transform.localPosition; tiles = new SkwerTile[9,8]; stack = new int[3]; stackOrder = new int[50]; stackOrderElements = new StackOrderElement[50]; for (int i=0; i<50; i++) stackOrderElements[i] = new StackOrderElement(); tiles[2,2] = transform.FindChild("Tile00").GetComponent<GameTile>(); tiles[3,2] = transform.FindChild("Tile10").GetComponent<GameTile>(); tiles[4,2] = transform.FindChild("Tile20").GetComponent<GameTile>(); tiles[5,2] = transform.FindChild("Tile30").GetComponent<GameTile>(); tiles[6,2] = transform.FindChild("Tile40").GetComponent<GameTile>(); tiles[2,3] = transform.FindChild("Tile01").GetComponent<GameTile>(); tiles[3,3] = transform.FindChild("Tile11").GetComponent<GameTile>(); tiles[4,3] = transform.FindChild("Tile21").GetComponent<GameTile>(); tiles[5,3] = transform.FindChild("Tile31").GetComponent<GameTile>(); tiles[6,3] = transform.FindChild("Tile41").GetComponent<GameTile>(); tiles[2,4] = transform.FindChild("Tile02").GetComponent<GameTile>(); tiles[3,4] = transform.FindChild("Tile12").GetComponent<GameTile>(); tiles[4,4] = transform.FindChild("Tile22").GetComponent<GameTile>(); tiles[5,4] = transform.FindChild("Tile32").GetComponent<GameTile>(); tiles[6,4] = transform.FindChild("Tile42").GetComponent<GameTile>(); tiles[2,5] = transform.FindChild("Tile03").GetComponent<GameTile>(); tiles[3,5] = transform.FindChild("Tile13").GetComponent<GameTile>(); tiles[4,5] = transform.FindChild("Tile23").GetComponent<GameTile>(); tiles[5,5] = transform.FindChild("Tile33").GetComponent<GameTile>(); tiles[6,5] = transform.FindChild("Tile43").GetComponent<GameTile>(); tiles[0,0] = GameObject.Find("SupportingTile00").GetComponent<SupportingTile>(); tiles[0,1] = GameObject.Find("SupportingTile01").GetComponent<SupportingTile>(); tiles[0,2] = GameObject.Find("SupportingTile02").GetComponent<SupportingTile>(); tiles[0,3] = GameObject.Find("SupportingTile03").GetComponent<SupportingTile>(); tiles[0,4] = GameObject.Find("SupportingTile04").GetComponent<SupportingTile>(); tiles[0,5] = GameObject.Find("SupportingTile05").GetComponent<SupportingTile>(); tiles[0,6] = GameObject.Find("SupportingTile06").GetComponent<SupportingTile>(); tiles[0,7] = GameObject.Find("SupportingTile07").GetComponent<SupportingTile>(); tiles[1,0] = GameObject.Find("SupportingTile10").GetComponent<SupportingTile>(); tiles[1,1] = GameObject.Find("SupportingTile11").GetComponent<SupportingTile>(); tiles[1,2] = GameObject.Find("SupportingTile12").GetComponent<SupportingTile>(); tiles[1,3] = GameObject.Find("SupportingTile13").GetComponent<SupportingTile>(); tiles[1,4] = GameObject.Find("SupportingTile14").GetComponent<SupportingTile>(); tiles[1,5] = GameObject.Find("SupportingTile15").GetComponent<SupportingTile>(); tiles[1,6] = GameObject.Find("SupportingTile16").GetComponent<SupportingTile>(); tiles[1,7] = GameObject.Find("SupportingTile17").GetComponent<SupportingTile>(); tiles[2,0] = GameObject.Find("SupportingTile20").GetComponent<SupportingTile>(); tiles[2,1] = GameObject.Find("SupportingTile21").GetComponent<SupportingTile>(); tiles[2,6] = GameObject.Find("SupportingTile26").GetComponent<SupportingTile>(); tiles[2,7] = GameObject.Find("SupportingTile27").GetComponent<SupportingTile>(); tiles[3,0] = GameObject.Find("SupportingTile30").GetComponent<SupportingTile>(); tiles[3,1] = GameObject.Find("SupportingTile31").GetComponent<SupportingTile>(); tiles[3,6] = GameObject.Find("SupportingTile36").GetComponent<SupportingTile>(); tiles[3,7] = GameObject.Find("SupportingTile37").GetComponent<SupportingTile>(); tiles[4,0] = GameObject.Find("SupportingTile40").GetComponent<SupportingTile>(); tiles[4,1] = GameObject.Find("SupportingTile41").GetComponent<SupportingTile>(); tiles[4,6] = GameObject.Find("SupportingTile46").GetComponent<SupportingTile>(); tiles[4,7] = GameObject.Find("SupportingTile47").GetComponent<SupportingTile>(); tiles[5,0] = GameObject.Find("SupportingTile50").GetComponent<SupportingTile>(); tiles[5,1] = GameObject.Find("SupportingTile51").GetComponent<SupportingTile>(); tiles[5,6] = GameObject.Find("SupportingTile56").GetComponent<SupportingTile>(); tiles[5,7] = GameObject.Find("SupportingTile57").GetComponent<SupportingTile>(); tiles[6,0] = GameObject.Find("SupportingTile60").GetComponent<SupportingTile>(); tiles[6,1] = GameObject.Find("SupportingTile61").GetComponent<SupportingTile>(); tiles[6,6] = GameObject.Find("SupportingTile66").GetComponent<SupportingTile>(); tiles[6,7] = GameObject.Find("SupportingTile67").GetComponent<SupportingTile>(); tiles[7,0] = GameObject.Find("SupportingTile70").GetComponent<SupportingTile>(); tiles[7,1] = GameObject.Find("SupportingTile71").GetComponent<SupportingTile>(); tiles[7,2] = GameObject.Find("SupportingTile72").GetComponent<SupportingTile>(); tiles[7,3] = GameObject.Find("SupportingTile73").GetComponent<SupportingTile>(); tiles[7,4] = GameObject.Find("SupportingTile74").GetComponent<SupportingTile>(); tiles[7,5] = GameObject.Find("SupportingTile75").GetComponent<SupportingTile>(); tiles[7,6] = GameObject.Find("SupportingTile76").GetComponent<SupportingTile>(); tiles[7,7] = GameObject.Find("SupportingTile77").GetComponent<SupportingTile>(); tiles[8,0] = GameObject.Find("SupportingTile80").GetComponent<SupportingTile>(); tiles[8,1] = GameObject.Find("SupportingTile81").GetComponent<SupportingTile>(); tiles[8,2] = GameObject.Find("SupportingTile82").GetComponent<SupportingTile>(); tiles[8,3] = GameObject.Find("SupportingTile83").GetComponent<SupportingTile>(); tiles[8,4] = GameObject.Find("SupportingTile84").GetComponent<SupportingTile>(); tiles[8,5] = GameObject.Find("SupportingTile85").GetComponent<SupportingTile>(); tiles[8,6] = GameObject.Find("SupportingTile86").GetComponent<SupportingTile>(); tiles[8,7] = GameObject.Find("SupportingTile87").GetComponent<SupportingTile>(); game = GameObject.Find("Game").GetComponent<Game>(); drawingPuzzleCounter = drawingPuzzlePeriod; }
public void setPuzzle(){ for (int i=2; i<7; i++) for (int j=2; j<6; j++) tiles[i,j].blockInput(); stack[0] = 0; stack[1] = 0; stack[2] = 0; for (int i=0; i<9; i++) for (int j=0; j<8; j++){ tiles[i,j].stateChange(false); while (tiles[i,j].state != puzzle.baseState) tiles[i,j].stateChange(false); tiles[i,j].resetTile(); tiles[i,j].stopPreviewRotate(); tiles[i,j].pause(); } firstStackOrderElement = stackOrderElements[0]; lastStackOrderElement = null; for (int i=0; i<puzzle.size; i++){ tiles[puzzle.tiles[i]/4+2,puzzle.tiles[i]%4+2].tileAction(false); stackOrder[i] = tiles[puzzle.tiles[i]/4+2,puzzle.tiles[i]%4+2].state; stackOrderElements[i].state = stackOrder[i]; stackOrderElements[i].addToList(lastStackOrderElement); lastStackOrderElement = stackOrderElements[i]; stack[tiles[puzzle.tiles[i]/4+2,puzzle.tiles[i]%4+2].state]++; } game.puzzleBaseState = puzzle.baseState; game.puzzleStack[0] = stack[0]; game.puzzleStack[1] = stack[1]; game.puzzleStack[2] = stack[2]; game.puzzleNumMoves = puzzle.size; }
public StackOrderElement (){ lastElement = null; nextElement = null; state = 0; }
public void addToList(StackOrderElement last){ lastElement = last; if (lastElement != null) lastElement.nextElement = this; }