コード例 #1
0
    /// <summary> 준비 팝업 열어줌 </summary>
    static public UIBasePanel OpenReadyPopup(GAME_MODE mode, UIBasePanel basePanel, int completeCount, int maxCount, uint stageId = 0)
    {
        string     path = "UIPopup/ReadyPopup";
        GameObject go   = UIMgr.Open(path, mode, basePanel, completeCount, maxCount, stageId);

        return(go.GetComponent <UIBasePanel>());
    }
コード例 #2
0
    /// <summary> 카테고리페널 열어 </summary>
    static public UIBasePanel OpenCategoryPanel(UIBasePanel prevPanel)
    {
        string     path = "UIPanel/CategoryPanel";
        GameObject go   = Open(path, prevPanel);

        return(go.GetComponent <UIBasePanel>());
    }
コード例 #3
0
    /// <summary> 소셜 페널 </summary>
    static public UIBasePanel OpenSocialPanel(int type, UIBasePanel reOpenPanel = null)
    {
        string     path = "UIPanel/SocialPanel";
        GameObject go   = UIMgr.Open(path, type, reOpenPanel);

        return(go.GetComponent <UIBasePanel>());
    }
コード例 #4
0
    /// <summary> 업적 페널 </summary>
    static public UIBasePanel OpenAchievePanel(UIBasePanel reOpenPanel, int tabType, int achieveType = 1)
    {
        string     path = "UIPanel/AchievePanel";
        GameObject go   = UIMgr.Open(path, tabType, reOpenPanel, achieveType);

        return(go.GetComponent <UIBasePanel>());
    }
コード例 #5
0
    /*
     * public Quest.QuestInfo GetCureentQuest()
     * {
     *  var enumerator = QuestList.GetEnumerator();
     *  while (enumerator.MoveNext())
     *  {
     *
     *
     *      return _LowDataMgr.instance.GetLowDataQuestData(enumerator.Current.Value.unTaskId);
     *  }
     * }
     */

    //퀘스트 완료후 처리해야할것들 -
    public void QuestCompleteAfterProcess(uint questID, bool success = false)
    {
        Quest.QuestInfo questInfo = _LowDataMgr.instance.GetLowDataQuestData(questID);
        if (questInfo != null)
        {
            if (questInfo.QuestType == (byte)QuestSubType.NPCTALK)
            {
                //아무일없다
            }
            else if (questInfo.QuestType == (byte)QuestSubType.SINGLEGAMEPLAY)
            {
                //게임 시작 처리를 이어서 한다
                (G_GameInfo._GameInfo as SingleGameInfo).OverrideGameStart(questID);
            }
            else if (questInfo.QuestType == (byte)QuestSubType.SINGLEGAMECLEAR)
            {
                if (TownState.TownActive) //소탕으로 클리어 후
                {                         //토크씬이 나왔었다면 챕터페널이 닫혀있을것이다. 다시 열어준다.
                    UIBasePanel chapterPanel = UIMgr.GetUIBasePanel("UIPanel/ChapterPanel");
                    if (chapterPanel != null)
                    {
                        UIMgr.OpenChapter(null);
                    }
                }
                else
                {
                    if (0 < (G_GameInfo.GameInfo as SingleGameInfo).QuestTalkId)
                    {
                        UIMgr.Open("UIPanel/ResultRewardStarPanel", true);//무조건 승리겠지?? 아니면 어떻게하지
                    }
                }
            }
        }
        //퀘스트가 없으면 그냥 리턴
    }
コード例 #6
0
    /// <summary> 아이템 상세 팝업 </summary>
    static public ItemDetailPopup OpenDetailPopup(UIBasePanel basePanel, NetData._ItemData itemData = null, int depth = 3, bool isAutoQ = false)
    {
        string     path = "UIPopup/DetailPopup";
        GameObject go   = Open(path, isAutoQ, depth, basePanel, itemData);

        return(go.GetComponent <ItemDetailPopup>());
    }
