- Home /
Global Transform-one place to rule them all.
I was working on something else when I noticed I had a myTransform variable in several scripts. My thought was to simply add it to both my Player and Mob scripts, then grab the components anytime I needed them in a local variable.
Good idea? Bad Idea?
For organizational purposes and reasons for keeping your sanity, it would be a good idea to limit the number of places that you call that myTransform variable. I'm a bit confused by what you mean by grabbing the components any time you need them in a local variable. Are you suggesting that you would have myTransform set to public in one script then in other scripts call GetComponent().myTransform ... blah blah blah?
That would be more of a hassle than having myTransform in multiple scripts. Just my opinion. I'm still not sure I'm following you.
Answer by zombience · Sep 28, 2012 at 04:21 PM
Without looking at your code, it appears that myTransform is going to be a local variable to each script. Do you want it to be the same transform always? or is it, say, the origin of where your object started? Or your original rotation info that you need?
I'd guess that having one global transform variable that you then add to individual scripts is going to be a bad idea and confusing, because you'll be creating multiple references to the same object.
If I need something like a place of origin, I usually start out scripts with a:
Transform origin;
void Start(){ origin = gameObject.transform; }
so I can always recall original position and rotation.
Not sure exactly what your needs are here though
Your answer
Follow this Question
Related Questions
How to set a Transform variable with code (C#) 3 Answers
How to assign a private transform of my player in script? 1 Answer
Variable values in Variable names 2 Answers
Distribute terrain in zones 3 Answers
Converting this JS code to C# 1 Answer