public void swapBlock(BlockControl block0, Block.DIR4 dir, BlockControl block1) { // それぞれのブロックの色を覚えておく Block.COLOR color0 = block0.color; Block.COLOR color1 = block1.color; // それぞれのブロックの拡大率を覚えておく Vector3 scale0 = block0.transform.localScale; Vector3 scale1 = block1.transform.localScale; // それぞれのブロックの「消える時間」を覚えておく float vanish_timer0 = block0.vanish_timer; float vanish_timer1 = block1.vanish_timer; // それぞれのブロックの移動先を求める Vector3 offset0 = BlockRoot.getDirVector(dir); Vector3 offset1 = BlockRoot.getDirVector(BlockRoot.getOppositDir(dir)); // 色を入れ替える block0.setColor(color1); block1.setColor(color0); // 拡大率を入れ替える block0.transform.localScale = scale1; block1.transform.localScale = scale0; // 「消える時間」を入れ替える block0.vanish_timer = vanish_timer1; block1.vanish_timer = vanish_timer0; block0.beginSlide(offset0); // 元のブロックの移動を開始 block1.beginSlide(offset1); // 元のブロックの移動を開始 }
public void swapBlock(BlockControl block0, Block.DIR4 dir, BlockControl block1) { // 각각의 블록 색을 기억해둔다 Block.COLOR color0 = block0.color; Block.COLOR color1 = block1.color; // 각각의 블록의 확대율을 기억해둔다 Vector3 scale0 = block0.transform.localScale; Vector3 scale1 = block1.transform.localScale; // 각각의 블록의 사라지는 시간을 기억해둔다 float vanish_timer0 = block0.vanish_timer; float vanish_timer1 = block1.vanish_timer; // 각각의 블록의 이동할 곳을 구한다 Vector3 offset0 = BlockRoot.getDirVector(dir); Vector3 offset1 = BlockRoot.getDirVector(BlockRoot.getOppositDir(dir)); // 색을 교체한다 block0.SetColor(color1); block1.SetColor(color0); // 확대율 교체 block0.transform.localScale = scale1; block1.transform.localScale = scale0; // 사라지는 시간 교체 block0.vanish_timer = vanish_timer1; block1.vanish_timer = vanish_timer0; block0.beginSlide(offset0); // 원래 블록 이동 시작 block1.beginSlide(offset1); // 이동할 위치의 블록 이동을 시작 }
public void swapBlock(BlockControl block0, Block.DIR4 dir, BlockControl block1) { // 각 블록의 색을 기억해 둔다. Block.COLOR color0 = block0.color; Block.COLOR color1 = block1.color; // 각 블록의. // 확대율을 기억해 둔다. Vector3 scale0 = block0.transform.localScale; Vector3 scale1 = block1.transform.localScale; // 각 블록의 '사라지는 시간'을 기억해 둔다. float vanish_timer0 = block0.vanish_timer; float vanish_timer1 = block1.vanish_timer; // 각 블록이 이동할 곳을 구한다. Vector3 offset0 = BlockRoot.getDirVector(dir); Vector3 offset1 = BlockRoot.getDirVector(BlockRoot.getOppositDir(dir)); block0.setColor(color1); // 색을 교체한다. block1.setColor(color0); block0.transform.localScale = scale1; // 확대율을 교체한다. block1.transform.localScale = scale0; block0.vanish_timer = vanish_timer1; // 사라지는 시간을 교체한다. block1.vanish_timer = vanish_timer0; block0.beginSlide(offset0); // 원래 블록의 이동을 시작. block1.beginSlide(offset1); // 이동할 곳의 블록 이동을 시작. }
public void swapBlock(BlockControl block0, Block.DIR4 dir, BlockControl block1) { Block.COLOR color0 = block0.color; Block.COLOR color1 = block1.color; Vector3 scale0 = block0.transform.localScale; Vector3 scale1 = block1.transform.localScale; float vanish_timer0 = block0.vanish_timer; float vanish_timer1 = block1.vanish_timer; Vector3 offset0 = BlockRoot.getDirVector(dir); Vector3 offset1 = BlockRoot.getDirVector(BlockRoot.getOppositeDir(dir)); block0.setColor(color1); block1.setColor(color0); block0.transform.localScale = scale1; block1.transform.localScale = scale0; block0.vanish_timer = vanish_timer1; block1.vanish_timer = vanish_timer0; block0.beginSlide(offset0); block1.beginSlide(offset1); }
public void swapBlock(BlockControl block0, Block.DIR4 dir, BlockControl block1) { // 각각의 블록 패턴을 기억해 둔다. Block.PATTERN color0 = block0.pattern; Block.PATTERN color1 = block1.pattern; // 각각의 블록 숫자를 기억해 둔다. Block.NUMBER number0 = block0.num; Block.NUMBER number1 = block1.num; // 각각의 블록의 확대율을 기억해 둔다. Vector3 scale0 = block0.transform.localScale; Vector3 scale1 = block1.transform.localScale; // 각각의 블록의 '사라지는 시간'을 기억해 둔다. float vanish_timer0 = block0.vanish_timer; float vanish_timer1 = block1.vanish_timer; // 각각의 블록의 이동할 곳을 구한다. Vector3 offset0 = BlockRoot.getDirVector(dir); Vector3 offset1 = BlockRoot.getDirVector(BlockRoot.getOppositDir(dir)); // 패턴을 교체한다. block0.setColor(color1); block1.setColor(color0); // 숫자를 교체한다. block0.setNumber(number1); block1.setNumber(number0); // 확대율을 교체한다. block0.transform.localScale = scale1; block1.transform.localScale = scale0; // '사라지는 시간'을 교체한다. block0.vanish_timer = vanish_timer1; block1.vanish_timer = vanish_timer0; block0.beginSlide(offset0); // 원래 블록 이동을 시작한다. block1.beginSlide(offset1); // 이동할 위치의 블록 이동을 시작한다. }
// 두 블록을 교체한다. public void swapBlock(BlockControl block0, Block.DIR4 dir, BlockControl block1) { // 교체 상대는 반대 방향으로 슬라이드. block1.slide_dir = BlockRoot.getOppositDir(dir); Block.COLOR color0 = block0.color; Block.COLOR color1 = block1.color; Vector3 scale0 = block0.transform.localScale; Vector3 scale1 = block1.transform.localScale; float vanish_timer0 = block0.vanish_timer; float vanish_timer1 = block1.vanish_timer; Vector3 offset0 = BlockRoot.getDirVector(dir); Vector3 offset1 = BlockRoot.getDirVector(block1.slide_dir); float grab_timer0 = block0.grab_timer; float grab_timer1 = block1.grab_timer; // block0.setColor(color1); block1.setColor(color0); block0.transform.localScale = scale1; block1.transform.localScale = scale0; block0.vanish_timer = vanish_timer1; block1.vanish_timer = vanish_timer0; block0.grab_timer = grab_timer1; block1.grab_timer = grab_timer0; block0.slide_forward = false; block1.slide_forward = true; block0.beginSlide(offset0); block1.beginSlide(offset1); }