public void Invoke() { var iterationSet = m_sourceConfig.GetSet(m_iterateOnTileConfig); var filters = new TilesSetFilter[m_filter.Length]; for (var i = 0; i < m_filter.Length; i++) { var filterSet = m_sourceConfig.GetSet(m_filter[i].Config.Result); filters[i] = new TilesSetFilter() { Data = filterSet, FilterIdx = m_filter[i].TileIdx }; } var startNode = 0; ushort[] texTypesDone = { ushort.MaxValue, ushort.MaxValue, ushort.MaxValue }; var texTypesDoneIdx = 0; ushort next; while ((next = NextType(iterationSet, filters, ref startNode, ref texTypesDone, ref texTypesDoneIdx)) != ushort.MaxValue) { m_tilesSetFilter.SetValue(new TilesSetFilter() { Data = iterationSet, FilterIdx = next }); m_continueAction.Invoke(); } }
public void Invoke() { var data = m_meshSet.Value; foreach (var m in data.Meshes) { m_mesh.SetValue((UnityEngine.Object)m); m_continue.Invoke(); } }
public void Invoke() { var pos = m_pos.Value.Vector3Int(); for (var idx = m_idxOffset.Value; idx < IterationOffset.Length; idx++) { var offset = IterationOffset[idx]; m_iteratorIdx.SetValue(idx); m_cornerPos.SetValue(new Vector3(pos.x + offset.x, pos.y + offset.y, pos.z + offset.z)); m_continue.Invoke(); } }
public void Invoke() { var grid = m_grid.Value; var pos = m_currentPos.Value.Vector3Int(); var tile = grid[pos.x, pos.y, pos.z]; if (m_filter.IsTileActive(tile)) { m_trueAction?.Invoke(); } else { m_falseAction?.Invoke(); } }
public void Invoke() { var data = m_grid.Value; for (var y = 0; y < data.GetLength(1) - m_reducedIteration.y; y++) { for (var x = 0; x < data.GetLength(0) - m_reducedIteration.x; x++) { for (var z = 0; z < data.GetLength(2) - m_reducedIteration.z; z++) { m_currentPosition.SetValue(new Vector3(x, y, z)); m_continue.Invoke(); } } } m_currentPosition.SetValue(new Vector3(-1, -1, -1)); }