public void setupCircle(Circle circle, CirclePartState state = CirclePartState.Default) { this.state = state; this.circle = circle; if (state == CirclePartState.Spike) { spriteRenderer.sprite = spikeSprites[Range(0, spikeSprites.Length)]; } else { spriteRenderer.sprite = defaultSprite; } setColor(circle.randomColor()); transform.SetParent(circle.transform); maxCollisionCount = circle.doubleCollisionCount ? 2 : 1; }
private IEnumerator _reload(float time) { CirclePartState tmpState = state; state = CirclePartState.Reload; StopCoroutine(reloadCoroutine); hide(); if (time == 0f) { hidePs.Play(); } else { circle.gameController.audioController.brokenPlatform(); DestructiveEntity entity = Instantiate(brokenCirclePart, transform.position, Quaternion.Euler(0f, 0f, Range(0f, 360f))); entity.brokeDown(spriteRenderer.color); } yield return(new WaitUntil(() => collisionDelay == false)); if (time != 0f) { yield return(new WaitForSeconds(Range(time / 2f, time))); } state = tmpState; show(); collisionCount = 0; setColor(circle.randomColor()); if (state == CirclePartState.Spike) { spriteRenderer.sprite = spikeSprites[Range(0, spikeSprites.Length)]; } else { state = CirclePartState.Default; spriteRenderer.sprite = defaultSprite; } }