コード例 #7
0
ファイル: UIWindowMgr.cs プロジェクト: Lyyua/GameFrame
 private void SetNavigationStack(UIBasePanel mUIBasePanel)
 {
     if (mUIBasePanel == null)
     {
         Debug.LogError("[UI] page popup is null.");
         return;
     }
     if (!CheckIfNeedBack(mUIBasePanel))
     {
         return;
     }
     //Debug.Log(mUIBasePanel.CacheGo.name);
     if (mNavigationStack.Count < 0)
     {
         return;
     }
     if (mNavigationStack.Count >= 1 && mNavigationStack.Peek().UIPageProperty.UIPath == mUIBasePanel.UIPageProperty.UIPath)
     {
         return;
     }
     if (mUIBasePanel.UIPageProperty.WindowMode == UIWindowMode.HideOther)
     {
         mNavigationStack.Peek().OnExit();
     }
     mNavigationStack.Push(mUIBasePanel);
 }
コード例 #8
0
    public override void LateInit()
    {
        base.LateInit();

        if (0 < parameters.Length)
        {
            ReOpenPanel = (UIBasePanel)parameters[0];
        }

        if (mStarted)
        {
            List <Item.CategoryListInfo> list = _LowDataMgr.instance.GetLowDataCategoryList();
            for (int i = 0; i < Scroll.childCount; i++)
            {
                Transform     itemListTf = Scroll.GetChild(i).FindChild("ItemList");
                List <string> itemIdList = list[i].ItemList.list;
                for (int j = 0; j < itemIdList.Count; j++)
                {
                    uint itemid = uint.Parse(itemIdList[j]);
                    SetItemSlot(itemid, itemListTf.GetChild(j));
                }
            }

            TabGroup.CoercionTab(0);
        }

        OnSubTutorial();
    }
コード例 #9
0
    public void OnPMsgChangeTitle(uint id)
    {
        if (uiMgr.IsActiveTutorial)
        {
            UIBasePanel tutoPopup = UIMgr.GetUIBasePanel("UIPopup/TutorialPopup");
            if (tutoPopup != null)
            {
                //(tutoPopup as TutorialPopup).OnEndNetwork("ApplyTitle");
                Close();
                return;
            }
        }

        Title.TitleInfo info      = LowMgr.GetLowDataTitle(id);
        string          titleName = LowMgr.GetLowDataTitleName(info.TitleName);

        if (info.Type == 1)//접두
        {
            CurLeftTitle.text = titleName;
        }
        else//접미
        {
            CurRightTitle.text = titleName;
        }

        SceneManager.instance.SetNoticePanel(NoticeType.Message, 0, string.Format(_LowDataMgr.instance.GetStringCommon(973), titleName));
        CurTitle.text = string.Format("{0} {1}", CurLeftTitle.text, CurRightTitle.text);//합친거
    }
コード例 #10
0
    IEnumerator WaitAndStartTutorial()
    {
        while (bAddtiveSceneLoadFinish == false)
        {
            yield return(null);
        }

        //ulong key = NetData.instance.GetUserInfo().GetCharUUID();
        //if (PlayerPrefs.HasKey(string.Format("TutorialData_{0}.json", key)))
        //{
        //    PlayerPrefs.DeleteKey(string.Format("TutorialData_{0}.json", key));
        //}

        //SceneManager.instance.CheckTutorial();

        // condition check and do tutorial here.
        //SceneManager.instance.CurTutorial = TutorialType.INVEN_AUTO_EQUIP;
        UIBasePanel townPanel = UIMgr.GetTownBasePanel();

        //SceneManager.instance.CurTutorial = TutorialType.CATEGORY;
        UIMgr.OpenNoticePanel(NoticeType.Max);
        if (!townPanel.IsHidePanel)
        {
            //SceneManager.instance.PopRecommendData();
            (townPanel as TownPanel).OnEndStateLoad();
        }

        UIMgr.instance.UICamera.enabled = true;
    }
