Woah okay, big distraction. But, its just a cool concept and I can’t wait to see the kinds of shit we’re gonna be able to do when APPs and databases are coded by intelligent machines that have been scripted by Node.js and DOM hackers. Strange things are afoot at the Circle K.
UNITY3d and C#: This week it’s all about data serialization and instantiated objects. The book I’m currently plowing through is titled:
Unity in Action! It’s a pretty handy book as far as unity scripting books go. This one isn’t for the starter looking to learn from scratch. It requires you to have a bit of pre-existing experience writing C# and managing gameObjects. The scripting dialog in the book itself asks the reader to inject alot of reference code between inter connected objects and scripts with out too much hand holding often simply referring only to the methods that have to be added at the time they are needed. Not much of the example code can simply be copy and pasted. Thank fully this book is written with Unity 5x in mind so the GameObject<ObjectZ> references and such are up to date.
New to me is: Serialization or [SerializeField]. Its use calls for the compiler to convert an object or bit of code into a block of raw data. In this form it’s locked it from the editor so can then be used in a myriad of ways. Then when its done it can either be referenced to null (destroyed) or converted back to editable c# code. This isn’t anything new but I did learn that the editor inside unity serializes the data in side itself when it’s displayed to you. Which I suspect is the culprit behind the editor issue of altering script values in the inspector locks the value to whatever has been serialized by the inspector, and if you alter the scripts declared float for instance, the inspector permanently ignores the value in favor of the GUI one. Just a thought.
Where would you use this? Imagine you have a gun shooting bullets, each bullet you shoot has its own properties like ray projection, physical properties like speed and scale. We want the object to be instantiated and go about its business un-editable by the game controller SO we can create another one. Or 500 of them and and not have to scan each one each frame and bring the system to a snails pace.
All interesting shit right? more next week.