Thanks again, Dop;
just a few things, and I am sorry I have more questions, but I am trying to get my head around this because if I do, I believe it will help me out with my overall design.
1) I just want to declare that even though I have been using C2 for a while and my ideas for games are there. I have had no prior programming experience, and there are still features with C2 that I am yet to fully understand and I am still learning how the logic works, but I do believe I am growing with this every day, so if some of my questions make me seem like a complete dud, you know why. I do not proclaim myself to be experienced with any of this.
2) To confirm about families; you can define instance variables for multiple objects without having to set it for each object, you just set it to a family. But, say if an instance of an object that is a part of a family takes 'damage' then you can tell C2 to only subtract from the health value of that one instance, it does not necessarily effect every other family member, so later if new objects were added to that family then you do not have to program the 'health system' again of the game for that object, it will just work.
I have read about families but I'm still short of fully understanding how they work. I will have to go and look it all up again. I have not really been using them for my projects and I feel I probably should.
3)I was hesitant writing number 2 because as I was writing it, I thought why would you want to create multiple sprite objects when I could use the one object just with different animations to look different or is that bad practice? I feel like I should be using the one object with different animations to make it look different. For example, each of my buildings is just one object with different animations, but if I am to create an enemy building I'm torn between using the one object or create a different object and put it into a family.
4)(I wanted to ask this privately but it seems like this forum doesn't allow private messaging anymore) Specifically; I wanted to get my head around something because I am using what you suggested, I'll show you here:
i.imgur.com/GKfdFed.png
This is definitely so much easier, less code a lot easier to understand, and it works.
The only thing I do not understand is how that is setting Global_b_DebugFamilyVisible between the values of 0 and 1. Setting something to "(name=0)" seems odd to me. I just don't understand how that means "if you are 0, set to 1, and if you are 1, set to 0."