void draw(bool all) { /////////////////////////////////////////////////////////1 int i = 0; while (i < v_size && valuesA[i] != -1 && !fullA) { i++; } if (i == v_size) { fullA = true; } if (fullA) { for (int j = 1; j < v_size; j++) { valuesA[j - 1] = valuesA[j]; } valuesA[v_size - 1] = nbAgents; nbEA = v_size; LR1.SetVertexCount(v_size); } else { valuesA[i] = nbAgents; LR1.SetVertexCount(i); nbEA = i; } ////////////////////////////////////////////////////////2 i = 0; while (i < v_size && valuesF[i] != -1 && !fullF) { i++; } if (i == v_size) { fullF = true; } if (fullF) { for (int j = 1; j < v_size; j++) { valuesF[j - 1] = valuesF[j]; } valuesF[v_size - 1] = nbFood; LR2.SetVertexCount(v_size); nbEF = v_size; } else { valuesF[i] = nbFood; LR2.SetVertexCount(i); nbEF = i; } /////////////////////////////////////////////////////////3 i = 0; while (i < v_size && valuesW[i] != -1 && !fullW) { i++; } if (i == v_size) { fullW = true; } if (fullW) { for (int j = 1; j < v_size; j++) { valuesW[j - 1] = valuesW[j]; } valuesW[v_size - 1] = nbWater; LR3.SetVertexCount(v_size); nbEW = v_size; } else { valuesW[i] = nbWater; LR3.SetVertexCount(i); nbEW = i; } switch (current) { case state.All: { for (int j = 0; j < nbEA; j++) { lastYA = origin.position.y + yScaleA * valuesA[j]; LR1.SetPosition(j, new Vector3(origin.position.x + j * xScaleA, origin.position.y + yScaleA * valuesA[j], origin.position.z)); } for (int j = 0; j < nbEF; j++) { lastYF = origin.position.y + yScaleF * valuesF[j]; LR2.SetPosition(j, new Vector3(origin.position.x + j * xScaleF, origin.position.y + yScaleF * valuesF[j], origin.position.z)); } for (int j = 0; j < nbEW; j++) { lastYW = origin.position.y + yScaleW * valuesW[j]; LR3.SetPosition(j, new Vector3(origin.position.x + j * xScaleW, origin.position.y + yScaleW * valuesW[j], origin.position.z)); } break; } case state.Agents: { for (int j = 0; j < nbEA; j++) { lastYA = origin.position.y + yScaleA * valuesA[j]; LR1.SetPosition(j, new Vector3(origin.position.x + j * xScaleA, origin.position.y + yScaleA * valuesA[j], origin.position.z)); } break; } case state.Food: { for (int j = 0; j < nbEF; j++) { lastYF = origin.position.y + yScaleF * valuesF[j]; LR2.SetPosition(j, new Vector3(origin.position.x + j * xScaleF, origin.position.y + yScaleF * valuesF[j], origin.position.z)); } break; } case state.Water: { for (int j = 0; j < nbEW; j++) { lastYW = origin.position.y + yScaleW * valuesW[j]; LR3.SetPosition(j, new Vector3(origin.position.x + j * xScaleW, origin.position.y + yScaleW * valuesW[j], origin.position.z)); } break; } } }