void MakeOrbits(int electrons, int orbitCount) { int elRest = electrons; for (int i = 0; i <= orbitCount; i++) { GameObject orbit = new GameObject(); orbit.name = "Orbit" + i; orbit.transform.parent = transform; orbit.transform.localPosition = Vector3.zero; CircleLine myRing = Instantiate <CircleLine>(ring); myRing.SetOrbitCapacity(elAndO[i, 0]); myRing.SetElectronCount(elAndO[i, 1]); myRing.CreatePoints(orbitRadius * (i + 1)); myRing.transform.parent = transform; myRing.transform.localPosition = Vector3.zero; //Shell for Orbit GameObject Shell = Instantiate <GameObject>(pulseObj); Shell.transform.parent = orbit.transform; Shell.transform.localPosition = Vector3.zero; float sr = (i + 1) * orbitRadius * 2f; Shell.transform.localScale = new Vector3(sr, sr, sr); //Electrons for (int j = 0; j < orbitThreshold[i]; j++) { Electron ele = Instantiate <Electron>(myElectron); ele.transform.parent = orbit.transform; float partinCircle = (float)j / orbitThreshold[i]; ele.Arrange(i, orbitRadius, partinCircle); elRest--; if (elRest <= 0) { return; } } } }