void OnJumpEnd() { jumping--; Unit player = BoardManager.instance.player; player.renderer.enabled = true; player.followable.isFollow = true; for (LinkedListNode <Unit> i = player.followable.Followers.First; i != null; i = i.Next) { i.Value.cachedTransform.localScale = Vector3.one; i.Value.cachedTransform.position = player.cachedTransform.position; } Transform shadowTransform = player.shadow.transform; shadowTransform.localScale = Vector3.one; shadowTransform.SetParent(player.cachedTransform); player.shadow.enabled = true; player.rigid.velocity = Vector2.zero; player.collider.enabled = true; player.autoMoveable.enabled = true; player.attackable.enabled = true; player.targetable.IsTargetable = true; for (int i = 0; i < 20; i++) { DeathEffect effect = DeathEffectManager.instance.pool.DequeueObjectPool().GetComponent <DeathEffect>(); effect.Init((Vector2)player.cachedTransform.position + Random.insideUnitCircle * 0.25f, player.cachedTransform.position, 1.5f); //effect.cachedTransform.position = (Vector2)player.cachedTransform.position + Random.insideUnitCircle.normalized * 1.3f; } }
public void Play(Unit unit) { //StartCoroutine(PlayCorou(trans)); int rnd = Random.Range(3, 6); for (int i = 0; i < rnd; i++) { Vector2 offset = new Vector2(Random.Range(-0.25f, 0.25f), Random.Range(-0.25f, 0.25f)); DeathEffect ef = pool.DequeueObjectPool().GetComponent <DeathEffect>(); //if (i == 0) // ef.animator.SetBool("isSmall", false); //else // ef.animator.SetBool("isSmall", true); ef.Init(unit.cachedTransform.position + (Vector3)offset, unit.cachedTransform.position, 0.3f, unit); //yield return new WaitForSeconds(0.1f); } }