private void Update() { //Get the node this object is currently on GridNode currentNode = gridTransform.CurrentNode; //Get the input, and move the object if an input is pressed if (Input.GetKeyDown(KeyCode.RightArrow)) { //move right gridTransform.Move(Direction.right); } else if (Input.GetKeyDown(KeyCode.LeftArrow)) { //move left gridTransform.Move(Direction.left); } else if (Input.GetKeyDown(KeyCode.UpArrow)) { //move up gridTransform.Move(Direction.up); } else if (Input.GetKeyDown(KeyCode.DownArrow)) { //move down gridTransform.Move(Direction.down); } //Move the 3d position to the grid positions transform.position = gridTransform.Target; }
private void MakeMove(Direction direction) { if (CanMove(direction)) { gridTransform.Move(direction); StartCoroutine(SlimeAnimation()); switch (direction) { case Direction.left: mat.SetTexture("_MainTex", left); break; case Direction.right: mat.SetTexture("_MainTex", right); break; case Direction.down: mat.SetTexture("_MainTex", front); break; case Direction.up: mat.SetTexture("_MainTex", back); break; } } }
/// <summary> /// Movement processing for update /// </summary> private void UpdateMovement() { for(int i = tailPieces.Count - 1; i >= 0; i--) { tailPieces[i].UpdatePosition(); } gridTransform.Move(direction); }