public SgtLightning Spawn() { var size = Random.Range(SizeMin, SizeMax); var lightning = SgtLightning.Create(gameObject.layer, transform, size, Radius, Detail); if (lightning != null) { var life = Random.Range(LifeMin, LifeMax); lightning.Sprite = RandomSprite; lightning.Color = RandomColor; lightning.Brightness = Brightness; lightning.Life = life; lightning.MaxLife = life; lightning.transform.localRotation = Random.rotation; } return(lightning); }
public SgtLightning Spawn() { if (Mesh != null && LifeMin > 0.0f && LifeMax > 0.0f) { var sprite = RandomSprite; if (sprite != null) { var lightning = SgtLightning.Create(this); var material = lightning.Material; var uv = SgtHelper.CalculateSpriteUV(sprite); if (material == null) { material = SgtHelper.CreateTempMaterial("Lightning (Generated)", SgtHelper.ShaderNamePrefix + "Lightning"); lightning.SetMaterial(material); } lightning.Life = Random.Range(LifeMin, LifeMax); lightning.Age = 0.0f; lightning.SetMesh(Mesh); material.SetTexture("_MainTex", sprite.texture); material.SetColor("_Color", SgtHelper.Brighten(RandomColor, Brightness)); material.SetFloat("_Age", 0.0f); material.SetVector("_Offset", new Vector2(uv.x, uv.y)); material.SetVector("_Scale", new Vector2(uv.z - uv.x, uv.w - uv.y)); lightning.transform.localRotation = Random.rotation; return(lightning); } } return(null); }