public override void OnBulletSpawned(Bullet bullet) { foreach (SpriteRenderer spriteObject in bullet.Sprites) { // Spawn the view view = Object.Instantiate(viewPrefab, bullet.transform); // Set the view's sprite local scale to match that of the bullet's sprite view.Sprite.transform.localScale = spriteObject.transform.lossyScale; // Set the view's sprite to match that of the bullet's sprite SpriteRenderer spawnedRenderer = view.Sprite.GetComponent <SpriteRenderer>(); spawnedRenderer.sprite = spriteObject.sprite; if (useWhiteShader) { // Set the view's sprite's shader to be white spawnedRenderer.material.shader = BulletAnimationUtil.ShaderGUIText; spawnedRenderer.color = Color.white; } else { spawnedRenderer.color = spriteObject.color; } spawnedRenderer.sortingLayerName = "Bullets"; spawnedRenderer.sortingOrder = bullet.SortingOrder; } }
public AnimateInBulletLogic(AnimateInBulletView viewPrefab, bool useWhiteShader) { this.viewPrefab = viewPrefab; this.useWhiteShader = useWhiteShader; }