public void Update() { deltaTime += Time.deltaTime; switch (rareFxStep) { case RAREFX_STEP.SIZE_UP: if (deltaTime > sizeUpMax) { deltaTime = 0f; rareFxStep = RAREFX_STEP.FLY; } break; case RAREFX_STEP.FLY: if (deltaTime > flyMax) { deltaTime = 0f; rareFxStep = RAREFX_STEP.BOUNCE; } break; case RAREFX_STEP.BOUNCE: if (deltaTime > bounceMax) { deltaTime = 0f; rareFxStep = RAREFX_STEP.DONE; } break; } }
public RareFx(Vector2 src, Vector2 dst) { start = new Vector2(src.x + Random.Range(-24f, 24f), src.y + Random.Range(-24f, 24f)); end = new Vector2(dst.x + Random.Range(-24f, 24f), dst.y + Random.Range(-24f, 24f)); rareFxStep = RAREFX_STEP.SIZE_UP; flyMax = Random.Range(flyRandomMin, flyRandomMax); sizeUpMax = Random.Range(sizeUpRandomMin, sizeUpRandomMax); }