void ShowGuid(RectTransform rect, Action call = null, MyDirection type = MyDirection.up) { if (forceBlock) { _targetRectTransform.position = rect.position; _targetRectTransform.sizeDelta = rect.rect.size; _guideBlockImage.SetBlockRectTransform(_targetRectTransform); } else { _guideBlockImage.SetBlockRectTransform(null); } stop = false; noBlcokRecttransform = rect; callBack = call; if (type == MyDirection.up) { upFinger.gameObject.SetActive(true); downFinger.gameObject.SetActive(false); upFinger.position = rect.position; FingerAni(upFinger, type); } else { downFinger.gameObject.SetActive(true); upFinger.gameObject.SetActive(false); downFinger.position = rect.position; FingerAni(downFinger, type); } }
private void OnMoveEnd(Transform fin, MyDirection direction) { if (contactPoint2 == null) { return; } if (direction == MyDirection.up || direction == MyDirection.down) { contactPoint2.gameObject.SetActive(true); contactPoint2.Play(); } timerList.Add(Timer.Register(0.6f, () => { if (fin == null) { return; } contactPoint2.Stop(true); if (!stop) { FingerAni(fin, direction); } })); }
static void Main(string[] args) { MyDirection myDirection = MyDirection.东; var key = Console.ReadKey(); switch (key.Key) { default: } student student1 = new student(); student1.Name = "张三"; student1.No = "12200101"; student1.Birthday = new DateTime(1999, 10, 1); Console.ReadKey(); }
public static Node Create(Vector3 pos, MyDirection dir) { var cmp = new MyMarker (); cmp.Direction = dir; var spr = new Sprite (128, 128); spr.AddTexture (new Texture ("media/MedicalIconLight.png")); spr.SetOffset (-64, -128); var node = new Node ("Marker"); node.Attach (cmp); node.Attach (spr); node.DrawPriority = -1; node.Translation = pos; return node; }
public override void OnOpen(params object[] paras) { base.OnOpen(paras); var rect = paras[0] as RectTransform; var call = paras[1] as Action; var type = (MyDirection)paras[2]; var force = (bool)paras[3]; var forceBlockClickAction = paras[4] as Action; this.obj.gameObject.SetActive(true); this.obj.position = rect.transform.position; this.transform.localScale = Vector3.one; this.forceBlock = force; this.forceBlockClickAction = forceBlockClickAction; this.blockAll = false; this.ShowGuid(rect, call, type); myCurrentDirection = type; }
void Rotate(TurnDirection direction) { var offset = (int)direction; if (offset == 0) { offset = -1; } var newDir = (int)myDir + offset; if (newDir < (int)MyDirection.Up) { myDir = MyDirection.Left; } else if (newDir > (int)MyDirection.Left) { myDir = MyDirection.Up; } else { myDir = (MyDirection)newDir; } }
private void FingerAni(Transform fin, MyDirection direction) { if (fin != null || noBlcokRecttransform != null) { if (direction == MyDirection.up) { fin.position = fin.position + new Vector3(0f, 0.61f * 1f, 0); } else if (direction == MyDirection.down) { fin.position = fin.position + new Vector3(0f, 0.61f * (-1f), 0); } else if (direction == MyDirection.right) { contactPoint2.gameObject.SetActive(false); fin.position = fin.position + new Vector3(4f * 1f, 0f, 0); } else { contactPoint2.gameObject.SetActive(false); fin.position = fin.position + new Vector3(4f * -1f, 0f, 0); } try { tweenAni = fin.DOMove(noBlcokRecttransform.transform.position, 1f); tweenAni.OnComplete(() => OnMoveEnd(fin, direction)); } catch (Exception e) { DebugLogWrapper.LogException(e); OnMoveEnd(fin, direction); } } }
public void move(MyDirection direction) { // Debug.Log("移动"); GamePostion vector = getVector(direction); Hashtable traversals = buildTraversals(vector); prepareTiles(); bool moved = false; Tile tile; List<int> xList = (List<int>)traversals["x"]; List<int> yList = (List<int>)traversals["y"]; for(int i=0;i<size;i++){ int x = xList[i]; for(int j=0;j<size;j++){ int y = yList[j]; GamePostion cell = new GamePostion(x,y); tile = grid.cellContent(cell); if(tile != null){ Hashtable postions = findFarthestPosition(cell,vector); Tile next = grid.cellContent((GamePostion)postions["next"]); if(next !=null && next.value == tile.value && next.mergedFrom == null){ // Debug.Log("找到合并的tile :"+tile.ToString()); // Debug.Log("找到合并的next :"+next.ToString()); Tile merged = new Tile((GamePostion)postions["next"],tile.value*2); merged.mergedFrom = new Tile[]{tile,next}; grid.insertTile(merged); grid.removeTile(tile); tile.updatePostion((GamePostion)postions["next"]); score += merged.value; if(merged.value == 2048){ //TODO yingle } }else{ moveTile(tile,(GamePostion)postions["farthest"]); } if(!positionsEqual(cell,new GamePostion(tile.x,tile.y))){ moved = true; } } } } if(moved){ addRandomTile(); if(!movesAvailable()){ // Debug.Log("GameOver"); this.over = true; } // actuate(); // Debug.Log("move le"); } actuate(moved); Debug.Log("移动结束"); }
public GamePostion getVector(MyDirection direction) { GamePostion result; switch(direction){ case MyDirection.DirectionUp: result = new GamePostion(0,-1); break; case MyDirection.DirectionRight: result = new GamePostion(1,0); break; case MyDirection.DirectionDown: result = new GamePostion(0,1); break; case MyDirection.DirectionLeft: result = new GamePostion(-1,0); break; default: result = new GamePostion(0,0); break; } return result; }
public void RpcSomeFunction([BitCountFromRange(-1, 1)] MyDirection myParam) { onRpc?.Invoke(myParam); }
void OnSwipe( SwipeGesture gesture ) { if(_game.over){ return; } FingerGestures.SwipeDirection direction = gesture.Direction; bool isMoved = false; if(Vector2.Angle(gesture.Move,Vector2.right) < staticAngle){ lastDirection = MyDirection.DirectionRight; isMoved = true; }else if(Vector2.Angle(gesture.Move,Vector2.up) < staticAngle){ lastDirection = MyDirection.DirectionUp; isMoved = true; }else if(Vector2.Angle(gesture.Move,Vector2.right) > 180 - staticAngle){ lastDirection = MyDirection.DirectionLeft; isMoved = true; }else if(Vector2.Angle(gesture.Move,Vector2.up) > 180 - staticAngle){ lastDirection = MyDirection.DirectionDown; isMoved = true; } if(isMoved){ _game.move(lastDirection); } }
void FixedUpdate() { if(_game.over ) { return; } bool isMoved = false; if(Input.GetKeyDown("right")){ lastDirection = MyDirection.DirectionRight; isMoved = true; }else if(Input.GetKeyDown("up")){ lastDirection = MyDirection.DirectionUp; isMoved = true; }else if(Input.GetKeyDown("left")){ lastDirection = MyDirection.DirectionLeft; isMoved = true; }else if(Input.GetKeyDown("down")){ lastDirection = MyDirection.DirectionDown; isMoved = true; } prevTime+= Time.deltaTime; if(isMoved){ Debug.Log(prevTime); if(prevTime >= moveDuring){ _game.move(lastDirection); prevTime = 0; } } if ( Application.platform == RuntimePlatform.Android &&(Input.GetKeyDown(KeyCode.Escape) || Input.GetKeyDown(KeyCode.Home) )) { // OnApplicationQuit(); Application.Quit(); } }
public static void Show(RectTransform rect, Action call = null, MyDirection type = MyDirection.up, bool force = true, Action forceBlockClickAction = null) { ViewManager.Instance.OpenWindow(WindowID.Win_FingerGuid, false, new object[] { rect, call, type, force, forceBlockClickAction }); }
public TurnPoint(Vector2 pos, MyDirection myDirection) : base("Way") { position = pos; this.myDirection = myDirection; }