public void Recycle(SymbolView obj) { obj.gameObject.SetActive(false); m_Pool.Enqueue(obj); }
private void CreateSymbolView(BaseObject p_baseObj) { SymbolView symbolView = null; if (p_baseObj is Party) { m_SymbolPlayer.InitializeView(p_baseObj); m_AreaCamera.InitializeView(p_baseObj); return; } if (p_baseObj is Monster) { symbolView = m_SymbolMonsterPrefab.Get(); } else if (p_baseObj is InteractiveObject) { InteractiveObject interactiveObject = (InteractiveObject)p_baseObj; if (interactiveObject.IsSecret) { return; } if (interactiveObject.MinimapVisible) { switch (interactiveObject.Type) { case EObjectType.DOOR: if (String.IsNullOrEmpty(interactiveObject.Prefab)) { return; } symbolView = m_SymbolDoorPrefab.Get(); break; case EObjectType.ENTRANCE: symbolView = m_SymbolEntrancePrefab.Get(); break; case EObjectType.TELEPORTER: symbolView = m_SymbolTeleportPrefab.Get(); break; case EObjectType.NPC_CONTAINER: symbolView = m_SymbolNpcPrefab.Get(); break; case EObjectType.TRAP: symbolView = m_SymbolTrapPrefab.Get(); break; } } } if (symbolView == null) { return; } symbolView.transform.parent = m_SymbolLayer; symbolView.InitializeView(p_baseObj); symbolView.MakePixelPerfect(); symbolView.CheckVisibility(true); m_SymbolViews.Add(p_baseObj, symbolView); }