コード例 #11
0
    // show / hide를 하면 lateInit()이 불러지므로 단순히 보이지 않게 하기 위해 위치를 바꾸어 카메라밖으로 이동시킨다. 아울러 터치도 먹지 않게 한다.
    static public void setTownPanelVisible(bool b)
    {
        UIBasePanel townPanel = GetTownBasePanel();

//		if (townPanel != null) {
//			if (b){
//				townPanel.Show();
//			}
//			else{
//				townPanel.Hide();
//			}
//		}

        if (townPanel != null)
        {
            if (b)
            {
                townPanel.gameObject.transform.localPosition = new Vector3(0, 0, 0);
            }
            else
            {
                townPanel.gameObject.transform.localPosition = new Vector3(10000, 0, 0);
            }
        }
    }
コード例 #12
0
    public void HideDetail()
    {
        DetailMap.SetActive(false);
        SimpleMap.SetActive(true);
        SumSimpleMap.SetActive(true);

        UIBasePanel townPanel = UIMgr.GetTownBasePanel();

        if (townPanel != null)
        {
            townPanel.gameObject.SetActive(true);
        }

        UIBasePanel hudPanel = UIMgr.GetHUDBasePanel();

        if (hudPanel != null)
        {
            hudPanel.gameObject.SetActive(true);
        }

        UIBasePanel chatPopup = UIMgr.GetUIBasePanel("UIPopup/ChatPopup");

        if (chatPopup != null)
        {
            chatPopup.gameObject.SetActive(true);
        }

        UIBasePanel joy = UIMgr.GetUIBasePanel("UIObject/Joystick", false);

        if (joy != null)
        {
            (joy as Joystick).SetJoyActive(true);
        }
    }
コード例 #13
0
    /// <summary>
    /// 타운모델이 NPC일때 세팅
    /// 추후에 인자로 NPC데이터를 넘기고 클릭시에 해당 NPC가 취할수 있는 행동에 대한 판별부가 있어야함.
    /// 주로 튜토리얼과 임무와 관련이 깊음.
    /// 예) 황기영 클릭시 대화창이 뜨고 임무에 관한 간단한 스토리 전개 후 임무 진행
    /// </summary>
    public void InitNpc(Collider _target, byte _Type, string _NPCName)
    {
        TargetCollider = _target;
        NPCType        = _Type;

        NPCName = _NPCName;

        if (PathTf == null)
        {
            PathTf = transform.FindChild("PathTf");
            if (PathTf == null)//그래도 없으면 자신.
            {
                PathTf = transform;
            }
        }

        //임시 NpcData
        //npcData = new NPCDATA();
        //npcData.NpcId = npcId;
        //npcData.NpcName = "黄麒英";

        //일단 모델타입이 NPC일때와 포탈일 경우로 구분하고
        //펑션 타입을 정의해서 아래 클릭이벤트 들어오면 이벤트에 맞는 펑션 호출.
        //NPC일때는 NPC가 현재 가능한 액션정보를 찾아서 액션정보에 맞는 대화를 띄우거나
        //포탈일때는 포탈의 종류에 맞는 UI를 호출하거
        modelType = ModelType.MODEL_NPC;

        UIBasePanel townPanel = UIMgr.GetTownBasePanel();

        if (townPanel != null)
        {
            (townPanel as TownPanel).CreateHeadObjet(gameObject, NPCName, 0, 0, false);
        }
    }
コード例 #14
0
 public void ClosePanel(UIBasePanel i_Panel)
 {
     if (i_Panel != null)
     {
         i_Panel.Close();
     }
 }
