Is it finally over?
So, from here the record gets fuzzy (they really only got formatted after a few weeks past for each)
but as to continue showing proof of work (whether it’s game development or not is your prerogative),
here’s the rest: the FINAL final version —
PatchOdyssey.Collections.KeyInfo alongside PatchOdyssey.Collections.KeyInfo.Translate(…)
PatchOdyssey.Collections.PointerInfo
PatchOdyssey.Collections.Vector2Bool, PatchOdyssey.Collections.Vector3Bool, PatchOdyssey.Collections.Vector4Bool
PatchOdyssey.*…IndexFor<T>
PatchOdyssey.*…Load<T> completed
Reordered PatchOdyssey.Util
User interface system
Keyboard event system
PatchOdyssey.Collections.DeviceState structure with non-supported Util.Reference.Compare(…) and Util.Reference.Equals(…)
PatchOdyssey.Log and PatchOdyssey.UI utilities
PatchOdyssey.Collections.Shared` and PatchOdyssey.Collections.SharedMono` structure utility
Keys.IsPressed(…) (as well as Keys.IsHeld(…), Keys.IsReleased(…)) easier to prototype than some Key.OnKeyPressed(…) event
Keys.Modifiers and Keys.Specials
NoInlining (remember AggressiveInlining) for functions that throw
operator false/ true overloading
Mouse event system
Tabbing event system
Util.Path namespace
Util.Vector rework including Util.Vector.Coalesce(…) and Util.Vector.Set(…)
Edible RefList in Inspector. Had to learn how UnityEngine.JsonUtility worked — delimit each T[] by some serialized container because T[] itself isn’t serializable (and use UnityEditor.SceneManagement.EditorSceneManager.MarkSceneDirt(UnityEngine.SceneManagement.SceneManager.GetActiveScene() to persist serialization)
PatchOdyssey.Collections.LazyMono and PatchOdyssey.Collections.SharedLazyMono for deferred initialization
Fixed RefReadOnlyDictionary wrapping for RefDictionary (again, bad initial design)
UI::components finally begun: “background”, “combat”, “credits”, “dialogue”, “inventory”, “menu”, “pause”, “splash”, “tooltips” (HUD), “tooltips” (scene)
First step into a non-PatchOdyssey construct, I see…
Metted PatchOdyssey.Animation` classes into PatchOdyssey.Collections
Serialization with UnityEngine.GameObject didn’t work (must be main thread, not supported by default, can’t enumerate before scene load, …), temporarily fell back to manual drawing solution
Explicit Util.Lerp(…) function
Fixed minor bug with UISequence animator i.e. ((b - a) * progress) + a
Serialization with UnityEngine.GameObject works now
Added Util.Log.Clear(…)
Buttons animated
Components (including “menu”) animated
Fixed minor bug in AnimationSequence interpolating the wrong AnimationKeyframes
Fixed minor bug with supporting both pointer and tabination devices for button selection
Renamed UIKeyframe and UISequence to AnimationKeyframe and AnimationSequence
Serialization a la persistent save system prototyped
Splash screen animated
UI selection event system completed
Updated extension methods to support nullish coalescence
Wrote up a simple console prettifier
Menu navigation
Music/ volume sliders functionality
Background component dynamism
Gameplay sequencing
AnimationSequences as countdowns(?)
Let aside Entity Component System (ECS) due to deadline
Pause feature works
Quit to menu works
Transition includes icon
Unity’s “Script update consent” updated from UnityEngine.Rigidbody.velocity to UnityEngine.Rigidbody.linearVelocity
That last point is what this dialog window was about
Some extra proofs of work: