示例#1
0
 public void Recycle(SymbolView obj)
 {
     obj.gameObject.SetActive(false);
     m_Pool.Enqueue(obj);
 }
示例#2
0
        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);
        }