public MeteorsGenerator(PlaySettings ss, RandomItem <int> carSizeDistribution, RandomItem <int> carAmountDistribution, RandomItem <int> metAmountDistribution, int minCount, int maxCount, Transform launcher) { if (carAmountDistribution.Items.Min() < 2 || carAmountDistribution.Items.Max() > ss.Road.LinesCount || metAmountDistribution.Items.Min() < 1 || metAmountDistribution.Items.Max() >= carAmountDistribution.Items.Max()) { throw new ArgumentOutOfRangeException(); } _blockGen = new BlockGenerator(ss, carSizeDistribution, carAmountDistribution); _metAmountDistr = metAmountDistribution; _carCountDistr = carAmountDistribution; _carSizeDistr = carSizeDistribution; _launcher = launcher; _ss = ss; _minCount = minCount; _maxCount = maxCount; _lowerBounds = new float[_ss.Road.LinesCount]; _topBounds = new float[_ss.Road.LinesCount]; _lastOnLine = new CarDescriptor[_ss.Road.LinesCount]; _isActual = new bool[_ss.Road.LinesCount]; _isMeteorTarget = new bool[_ss.Road.LinesCount]; }
// 1. Play public static AudioElement PlayElement(string name, PlaySettings playSettings) { AudioElement e = GetElement(name); e.Play(playSettings); return(e); }
public void SetLevel(Level level) { if (_gameOn) { EndLevel(); } _level = level; _taskCtrl.SetLevel(level); _difficultCtrl = level.DifficultCtrl; _playSets = level.PlaySettings; _mainProvider.SetGenerator(level.MultiGenerator); _avatarCtrl.Avatar.Init(_playSets.MaxJumpDistance, _playSets.MinJumpDistance, _playSets.HorizontalVelocity, _playSets.PowerTime, _playSets.MaxJumpHeight); _avatarCtrl.Pointer.Init(_playSets.MaxJumpDistance, .4f, _playSets.MinJumpDistance); Vehicle.Road = _playSets.Road; _firstCarDesc.Velocity = _playSets.NormalCarSpeed; _pursuitCtrl.MinVelocity = _playSets.MinPursuitVelocity; float t1 = (_playSets.MaxJumpDistance - _playSets.MinCarGap) / (2 * _playSets.MaxJumpDistance) * _playSets.PowerTime; float t2 = (_playSets.MaxJumpDistance - _playSets.MinCarGap) / _playSets.HorizontalVelocity; _pursuitCtrl.MaxVelocity = _playSets.MaxCarSpeed * t1 / (t1 + t2) + (_playSets.MaxCarSpeed + _playSets.HorizontalVelocity) * t2 / (t1 + t2); _pursuitCtrl.SetPursuitBoundsFactors(.5f, .99f); //todo something? }
private void PlaySound(SoundResource sound) { // Adjust the sound back to normal settings if it is a looping sound that is already playing if ((currentPlayHandle != null) && currentPlayHandle.IsPlaying() && Looping) { AdjustSound(Loudness, PitchOffset); return; } StopSound(false); PlaySettings playSettings = (Looping ? PlaySettings.Looped : PlaySettings.PlayOnce); playSettings.DontSync = false; playSettings.Loudness = LoudnessPercentToDb(Loudness + LoudnessVariance * RandomNegOneToOne()); playSettings.PitchShift = PitchOffset + PitchVariance * RandomNegOneToOne(); if (Spatialized) { if (audio != null) { currentPlayHandle = audio.PlaySoundOnComponent(sound, playSettings); } else { currentPlayHandle = ScenePrivate.PlaySoundAtPosition(sound, ObjectPrivate.Position, playSettings); } } else { currentPlayHandle = ScenePrivate.PlaySound(sound, playSettings); } }
public static void Postfix(PlaySettings __instance) { if (Mod.settings.autorebuildDefaultOn) { __instance.autoRebuild = true; } }
// 1. Play public static Category PlayCategory(string name, PlaySettings playSettings) { Category c = GetCategory(name); c.Play(playSettings); return(c); }
public Level(PlaySettings ps, DifficultController dc, string name, MultiGenerator gen, params ITask[] tasks) { Name = name; PlaySettings = ps; DifficultCtrl = dc; Tasks = tasks; MultiGenerator = gen; }
public override void Init() { PlaySettings playSettings = Play_Once ? PlaySettings.PlayOnce : PlaySettings.Looped; playSettings.Loudness = RelativePercentToRelativeLoudnessDB(Volume_Diff_Percent); playSettings.DontSync = Dont_Sync; ScenePrivate.PlaySound(Sound, playSettings); }
public PoliceGenerator(PlaySettings ss, float sideSpeed, float radius, float sandvichProb = 0) { SS = ss; _sandvichProb = sandvichProb; _blockGen = new BlockGenerator(SS, new RandomItem <int>(new[] { 1 }), null); _sideSpeed = sideSpeed; _radius = radius; }
public void IncDifficult(PlaySettings ps) { if (_rule == null) { return; } _rule.Invoke(ps, _i); ++_i; }
public override void Play(PlaySettings playSettings) { foreach (AudioElement e in elements) { e.Play (playSettings); } foreach (Category c in subcategories) { c.Play (playSettings); } }
private void PlaySound(SoundResource sound) { PlaySettings playSettings = PlaySettings.PlayOnce; playSettings.Loudness = LoudnessPercentToDb(Loudness); playSettings.PitchShift = PitchVariance * RandomNegOneToOne(); audio.PlaySoundOnComponent(sound, playSettings); }
void Awake() { healthBar = GetComponentInChildren <Image>(); view = GetComponent <PhotonView>(); visuals = GetComponent <SpriteRenderer>(); playSettings = Resources.Load <PlaySettings>("Settings/PlaySettings"); arenaSettings = Resources.Load <ArenaSettings>("Settings/ArenaSettings"); killEffectPrefab = Resources.Load <GameObject>("KillEffect"); }
public SoloMeteorGenerator(PlaySettings ss, float minDelay, float maxDelay, float addVelocity, RandomItem <int> secondBlockCarAmntDistr) { SS = ss; _carAmountDistr = secondBlockCarAmntDistr; _blockGen = new BlockGenerator(SS, new RandomItem <int>(new[] { 1, 2 }), _carAmountDistr); _minDelay = minDelay; _maxDelay = maxDelay; _addVelocity = addVelocity; }
public SlidingCarGenerator(PlaySettings ss, int minCount, int maxCount, float minAngle, float maxAngle, float minSideSpeed, float maxSideSpeed) { _ss = ss; _minCount = minCount + InitialCarsCount; _maxCount = maxCount + InitialCarsCount; _minAngle = minAngle; _maxAngle = maxAngle; _minSideSpeed = minSideSpeed; _maxSideSpeed = maxSideSpeed; }
public override void Play(PlaySettings playSettings) { foreach (AudioElement e in elements) { e.Play(playSettings); } foreach (Category c in subcategories) { c.Play(playSettings); } }
private void PlayNote(SoundResource PlaySample, float PitchShiftIn) { bool NoLoop = true; playSettings = NoLoop ? PlaySettings.PlayOnce : PlaySettings.Looped; playSettings.Loudness = loudnessIn; // set in Configuration playSettings.DontSync = true; // TrackDont_Sync[LoopIn2]; playSettings.PitchShift = PitchShiftIn; //playHandle[LoopIn2] = ScenePrivate.PlaySound(TrackSamples[LoopIn2][PlayIndexIn], playSettings); playHandleSimple = ScenePrivate.PlaySound(PlaySample, playSettings); }
public IEnumerator CoPlayOnBeat(PlaySettings ps) { yield return StartCoroutine (DelayAndSnap (ps.metronome, ps.snapStyle, ps.beat, ps.delay)); if (!stopping) { AudioClip ac = Play (ps.fadeLength, ps.fadeType, ps.power, clips.GetClip (), false); if (ps.loop) { looping = true; StartCoroutine (Loop (ps.metronome, ac)); } } }
public bool Initialize(PlaySettings settings) { this.settings = settings; GameManager.Instance.stateChanged -= GameStateChanged; GameManager.Instance.stateChanged += GameStateChanged; GameManager.Instance.fixedUpdated -= DoUpdate; GameManager.Instance.fixedUpdated += DoUpdate; isInitialized = true; return(isInitialized); }
public WobbleModifier(PlaySettings ps, float halfPeriodLenMin, float halfPeriodLenMax, float pointerNotAvatarContactProb, int count = 1) : base(count) { if (pointerNotAvatarContactProb < 0 || pointerNotAvatarContactProb > 1) { throw new ArgumentException("Bad probability"); } _halfPeriodLenMin = halfPeriodLenMin; _halfPeriodLenMax = halfPeriodLenMax; _pointerNotAvatarContactProb = pointerNotAvatarContactProb; _ps = ps; }
public override void Init() { AudioComponent audioComp = null; ObjectPrivate.TryGetFirstComponent(out audioComp); if (audioComp != null) { PlaySettings playSettings = Play_Once ? PlaySettings.PlayOnce : PlaySettings.Looped; playSettings.Loudness = RelativePercentToRelativeLoudnessDB(Volume_Diff_Percent); playSettings.DontSync = Dont_Sync; audioComp.PlaySoundOnComponent(Sound, playSettings); } }
public CopterGenerator(PlaySettings ps, float reloadTime, float missileVel, float missileRotVel, float missileLimit, int minCount, int maxCount, RandomItem <int> carSizeDistr, RandomItem <int> carCountDistr) { _ps = ps; _reloadTime = reloadTime; _missileVel = missileVel; _missileRotVel = missileRotVel; _missileLimit = missileLimit; _minCount = minCount; _maxCount = maxCount; _blockGen = new BlockGenerator(ps, carSizeDistr, carCountDistr); }
public IEnumerator CoPlayOnBeat(PlaySettings ps) { yield return(StartCoroutine(DelayAndSnap(ps.metronome, ps.snapStyle, ps.beat, ps.delay))); if (!stopping) { AudioClip ac = Play(ps.fadeLength, ps.fadeType, ps.power, clips.GetClip(), false); if (ps.loop) { looping = true; StartCoroutine(Loop(ps.metronome, ac)); } } }
internal static void _ExposeData(this PlaySettings _this) { foreach (var toggleSetting in toggleSettingDefs) { if (toggleSetting.exposeValue) { bool value = toggleSetting.toggleWorker.Value; Scribe_Values.LookValue(ref value, toggleSetting.saveKey, false, false); if (Scribe.mode == LoadSaveMode.LoadingVars) { toggleSetting.toggleWorker.Value = value; } } } }
public WallGenerator(PlaySettings ss, RandomItem <int> carSizeDistr, RandomItem <int> carCountDistr, float wallLenMin, float wallLenMax, float gapLenMin, float gapLenMax, float vehVelDelta, int minCount, int maxCount, bool modifable) { _ss = ss; _wallLenMax = wallLenMax; _wallLenMin = wallLenMin; _gapLenMax = gapLenMax; _gapLenMin = gapLenMin; _minCarSpeed = _ss.NormalCarSpeed - vehVelDelta; _maxCarSpeed = _ss.NormalCarSpeed + vehVelDelta; _maxCount = maxCount; _minCount = minCount; _bufferList = new LinkedList <IDescriptorWithID>(); _blockGen = new BlockGenerator(ss, carSizeDistr, carCountDistr, 0x20); _modifable = modifable; }
void CharSound(UserData data, SoundResource snd) { float loud = 0.0f; PlaySettings psonce = PlaySettings.PlayOnce; psonce.Loudness = loud; AgentPrivate agent = ScenePrivate.FindAgent(data.User); ObjectPrivate obj = ScenePrivate.FindObject(agent.AgentInfo.ObjectId); if (snd != null) { agent.PlaySoundAtPosition(snd, obj.Position, psonce); } else { Log.Write(LogLevel.Error, GetType().Name, $"No Sound"); } }
public override void Init() { // Check to make sure a sound has been configured in the editor if (Sound == null) { Log.Write("SoundScript has no configured sound to play!"); return; } ObjectPrivate.AddInteractionData addData = (ObjectPrivate.AddInteractionData)WaitFor(ObjectPrivate.AddInteraction, "Play sound", true); addData.Interaction.Subscribe((InteractionData data) => { PlaySettings playSettings = PlaySettings.PlayOnce; playSettings.Loudness = (60.0f * (Loudness / 100.0f)) - 48.0f; // Convert percentage to decibels (dB) ScenePrivate.PlaySound(Sound, playSettings); }); }
public BlockGenerator(PlaySettings ss, RandomItem <int> carSizeDistribution, RandomItem <int> carAmountDistribution, byte mask = 0) { SS = ss; _carSizeDistr = carSizeDistribution; if (_carSizeDistr.Length > 3 || _carSizeDistr.Items.Max() > 3 || _carSizeDistr.Items.Min() < 1) { throw new ArgumentException("Bad blockLengthDistribution"); } _carAmntDistr = carAmountDistribution; if (carAmountDistribution != null && (carAmountDistribution.Items.Min() < 1 || carAmountDistribution.Items.Max() > SS.Road.LinesCount)) { throw new ArgumentException("Bad carAmountDistribution"); } _topBounds = new float[SS.Road.LinesCount]; _topBoundsFtr = new float[SS.Road.LinesCount]; _mask = mask; }
internal static void _DoPlaySettingsGlobalControls(this PlaySettings _this, WidgetRow row) { foreach (var toggleSetting in toggleSettingDefs) { if (toggleSetting.enableButton) { bool value = toggleSetting.toggleWorker.Value; row.ToggleableIcon(ref value, toggleSetting.icon, toggleSetting.Label, toggleSetting.soundDef, toggleSetting.tutorTag); if (value == toggleSetting.toggleWorker.Value) { continue; } toggleSetting.toggleWorker.Value = value; } } }
public static EventAction ParseEventAction(byte[] data) { using (var reader = new BinaryReader(new MemoryStream(data))) { var eventAction = new EventAction(data.Length); eventAction.Id = reader.ReadUInt32(); eventAction.Scope = (Scope)reader.ReadByte(); eventAction.ActionType = (ActionType)reader.ReadByte(); eventAction.ObjectId = reader.ReadUInt32(); eventAction.Unknown_06 = reader.ReadByte(); eventAction.ParameterCount = reader.ReadByte(); eventAction.ParameterTypes = new AudioParameterType[eventAction.ParameterCount]; for (var i = 0; i < eventAction.ParameterCount; i++) { eventAction.ParameterTypes[i] = (AudioParameterType)reader.ReadByte(); } eventAction.ParameterValues = new float[eventAction.ParameterCount]; for (var i = 0; i < eventAction.ParameterCount; i++) { eventAction.ParameterValues[i] = reader.ReadSingle(); } eventAction.Unknown_08 = reader.ReadByte(); EventActionSettings settings; switch (eventAction.ActionType) { case ActionType.Play: settings = new PlaySettings(); ((PlaySettings)settings).FadeInCurve = (CurveShape)reader.ReadByte(); ((PlaySettings)settings).ObjectSoundBankId = reader.ReadUInt32(); break; default: settings = new UnknownSettings(); ((UnknownSettings)settings).Blob = reader.ReadBytes(data.Length - (int)reader.BaseStream.Position); break; } eventAction.Settings = settings; return(eventAction); } }
public override void Play(PlaySettings ps) { stopping = false; if (!ps.onBeat) { Play(ps.fadeLength); return; } if (playing) { volume.FadeIn(ps.fadeLength, false, ps.fadeType, ps.power); } if (!playing || !looping) { playing = true; StartCoroutine(CoPlayOnBeat(ps)); } }
IEnumerator Start() { // Updateが実行されないようにする。 enabled = false; // ゲーム設定の反映 PlaySettings settings = PlayInfo.Instance.Settings; mode = settings.Mode; setTimeSec = 1.7f - settings.Speed * 0.15f; // 楽曲データのロード audioManager = AudioManager.Instance; yield return(StartCoroutine(LoadMusic())); // ゲームスタート StartGame(); // Updateを許可する。 enabled = true; }
public override void Play(PlaySettings ps) { stopping = false; if (!ps.onBeat) { Play (ps.fadeLength); return; } if (playing) { volume.FadeIn (ps.fadeLength, false, ps.fadeType, ps.power); } if (!playing || !looping) { playing = true; StartCoroutine (CoPlayOnBeat (ps)); } }