private void Move(Vector2Int start, Vector2Int end) { if (Board.IsValidCellPosition(end)) { if (!Board.self.HasObjectAt(end)) { Board.self.RemoveObject(this.gameObject); Board.self.AddObjectAt(this.gameObject, end); Vector3 newPosition = Board.GetCellCenterWorld(end); ResetVisuals(); animate.AnimateToPosition(transform.position, newPosition, .3f, Animate.RepeatMode.Once); // TODO(samkern): Simple shader to animate this to a flat white? :) //animate.AnimateToColor (model.pigeon.color, Color.red, .2f, Animate.RepeatMode.OnceAndBack); model.pigeon.sprite = ResourceManager.self.GetPigeonSprite(playerIndex, PigeonPose.Move); spawnDirectedVfx(moveVfx, start, end); Invoke("StopMoving", .3f); } else { InvalidMove(); } } else { InvalidMove(); } }