private void SetInfo(SnakePartType type, bool value, Vector3 normal, bool inWater) { normal.z = 0; normal.Normalize(); switch (type) { case SnakePartType.Head: snake.HeadIsCollided = value; snake.headContactNormal = normal; snake.HeadInWater = inWater; //Debug.DrawLine(snake.headPoint.PositionWorld, snake.midPoint.PositionWorld + normal, Color.red, 1f); break; case SnakePartType.Mid: snake.MidIsCollided = value; snake.midContactNormal = normal; //Debug.DrawLine(snake.midPoint.PositionWorld, snake.midPoint.PositionWorld + normal, Color.red, 1f); break; case SnakePartType.Tail: snake.TailIsCollided = value; snake.tailContactNormal = normal; snake.TailInWater = inWater; //Debug.DrawLine(snake.tailPoint.PositionWorld, snake.midPoint.PositionWorld + normal, Color.red, 1f); break; default: break; } }
public SnakePart(Point position, MoveDirection dir, SnakePartType type, int size = 16) { _size = size; Position = position; Direction = dir; Type = type; _image = ResourcesManager.ImageResources.SnakeImage; }
private void Bounce(SnakePartType type, Vector3 value) { value.z = 0; switch (type) { case SnakePartType.Head: snake.headPoint.PositionWorld += value * snake.Speed * Time.deltaTime; break; case SnakePartType.Mid: snake.midPoint.PositionWorld += value * snake.Speed * Time.deltaTime; break; case SnakePartType.Tail: snake.tailPoint.PositionWorld += value * snake.Speed * Time.deltaTime; break; default: break; } }
public void SetSnakePartType(SnakePartType type) { currentPartType = type; AssignImage(); }