I have some ideas after sleeping and then talking to Kevin
And some questions to resolve
- Would it be expected for PlayerData to hold WeaponData?
- If so, I can simply make WeaponShooter reference PlayerData’s weapon and my problems will be solved since I just need to change the PlayerData’s weapon details
- I realized my bounce bullet sets its own direction and flies out… you’d expect the weapon shooter or the weapon SO to hold data about how much of an angle the bullet should fire
- I’ll have to fix this later… I have some more code debt than I thought
- Also I have a lot that I forgot about… hence this notion doc
- Maybe my problems with Effects and passing in parameters isn’t as bad as I thought
- After all, the effects should be changing data and data only (of course, some of the data is whether a feature is enabled or not like danger areas or something)
- So it doesn’t make sense to change any scripts themselves… just data containers…. …right?
- I hope I don’t run into issues with this later
- At the very least I can probably make it so that everything that needs to be changed by an effect, can be changed by changing some SO (which will also make me happier since my code increasingly relies on SOs)
- …My next project I’m going to use no SOs to see what the difference is
- I’m going to go with the above solution of making everything that needs to be changed an SO
- I really hope this isn’t me overengineering just for consistency, and I hope I don’t run into other issues because I’m so stubbornly sticking to this philosophy!
- Wait my weapons are terribly coded
- It’s time to refactor
- Wait I just realized I can pass the weapon shooter game object
- My effect just needs to take in a game object
- I forgot about this lol