Такой вопрос, может подскажете - есть у меня статический класс который управляет привязкой камеры. Все работает, но в методах в каждой строчке у меня происходит Getcomponent. Визуально видно, что проще один раз инициализировать объект, который используется для поиска элементов, а потом использовать в методах.
Встала проблема - как инициализировать статический класс? Опять могу путать терминологию, но в обычном классе наследнике от Моно есть возможность использовать Start(). Можно что-то подобное сделать в статическом классе, чтобы перед исполнением методов инициализировать поле скрипта ссылкой на объект?

using UnityEngine;
using System.Collections;
public static class StaticCameraMagnit {
public static bool MagnitCapture, beMagnit;
public static GameObject FromMagnited;
private static CameraNavigation CameraNav;
CameraNav = GameObject.Find("CameraNavigate").GetComponent<CameraNavigation>();
// вот это действие где нужно прописать для выполнения? Потом методы будут использовать эту ссылку вместо постоянного GetComponent
public static void MagnitedCamera(GameObject FocusTarget) {
if (!MagnitCapture) {
if (GameObject.Find("CameraNavigate").GetComponent<CameraNavigation>().Magnit_Unit!=null) {
if (GameObject.Find("CameraNavigate").GetComponent<CameraNavigation>().Magnit_Unit.tag=="Unit Player") {
FromMagnited = GameObject.Find("CameraNavigate").GetComponent<CameraNavigation>().Magnit_Unit;
}
}
GameObject.Find("CameraNavigate").GetComponent<CameraNavigation>().Magnit_Unit = FocusTarget;
beMagnit = GameObject.Find("CameraNavigate").GetComponent<CameraNavigation>().isMagnit;
if (!beMagnit) GameObject.Find("CameraNavigate").GetComponent<CameraNavigation>().isMagnit = true;
}
MagnitCapture = true;
}
public static void UnMagnitedCamera() {
GameObject.Find("CameraNavigate").GetComponent<CameraNavigation>().Magnit_Unit = FromMagnited;
GameObject.Find("CameraNavigate").GetComponent<CameraNavigation>().isMagnit = beMagnit;
MagnitCapture = false;
}
}