コード例 #15
0
ファイル: Pc.cs プロジェクト: yonghoKim365/myProject_2020_05
    public override int TakeDamage(Unit attacker, float damageRatio, float damage, float AddDamage, eAttackType atkType, bool isSkillDamage, AbilityData _ability, bool through = false, bool projecttile = false)
    {
        if (G_GameInfo.GameMode == GAME_MODE.SINGLE && !IsPartner)//플레이어만 체크
        {
            int count = SingleGameState.StageQuestList.Count;
            for (int i = 0; i < count; i++)
            {
                if (SingleGameState.StageQuestList[i].CheckCondition(ClearQuestType.MINIMUM_HIT, 1))
                {
                    if (!SingleGameState.StageQuestList[i].IsClear)//다 맞았음 (망했음)
                    {
                        UIBasePanel panel = UIMgr.GetHUDBasePanel();
                        if (panel != null)
                        {
                            (panel as InGameHUDPanel).SetQuestStringColor(i, false);
                        }
                    }
                    break;//횟수 증가함 더이상 조건문 돌지않는다.
                }
            }
        }

        int val = base.TakeDamage(attacker, damageRatio, damage, AddDamage, atkType, isSkillDamage, _ability, through, projecttile);

        return(val);
    }
コード例 #16
0
ファイル: UIPanelManager.cs プロジェクト: Physics-EA/Samurai
    private void UpdateOtherUIPanelState(UIBasePanel tmpUIPanel)//更新其它UI的状态(显示或者隐藏)
    {
        if (tmpUIPanel == null)
        {
            return;
        }

        if (tmpUIPanel.showMode == UIShowMode.M_HideAll)
        {
            foreach (KeyValuePair <UIPanelID, UIBasePanel> item in showedUIPanelDict)//遍历所有正在显示的UI
            {
                item.Value.Hide();
            }

            showedUIPanelDict.Clear();
        }
        else if (tmpUIPanel.showMode == UIShowMode.M_HideAllExceptAbove)//剔除最前面UI
        {
            foreach (KeyValuePair <UIPanelID, UIBasePanel> item in showedUIPanelDict)
            {
                if (item.Value.IsAlwaysAbove)
                {
                    continue;
                }

                item.Value.Hide();
                showedUIPanelDict.Remove(item.Key);
                //  remove 后会使迭代器失效
                break;
            }
        }
    }
コード例 #17
0
    /// <summary> 코스튬 페널 오픈 </summary>
    static public UIBasePanel OpenCostume(UIBasePanel basePanel = null)
    {
        string     path = "UIPanel/CostumePanel";
        GameObject go   = UIMgr.Open(path, basePanel);

        return(go.GetComponent <UIBasePanel>());
    }
コード例 #18
0
    public void OpenLoadingPanel(bool on)
    {
        if (LoadingPanel == null)
        {
            UIBasePanel panel = GetPanel("LoadingPanel");
            if (panel == null)
            {
                panel = Open("LoadingPanel");
            }

            if (panel != null)
            {
                LoadingPanel loading = panel.GetComponent <LoadingPanel>();
                if (loading != null)
                {
                    LoadingPanel = loading;
                }
            }
        }

        if (LoadingPanel != null)
        {
            if (on == false)
            {
                LoadingPanel.Close();
            }
            else
            {
                LoadingPanel.LateInit();
            }
        }
    }
コード例 #19
0
    /// <summary>
    /// 챕터 페널 오픈
    /// </summary>
    static public UIBasePanel OpenChapter(UIBasePanel basePanel, uint openStageId = 0)
    {
        string     chapterPath = "UIPanel/ChapterPanel";
        GameObject go          = UIMgr.Open(chapterPath, basePanel, openStageId);

        return(go.GetComponent <UIBasePanel>());
    }
コード例 #20
0
    /// <summary>
    /// HeroPanel를 열어준다. 추후에 다른 경로를 통하여 아이템, 강화, 승급, 합성, 속성으로 가는 경로가있다면
    /// 함수를 수정해 줘야 한다.
    /// </summary>
    static public UIBasePanel OpenEquipPanel(UIBasePanel reOpenPanel, bool AutoEquip = true)  //자동장착에서 불러왔을때도 구분..
    {
        string     invenPath = "UIPanel/EquipmentPanel";
        GameObject go        = UIMgr.Open(invenPath, reOpenPanel, AutoEquip);

        return(go.GetComponent <UIBasePanel>());
    }
