There were some weird 'behavior is missing scripts' errors that didn't seem to actually arise from anything treatable. In the end I ended up deleting mouselook from everything and that worked. I lost a lot of work on reorganizing the folders and figuring out what classes were no longer needed when I ended up stashing changes I couldn't retrieve in order to fix this (I wanted to make sure I hadn't broken anything and thank goodness I hadn't)
Learning to work with stashes
Aha, I've found the blockset has gone missing.
Looks like we got rid of all the behavior problems and fixed the major bug (The blockset assets were getting disconnected when we moved the OCBlockSet script. Before I continue onward from here, I'm going to shift to eh master branch, grab the XML for the 4 remaining unrepaired blocksets, and toss it into this branch so that this doesn't happen again. I'm also going to make sure OCBlockSet is in its final resting place so that we don't break anything in the futurez.
Successfully preserved all the blocksets. All it took was copy pasting the assets from Master (since I'd accidentally overwritten their XML) and changing the guid under their Script. If in the future I need to move the OCBlockSet location again, the important thing is not to drag and drop the monoscript into place (this could lose us the XML) but just to hand-edit the files which is quick enough for such a big refactoring.
I went through and I addressed each and every last remaining tiny little warning that this program was throwing, and I fixed ALL of them except the ones that had to do with networking code. Much of the time these were 'variable assigned but never used' and if they were not member fields I would comment them out. There IS a possibility, however odd, that in commenting out the code I commented out a function that was supposed to DO something (not just an accessor) and then whose return value was never used. I have to test for this before I merge with the master branch.
Okay, so, the hierarchy is partially refactored. I'm definitely getting a lot of mileage with fixing broken assets by having them serializing as text files instead of binaries (since the assets still store everything properly but the script GUID, it is trivial to open up the asset and paste the proper GUID into place, and everything automagically fixes itself after that. I am pushing because I just fixed a small bug I'd introduced where some depreciated Eat This Input Rawr function in Console was performing the function of nabbing arrow key input. No doubt there's a fine and dandy way around using that function but I'm not solving it right now. One of the most irritating things right now is how OCMap really ought to be a few different files. But seeing as it's not, i'm not going to do a big refactoring/fixing of it. My main job is just to organize everything in a more useful way for the future; not to try and fix everything. As a result I'm also getting better insight into the code structure, which ought to help me figure out where I'm going to need to put some of these listeners for the unittests and so forth.
I believe reorganizing the hierarchy has at this point been successfully done.
Added a ton of Readmes everywhere, made sure the main menu and block viewer were included in the unity game build, and tracked down a lot of areas where we needed to look at/better examine what code is valuable and what can now be excluded from use, and remarked upon these issues in the Readmes. Hopefully now the hierarchy will help explain itself.
Final commit before merging.