So you instantiate or Add a helper component class, and you want it to function, don’t you always need to declare a variable for it at the top of your class
EVERY SINGLE TIME?
Or do you just instantiate locally in whatever function needs it, and just check inside that function if it exists or not and work with it in each one?
Does it matter or effect game performance either way?
my problem is I could end up with a thousand different classes listed at the top of any given class when I want to compartmentalize functions into separate classes. (someone suggested this and I agree)
such as:
//GameRunningClass_1.cs
GameObject SpecialObject1, SpecialObject2, SpecialObject3; //etc, etc etc
public void SpecialAction()
{
TypeOfSpecialClassScript = SpecialObject1.AddComponent<TypeOfSpecialClass>();
//oh wait a problem arises
}
yeah so a problem arises, or I can keep declaring this over and over before doing anything
//maybe change below to private <T>(<T> _specType, GameObject _searchThisGameObject) if that would work.. not sure
private TypeOfSpecialClass CheckForThisSpecificSpecialScript(SpecificType _specType, GameObject _searchThisGameObject)
{
if (_searchThisGameObject.GetComponent<_specType>() != null) //can you even do this?
{
return _searchThisGameObject.GetComponent<_specType>()
}
}
public void WhateverFunction()
{
TypeOfSpecialClassScript = CheckForThisSpecificSpecialScript(passSelfTypeClass, passGameObjectToSearchForComponentIn); //guess I could make it take a generic type like <T>? so I dont need to make a special "CheckForThisSpecificSpecialScript" function for EVERY type I wanted to check?
}
not sure the above code even could work. or is even possible
basically I wanted to avoid this:
//Class.cs
Type1 name1;
Helper1Type1 name1;
Helper1Type2 name2;
Type2 name2;
Helper2Type1 name1;
Helper2Type2 name2;
Type3 name3;
Type4 name4;
//etc, etc, etc
But it seems unavoiable if I plan on managing certain classes within update events somewhere else, so I’m wondering if that is normal or what most of you do.