JohnnyTurbo

Unity Flow Field: GridController.cs

Aug 14th, 2020
1,114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 0.95 KB | None | 0 0
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4.  
  5. public class GridController : MonoBehaviour
  6. {
  7.     public Vector2Int gridSize;
  8.     public float cellRadius = 0.5f;
  9.     public FlowField curFlowField;
  10.     public GridDebug gridDebug;
  11.  
  12.     private void InitializeFlowField()
  13.     {
  14.         curFlowField = new FlowField(cellRadius, gridSize);
  15.         curFlowField.CreateGrid();
  16.         gridDebug.SetFlowField(curFlowField);
  17.     }
  18.  
  19.     private void Update()
  20.     {
  21.         if (Input.GetMouseButtonDown(0))
  22.         {
  23.             InitializeFlowField();
  24.  
  25.             curFlowField.CreateCostField();
  26.  
  27.             Vector3 mousePos = new Vector3(Input.mousePosition.x, Input.mousePosition.y, 10f);
  28.             Vector3 worldMousePos = Camera.main.ScreenToWorldPoint(mousePos);
  29.             Cell destinationCell = curFlowField.GetCellFromWorldPos(worldMousePos);
  30.             curFlowField.CreateIntegrationField(destinationCell);
  31.  
  32.             curFlowField.CreateFlowField();
  33.  
  34.             gridDebug.DrawFlowField();
  35.         }
  36.     }
  37. }
  38.  
Add Comment
Please, Sign In to add comment