예제 #1
0
    void Awake()
    {
        stDialogueCharacter character = new stDialogueCharacter();

        character.pos       = gameObject.transform.position;
        character.rotate    = gameObject.transform.rotation;
        character.character = gameObject;
        character.name      = gameObject.name;
        character.cameraDis = cameraDis;
        sdUICharacter.Instance.DialogueCharacterList.Add(character);
        Hashtable movietable = sdConfDataMgr.Instance().m_Movie;

        if (movietable.ContainsKey(sdUICharacter.Instance.iCurrentLevelID))
        {
            sdPlayerInfo kPlayerInfo = SDNetGlobal.playerList[SDNetGlobal.lastSelectRole];
            string       strLevel    = sdConfDataMgr.Instance().GetRoleSetting("MovieDialogue_" + kPlayerInfo.mRoleName);
            if (strLevel.Length != 0 && int.Parse(strLevel) >= sdUICharacter.Instance.iCurrentLevelID)
            {
                gameObject.SetActive(false);
            }
            stStageMovie stagemovie = (stStageMovie)movietable[sdUICharacter.Instance.iCurrentLevelID];
            for (int index = 0; index < stagemovie.movieList.Count; ++index)
            {
                stMovie movieData = stagemovie.movieList[index];
                if (movieData.npcModel == gameObject.name)
                {
                    if (movieData.npcShow == 1)
                    {
                        gameObject.SetActive(false);
                        break;
                    }
                }
            }
        }
    }
예제 #2
0
    public void SetMovieInfo(int stageID, bool bHideFightUI, bool bGuide, Vector3 scale, Vector3 pos)
    {
        sdGlobalDatabase.Instance.globalData["moviedialogue"] = true;
        m_nStage = 0;
        m_bGuide = bGuide;
        Hashtable table = sdConfDataMgr.Instance().m_Movie;

        if (table.ContainsKey(stageID))
        {
            stageMovie = (stStageMovie)table[stageID];
        }
        m_nDialogueIndex     = 0;
        m_mainCamera         = sdGameLevel.instance.mainCamera.GetComponent <Camera>();
        m_uiCamera           = sdGameLevel.instance.UICamera;
        m_cameraSaveRotate   = m_mainCamera.transform.rotation;
        m_cameraSavePosition = m_mainCamera.transform.position;
        BuffChange(true);
        if (m_dialogueUI == null)
        {
            ResLoadParams param = new ResLoadParams();
            param.userdata0 = scale;
            param.userdata1 = pos;
            sdResourceMgr.Instance.LoadResourceImmediately("UI/$Movie/moviedialogue.prefab", LoadDialogue, param);
            if (sdUICharacter.Instance.GetTownUI() != null)
            {
                sdUICharacter.Instance.GetTownUI().GetComponent <sdTown>().lockPanel.SetActive(true);
            }
        }
        else
        {
            m_labelName.text     = "";
            m_labelDialogue.text = "";
            ResetHeadImagePos();
            Init();
        }
        sdGameLevel.instance.SetFingerObjectActive(false);
        if (bHideFightUI)
        {
            sdUICharacter.Instance.HideFightUi();
        }
        else
        {
            sdUICharacter.Instance.ShowFightUi();
        }
        if (sdGameLevel.instance.tuiTuLogic)
        {
            sdGameLevel.instance.tuiTuLogic.bFightInitVisible = !bHideFightUI;
        }
        m_nDialogueIndex = 0;
        if (bGuide)
        {
            enterTime = 0.0f;
            leaveTime = 0.1f;
        }
        m_bEnd = false;
        SetTime(1.25f * enterTime);
        m_nStage         = 1;
        bCameraposChange = true;
    }
예제 #3
0
    public void SetMovieInfo(int stageID, Vector3 scale, Vector3 pos)
    {
        Hashtable table = sdConfDataMgr.Instance().m_Movie;

        if (table.ContainsKey(stageID))
        {
            stageMovie = (stStageMovie)table[stageID];
        }

        if (m_dialogue == null)
        {
            ResLoadParams param = new ResLoadParams();
            param.userdata0 = pos;
            param.userdata1 = scale;
            sdResourceMgr.Instance.LoadResource("UI/$Guide/guidedialogue.prefab", LoadDialogue, param);
        }
        else
        {
            m_dialogue.transform.localPosition = pos;
            ShowText();
        }
    }