Documentations of TECHMANIA projects, hosted in a repo so they can be localized.
TECHMANIA version: 2.3
Unity version: 2022.3.36f1
ThemeApi.GameSetup.onNoteResolved
callback that provides the time difference on the note.SpriteSheet.flipWhenScanningLeft
for allowing some skin elements to be horizontally flipped on right-to-left scans.ComboSkin.animationCurves
SkinAnimationCurve
and SkinAnimationKeyframe
Statistics
ThemeApi.Techmania.stats
to retrieve the current Statistics
instancePaths.GetStatisticsFilePath
EditorOptions.autoSave
ThemeApi.IO.ReloadAllSkins
TECHMANIA version: 2.2
Unity version: 2022.3.30f1
This update is focused on setlists.
Setlist
, Setlist.PatternReference
and Setlist.HiddenPattern
.SetlistScoreKeeper
, allowing you to query the current score in a setlist using an interface similar to ScoreKeeper
.Paths
Options
Records
(also added class SetlistRecord
)Pattern
ThemeApi.EditorInterface
ThemeApi.GameSetup
ThemeApi.GameState
ThemeApi.IO
GlobalResource
GlobalResource.SetlistInFolder
.TrackSubfolder
and TrackWithError
are renamed to Subfolder
and ResourceWithError
to be reusable by setlists. This renaming does not affect Lua code.GetSubfolder(string parent)
is deprecated as it’s ambiguous between tracks and setlists. It will still work on tracks, after printing a warning to the console. Please call GetTrackSubfolders(string parent)
or GetSetlistSubfolders(string parent)
instead.VisualElementWrap
PointerMoveEvent
ContainsPointInScreenSpace
that takes a Vector3
PreparedSetlist
and PartialComplete
to the TECHMANIA state machine.LegacyRulesetOverride
is renamed to WindowsAndDeltas
so it can be reused in rulesets.TECHMANIA version: 2.1
Unity version: 2022.3.16f1
Switched to FMOD as the audio backend. All usages of UnityEngine.AudioClip
and UnityEngine.AudioSource
are replaced with FmodSoundWrap
and FmodChannelWrap
, new classes that wrap around FMOD classes. The wrapper classes are designed to imitate the Unity classes as closely as possible, so older code on API version 1 still mostly work.
AudioSourceManager
is renamed to AudioManager
.AudioSourceManager.IsAnySourcePlaying()
–> AudioManager.IsAnySoundPlaying()
), though the old names remain for backwards compatibility.Options.numAudioBuffers
and Options.useAsio
, new audio options offered by FMOD.Options.ApplyAudioBufferSize()
now has no effect other than printing a warning to Unity console.AudioSource
and FmodChannelWrap
that we can’t emulate is that, once the sound stops, AudioSource
remains valid, but FmodChannelWrap
becomes invalid, and all operations on it will print an ERR_INVALID_HANDLE
warning to the console. If migrating from version 1, please watch out for these warnings and adjust your code accordingly.Paths.EscapeBackslash
, which now does nothing. Added Paths.ForceEscapeBackslash
in case escaping is still necessary. EscapeBackslash
was added in an age when visual elements parsed escape sequences by default; that is no longer the case.Status.code
and ThemeApi.Techmania.GetPlatform()
that return an enum instead of string.ThemeApi.IO
that release assets (textures, sounds, videos) loaded from files. Themes should use these methods to control their memory footprint.ThemeApi.Techmania.InEditor()
that returns whether TECHMANIA is running inside the Unity editor.ThemeApi.Techmania.WrapVisualElement(VisualElement)
that creates a VisualElementWrap
object.ThemeApi.VideoElement.SetVideoEndCallback
that allows you to receive a callback when a video finishes playing.TECHMANIA version: 2.0
Unity version: 2022.3.2f1
Initial version.