コード例 #21
0
    /// <summary>
    /// 각 UIBasePanel의 ZTickness를 기반으로 Position만 갱신시키도록 한다.
    /// </summary>
    protected void AdjustShowPosition(UIBasePanel basePanel)
    {
        //float ZPos = 0;
        //UIBasePanel frontPanel = null;

        //ShowingPanels.ForEach( (p) =>
        //{
        //    // 같은 패널이면 무시
        //    if (p == basePanel)
        //        return;

        //    // 현재 UIType과 같아야함.
        //    if (p.UIType != basePanel.UIType)
        //        return;

        //    // ShowOption이 다르면 리턴
        //    if (p.ShowOption != basePanel.ShowOption)
        //        return;

        //    //if (ZPos >= p.transform.localPosition.z)
        //    {
        //        //ZPos = p.transform.localPosition.z;
        //        frontPanel = p;
        //    }
        //});

        //if (null != basePanel)
        float ZPos = -basePanel.ZThickness;//ZPos

        basePanel.transform.SetLocalZ(ZPos);
    }
コード例 #22
0
    public void MissionLoad(bool isHideTown = false)
    {
        //UIBasePanel basePanel = UIMgr.GetUIBasePanel("UIPanel/TownPanel");

        if (isHideTown)
        {
            UIBasePanel panel = UIMgr.GetTownBasePanel();
            if (panel != null)
            {
                panel.Hide();
            }
            //(basePanel as TownPanel).Hide();
        }

        //미션데이터 초기화
        _LowDataMgr.instance.InitializeMission();

        /*
         * {
         *  UIBasePanel panel = UIMgr.GetTownBasePanel();
         *  if (panel != null)
         *      (panel as TownPanel).MissionListSetting();
         * }
         */
    }
コード例 #23
0
ファイル: UIWindowMgr.cs プロジェクト: Lyyua/GameFrame
    private void PushPanel(string pageName, UIBasePanel pageInstance, Action callback, object pageData, bool isAsync)
    {
        if (string.IsNullOrEmpty(pageName) || pageInstance == null)
        {
            Debug.LogError("[UI] show page error with :" + pageName + " maybe null instance.");
            return;
        }

        if (mOpenedUIList.ContainsKey(pageName))
        {
            mCurrPage = mOpenedUIList[pageName];
        }
        else
        {
            mOpenedUIList.Add(pageName, pageInstance);
            mCurrPage = pageInstance;
        }
        if (pageData != null)
        {
            mCurrPage.SetData(pageData);
        }

        mCurrPage.OnEnter();
        SetNavigationStack(mCurrPage);

        //if (isAsync)
        //    curPanel.Show(callback);
        //else

        //DebugHelper.LogInfo(mNavigationStack.Count);
    }
コード例 #24
0
 internal void ShowPanel(string panelName, params object[] param)
 {
     if (_dictPanel.ContainsKey(panelName))
     {
         if (IsPanelVisiable(panelName))
         {
             return;
         }
         else
         {
             _dictPanel[panelName].gameObject.SetActive(true);
         }
     }
     else
     {
         UIBasePanel panel     = Resources.Load <UIBasePanel>(string.Format("Prefabs/UI/{0}", panelName));
         UIBasePanel initPanel = GameObject.Instantiate <UIBasePanel>(panel, _tranUIRoot);
         initPanel.gameObject.name         = panelName;
         initPanel.transform.localScale    = Vector3.one;
         initPanel.transform.localPosition = Vector3.zero;
         initPanel.Param = param;
         initPanel.Init();
         _dictPanel.Add(panelName, initPanel);
     }
 }
コード例 #25
0
    // UIPanelsManager's methods

    public void OpenPanel(UIBasePanel i_Panel)
    {
        if (i_Panel != null)
        {
            i_Panel.Open();
        }
    }
