public IFOVBoard Do(Vector2Int origin, int visionMod) { Board.ClearBoard(); Board.Visible(origin.x, origin.y); Go(origin, 1, visionMod, 0, 359.9d); return(Board); }
public IFOVBoard Do(Vector2Int origin, int sightMod) { m_Board.ClearBoard(); m_Board.Visible(origin.x, origin.y); foreach (Vector2Int direction in DIAGONALS) { CastLight(origin, sightMod, 1, 1, 0, 0, direction.x, direction.y, 0); CastLight(origin, sightMod, 1, 1, 0, direction.x, 0, 0, direction.y); } return(m_Board); }
public IFOVBoard Do(Vector2Int origin, int sightMod) { m_Board.ClearBoard(); m_Board.Visible(origin.x, origin.y); UnityEngine.Profiling.Profiler.BeginSample("FOV Calculations"); for (int i = 0; i < 360; i += GRANULARITY) { float x = (float)Math.Cos(i * 0.01745f); float y = (float)Math.Sin(i * 0.01745f); DiscoverTile(x, y, origin, sightMod); } UnityEngine.Profiling.Profiler.EndSample(); return(m_Board); }