protected override LightBase CreateLight() { LaserBeam laserBeam = LightPool.Create <LaserBeam>(new Ray(base.transform.position, Direction)); laserBeam.source = this; return(laserBeam); }
protected override LightBase CreateLight(Vector3 pos, Vector3 dir) { LightBeamConvex lightBeamConvex = LightPool.Create <LightBeamConvex>(pos, dir, base.transform); lightBeamConvex.focalLength = focalLength; return(lightBeamConvex); }
protected virtual LightBase CreateLight() { return(LightPool.Create <LightBeam>(new Ray(base.transform.position, Direction))); }
protected virtual LightBase CreateLight(Vector3 pos, Vector3 dir) { return(LightPool.Create <LightBeam>(pos, dir, base.transform)); }
private T CreateDefaultOutput <T>(T input, Vector3 point) where T : LightBase { return(LightPool.Create <T>(point, point - input.transform.position, base.transform)); }