Make certain things happen at certain points.
Hi,
I'm creating a platform game, and I want to make certain actions happen when the player does something (For example when I hit a box collider on level 4, make a platform pop up or something).
Now, I do know how to make such things happen, but what's the best way to do this? Should I create separate scripts for each level to manage the activities? Maybe I should put all the events in one single script, but that will become quite messy.
Has someone experience with this, and do they know a good way to do this?
Thanks in advance
Answer by Derenger21 · Jul 04, 2016 at 11:27 AM
Seeing as this is kind of a creative question, I'll throw my 2 cents in. But the important thing is, so long as it all runs smoothly, do it your way. (unless you're in a team)
I like uniformity, so I would have a script on the trigger object with
public GameObject triggerTarget;
OnTriggerEnter (collider collider){
triggerTarget.getcomponent<triggerReciever>().trigger();
}
Then on each receiver object, give it a method
public bool _openTrig;
public bool _explodeTrig;
public void trigger() {
if (_openTrig){
//this is a door so open it, move up or something
}
if (_explodeTrig){
//explode this
}
}
from there, you can determine on the prefab what type of trigger to recieve by the public bool. you could even use a public string or int or how ever you want to manage this.
You can also determine each target in scene, not prefab, so it's unique to each trigger.
This is just how I would design it, it may not be professional or 'right' but I assemble most prefabs to be fine tuned in the inspector.
P.S. no spell check, sorry.
Thanks, great explanation of how I would be able to do this.
I'll have a look where I can think of and might keep this in $$anonymous$$d, thanks ;)