public void CleanActiveObject(GameObject key) { if (!activeObjects.ContainsKey(key) || activeObjects[key] == null) { return; } IActive active = activeObjects[key].GetComponent <IActive>(); active?.SetActive(false); activeObjects[key] = null; }
public void SetActiveObject(GameObject key, GameObject newActiveObject) { if (!activeObjects.ContainsKey(key)) { activeObjects.Add(key, null); } if (activeObjects[key] == newActiveObject) { return; } CleanActiveObject(key); activeObjects[key] = newActiveObject; IActive active = activeObjects[key].GetComponent <IActive>(); DebugObject(key); active?.SetActive(true); }