コード例 #26
0
    public void SetDepthAndRoot(UIBasePanel mPage)
    {
        AdjustPageDepth(mPage);
        switch (mPage.UIPageProperty.WindowStyle)
        {
        case UIWindowStyle.GameUI:
            mPage.CacheTrans.SetParent(GameUIRoot);
            break;

        case UIWindowStyle.Fixed:
            mPage.CacheTrans.SetParent(FixedWindowRoot);
            break;

        case UIWindowStyle.Normal:
            mPage.CacheTrans.SetParent(NormalWindowRoot);
            break;

        case UIWindowStyle.PopUp:
            mPage.CacheTrans.SetParent(PopupWindowRoot);
            break;

        default:
            break;
        }
    }
コード例 #27
0
    public void EndTutorial()
    {
        if (TutoSupport.TutoType != SceneManager.instance.CurTutorial)
        {
            return;
        }

        UIBasePanel basePanel = UIMgr.GetUIBasePanel("UIPopup/TutorialPopup");

        if (basePanel == null)
        {
            return;
        }

        if ((basePanel as TutorialPopup).CurrentSortId - 1 != TutoSupport.SortId)
        {
            return;
        }

        //SceneManager.instance.CurTutorial = TutoSupport.TutoType;//다음으로 넘김.

        TutoSupport.enabled  = false;
        TutoSupport.IsEnable = false;
        TutoSupport.TutoType = TutorialType.NONE;

        basePanel.Close();
    }
コード例 #28
0
    // 패널을 연다
    public UIBasePanel Open(string path, params object[] _parameters)
    {
        UIRootInit();

        UIBasePanel panel = GetPanel(path);

        if (panel == null)
        {
            GameObject oPanel = (GameObject)Instantiate(Resources.Load("UI/" + path));
            oPanel.name                    = path;
            oPanel.transform.parent        = _Default;
            oPanel.transform.localPosition = Vector3.zero;
            oPanel.transform.localScale    = Vector3.one;

            if (oPanel != null)
            {
                panel = oPanel.GetComponent <UIBasePanel>();
                panel.Init();
            }

            if (panel._ePanelType != ePanelState.None)
            {
                if (panel != null)
                {
                    if (panel._ePanelType == ePanelState.Default)
                    {
                        ListUIPanel.Insert(0, panel);
                    }
                    else
                    {
                        ListUIPanel.Add(panel);
                    }
                }
            }
        }
        else
        {
            // 리스트에서 가장 앞으로 옮긴다
            if (panel._ePanelType != ePanelState.None)
            {
                ListUIPanel.Remove(panel);
                ListUIPanel.Insert(0, panel);
            }
        }
        // 파라미터 저장
        panel.parameters = _parameters;

        if (panel._ePanelType == ePanelState.Default)
        {
            _CurUIBasePanel = panel;
        }
        panel.LateInit();

        //for (int i = 0; i < ListUIPanel.Count; ++i)
        //    Debug.Log(ListUIPanel[i].name);
        //Debug.Log("CurPanel : " + _CurUIBasePanel.name);

        return(panel);
    }
コード例 #29
0
    /// <summary> 아이템 상세 팝업 </summary>
    static public ItemDetailPopup OpenDetailPopup(UIBasePanel basePanel, uint itemLowData, int depth = 6, bool isAutoQ = false)
    {
        NetData._ItemData itemData = new NetData._ItemData(itemLowData, itemLowData, 0, 0, false);
        string            path     = "UIPopup/DetailPopup";
        GameObject        go       = Open(path, isAutoQ, depth, basePanel, itemData);

        return(go.GetComponent <ItemDetailPopup>());
    }
コード例 #30
0
    /// <summary>
    /// 加载面板 用于不适合放在栈内的面板
    /// 和ShowPanel,HidePanel一起使用
    /// </summary>
    public UIBasePanel LoadPanel(UIPanelType panelType)
    {
        UIBasePanel panel = GetPanel(panelType);

        panel.HidePanel();

        return(panel);
    }