So it is past 10 am as I write this and I have to get up early to go to work, wee
But I'm tired of trying to push to get this piece more complete before committing - so here's a first very incomplete draft that totally shouldn't go anywhere yet - https://github.com/MovingBlocks/Terasol ... 5ffe90b8cf
It doesn't include the ES stuff I've been tinkering with (I'll make a separate thread for that when ready) as my understanding of that is still growing - getting somewhere good though, especially today and yesterday. I had entities being added but currently commented out stuff and didn't commit everything.
Mainly it adds two new logical block structures - BlockCollection and BlockSelection
The Collection is a Map of positions & blocks, and really starts as almost the same thing as the old Blueprint class, which is now abstract and owns a Collection. The Collection also has an "attachment point" which is a way of setting where the Collection's blocks should be placed relative to a given target position. It has build methods and assorted utility.
The Selection is just the positions solo (which the Blueprint class also had) for when we don't care about the blocks, only positions. The positions are individual and independent, maybe we'll have a separate square / grid thing (current grid is a highlight and used for the square copy paste IIRC). That's not nearly as done yet as that's where I bump into the ES on trying to pull back Portal entities to test for overlap.
Oh, yeah, and there's a slightly fancier Portal for testing that you can place in the world with a new debug tool that has a goofy icon I didn't even realize I was ending up with until it happened - and now it has grown on me!
We had direct references to maps and sets of blocks and positions before (all over and somewhat inconsistent still), but I'm figuring wrapping them might help with consistency and utility, and would make it easier to change the underlying structures in the future. Although I'm not sure if the wrapping adds enough cost to where it'll outweigh any benefit in the future. One of those "I could use some feedback here" bits
But really - this is barely even ready for feedback. But I've been hitting time barriers and falling behind (just see how far behind my new meta branch already is, heh) and am tired of my cluttered workspace. And I even asked Begla to feel free to tinker with a 3D spinny representation of said BlockCollection tomorrow, then had trouble even getting it finished enough to commit tonight
So there it is - more to come very soon! And don't pay attention if some of this comes off as sleep-deprived rambling, I'll clear things up later when more time arrives - I'm sure it needs lots of refactoring as I'm not totally happy with the architecture, but have some confidence in the direction...
But I'm tired of trying to push to get this piece more complete before committing - so here's a first very incomplete draft that totally shouldn't go anywhere yet - https://github.com/MovingBlocks/Terasol ... 5ffe90b8cf
It doesn't include the ES stuff I've been tinkering with (I'll make a separate thread for that when ready) as my understanding of that is still growing - getting somewhere good though, especially today and yesterday. I had entities being added but currently commented out stuff and didn't commit everything.
Mainly it adds two new logical block structures - BlockCollection and BlockSelection
The Collection is a Map of positions & blocks, and really starts as almost the same thing as the old Blueprint class, which is now abstract and owns a Collection. The Collection also has an "attachment point" which is a way of setting where the Collection's blocks should be placed relative to a given target position. It has build methods and assorted utility.
The Selection is just the positions solo (which the Blueprint class also had) for when we don't care about the blocks, only positions. The positions are individual and independent, maybe we'll have a separate square / grid thing (current grid is a highlight and used for the square copy paste IIRC). That's not nearly as done yet as that's where I bump into the ES on trying to pull back Portal entities to test for overlap.
Oh, yeah, and there's a slightly fancier Portal for testing that you can place in the world with a new debug tool that has a goofy icon I didn't even realize I was ending up with until it happened - and now it has grown on me!
We had direct references to maps and sets of blocks and positions before (all over and somewhat inconsistent still), but I'm figuring wrapping them might help with consistency and utility, and would make it easier to change the underlying structures in the future. Although I'm not sure if the wrapping adds enough cost to where it'll outweigh any benefit in the future. One of those "I could use some feedback here" bits
But really - this is barely even ready for feedback. But I've been hitting time barriers and falling behind (just see how far behind my new meta branch already is, heh) and am tired of my cluttered workspace. And I even asked Begla to feel free to tinker with a 3D spinny representation of said BlockCollection tomorrow, then had trouble even getting it finished enough to commit tonight
So there it is - more to come very soon! And don't pay attention if some of this comes off as sleep-deprived rambling, I'll clear things up later when more time arrives - I'm sure it needs lots of refactoring as I'm not totally happy with the architecture, but have some confidence in the direction...