protected override void ExecuteSpecialB() { TimeBubbleLimits tbl = ClonePlayerTBL(); tbl.minTimeScaleMultiplier *= timeScaleMultiplier; tbl.maxTimeScaleMultiplier *= timeScaleMultiplier; StartCoroutine(PopAtPeak(TimeBubbleSpawner.Spawn(transform.position + MathLib.FromPolar(Player.Radius + TimeBubbleSpawner.Radius, Player.TurretAngle).ToVector3(), isSlowBubble, Player.TurretAngle, Player.shotSpeed, 2, tbl))); }
private TimeBubbleLimits ClonePlayerTBL() { TimeBubbleLimits tbl = new TimeBubbleLimits(); tbl.sweetSpotAge = Player.timeBubbleLimits.sweetSpotAge; tbl.sweetSpotSensitivity = Player.timeBubbleLimits.sweetSpotSensitivity; tbl.minRadius = Player.timeBubbleLimits.minRadius; tbl.maxRadius = Player.timeBubbleLimits.maxRadius; tbl.minLifeSpan = Player.timeBubbleLimits.minLifeSpan; tbl.maxLifeSpan = Player.timeBubbleLimits.maxLifeSpan; tbl.minInnerRadiusPercentage = Player.timeBubbleLimits.minInnerRadiusPercentage; tbl.maxInnerRadiusPercentage = Player.timeBubbleLimits.maxInnerRadiusPercentage; tbl.minTimeScaleMultiplier = Player.timeBubbleLimits.minTimeScaleMultiplier; tbl.maxTimeScaleMultiplier = Player.timeBubbleLimits.maxTimeScaleMultiplier; return(tbl); }
public static TimeBubbleSpawner Spawn(Vector3 position, bool isSlowBubble, float angle, float speed, float lifeTime, TimeBubbleLimits limits) { CheckLoadPrefab(); TimeBubbleSpawner output = Instantiate(prefabSpawner, position, Quaternion.Euler(0, 0, angle)) as TimeBubbleSpawner; output.speed = speed; output.angle = angle; output.isSlowBubble = isSlowBubble; output.lifeTime = lifeTime; output.limits = limits; return(output); }