示例#1
0
    public void Initialize(FieldMapPortalInfo portal_info)
    {
        portalInfo   = portal_info;
        portalData   = portalInfo.portalData;
        portalID     = portalData.portalID;
        isClearOrder = (FieldManager.IsOpenPortalClearOrder(portalData) || FieldManager.IsOpenPortal(portalData));
        if (GameSaveData.instance.isNewReleasePortal(portalID) && FieldManager.IsOpenPortal(portalData))
        {
            GameSaveData.instance.newReleasePortals.Remove(portalID);
        }
        isUnlockedTime = portal_info.portalData.isUnlockedTime();
        isToHardMap    = FieldManager.IsToHardPortal(portalData);
        nowPoint       = portal_info.GetNowPortalPoint();
        maxPoint       = (int)portal_info.GetMaxPortalPoint();
        isFull         = portal_info.IsFull();
        viewType       = VIEW_TYPE.NORMAL;
        if (!isClearOrder || !isUnlockedTime)
        {
            viewType = VIEW_TYPE.NOT_CLEAR_ORDER;
        }
        else if (portalData.dstMapID == 0)
        {
            viewType = VIEW_TYPE.TO_HOME;
        }
        else if (!MonoBehaviourSingleton <WorldMapManager> .I.IsTraveledPortal(portalData))
        {
            viewType = VIEW_TYPE.NOT_TRAVELED;
        }
        else if (isToHardMap)
        {
            viewType = VIEW_TYPE.TO_HARD_MAP;
        }
        if (portalData.dstQuestID != 0)
        {
            if (portalData.dstMapID != 0)
            {
                int num = 0;
                ClearStatusQuest clearStatusQuest = MonoBehaviourSingleton <QuestManager> .I.clearStatusQuest.Find((ClearStatusQuest data) => data.questId == portalData.dstQuestID);

                if (clearStatusQuest != null)
                {
                    num = clearStatusQuest.questStatus;
                }
                if (num != 3 && num != 4)
                {
                    isLock  = true;
                    isQuest = true;
                }
            }
            else
            {
                isQuest = true;
            }
        }
        CreateView();
        if (MonoBehaviourSingleton <DropTargetMarkerManeger> .IsValid())
        {
            MonoBehaviourSingleton <DropTargetMarkerManeger> .I.CheckTarget(this);
        }
    }