Ejemplo n.º 1
0
    public TaskGuideExtendData(NewGuideConfigData newGuideConfigData)
    {
        NewGuideConfigDatas = newGuideConfigData;
        switch (NewGuideConfigDatas.GuideType)
        {
        case GuideConfigType.FindTask:
        case GuideConfigType.FindEctype:
        case GuideConfigType.NormalArrow:
        case GuideConfigType.FindEquipPosition:
        case GuideConfigType.FindIntellSiren:
            MappingId = int.Parse(NewGuideConfigDatas.GuideBtnID);
            break;

        case GuideConfigType.FindMaterial:
            var      playerDataStruct = (IPlayerDataStruct)PlayerManager.Instance.FindHeroEntityModel().EntityDataStruct;
            int      vocationId       = playerDataStruct.GetCommonValue().PLAYER_FIELD_VISIBLE_VOCATION;
            string[] vocas            = NewGuideConfigDatas.GuideBtnID.Split('|');
            MappingCategory = TaskBtnManager.Instance.GetUITypeByBtnId(vocas[0]);
            for (int i = 1; i < vocas.Length; i++)
            {
                string[] details = vocas[i].Split('+');
                if (details[0] == vocationId.ToString())
                {
                    MappingId = int.Parse(details[1]);
                    break;
                }
            }

            break;
        }
    }
Ejemplo n.º 2
0
    private void StoryDialogFinish(NewGuideConfigData newGuideConfigData, bool isBreak)
    {
        if (m_storyPanel != null)
        {
            Destroy(m_storyPanel);
            m_storyPanel = null;
        }
        //send event to joystick of TownUI
        UIEventManager.Instance.TriggerUIEvent(UIEventType.OnNpcTalkCloseEvent, null);
        m_storyDialogClickEvent = NGUITools.AddChild(gameObject, StoryDialogMask).GetComponent <UIEventListener>();
        BattleManager.Instance.FollowCamera.SmoothMoveTargetOriginal(PlayerManager.Instance.FindHeroEntityModel().Behaviour.transform);
        m_currnetTalkIndex = 0;
        GameManager.Instance.PlaySceneMusic();
        //32=与剧情人物对话(前端对话) 完成后向服务器发消息,告诉服务器任务完成
        if (!isBreak && newGuideConfigData != null && newGuideConfigData.TaskNewConfigData.TaskType == 32)
        {
            SMsgInteractCOMMON_CS msgInteract;
            msgInteract.dwNPCID       = 0;
            msgInteract.byOperateType = 2;
            msgInteract.dwParam1      = 2;
            msgInteract.dwParam2      = 0;
            msgInteract.byIsContext   = 0;

            SMsgInteractCOMMONContext_CS msgContext;
            msgContext.szContext = new byte[32];
            NetServiceManager.Instance.InteractService.SendInteractCOMMON(msgInteract, msgContext);
        }
        StartCoroutine(CameraSmoothBackFinish(isBreak));
    }
Ejemplo n.º 3
0
    /// <summary>
    /// 主角转到正确角度后开始剧情对话
    /// </summary>
    /// <param name="npcTransform"></param>
    /// <param name="playerBehaviour"></param>
    /// <param name="newGuideConfigData"></param>
    /// <returns></returns>
    ///
    IEnumerator UpdateRotation(PlayerBehaviour playerBehaviour, NewGuideConfigData newGuideConfigData)
    {
        var angle = float.Parse(newGuideConfigData.StroyPos.Split('+')[2]);

        while (true)
        {
            yield return(null);

            Quaternion wantedRotation = Quaternion.Euler(new Vector3(0, angle, 0));
            float      t = CommonDefineManager.Instance.CommonDefine.TurnRoundSpeed / Quaternion.Angle(playerBehaviour.ThisTransform.rotation, wantedRotation) * Time.deltaTime;
            playerBehaviour.ThisTransform.rotation = Quaternion.Lerp(playerBehaviour.ThisTransform.rotation, wantedRotation, t);

            if (t == 1 || float.IsInfinity(t))
            {
                break;
            }
        }
    }
Ejemplo n.º 4
0
 /// <summary>
 /// 显示剧情对话内容
 /// </summary>
 /// <param name="newGuideConfigData"></param>
 private void ShowDialog(NewGuideConfigData newGuideConfigData)
 {
     if (m_currnetTalkIndex < newGuideConfigData.TalkIdConfigDatas.Length)
     {
         var talkIdConfigData = newGuideConfigData.TalkIdConfigDatas[m_currnetTalkIndex];
         int index            = (int)talkIdConfigData.DialogPrefab - 1;
         if (m_storyPanel != null)
         {
             DestroyImmediate(m_storyPanel);
             m_storyPanel = null;
         }
         m_storyPanel = UI.CreatObjectToNGUI.InstantiateObj(StoryDialogPrefabs[index], npcTalkParent);            // NGUITools.AddChild(gameObject, StoryDialogPrefabs[index]);
         var offsetPosStr = talkIdConfigData.TextPos.Split('+');
         var offsetPos    = new Vector3(float.Parse(offsetPosStr[0]), float.Parse(offsetPosStr[1]), 0);
         m_storyPanel.transform.localPosition = offsetPos;
         var storyPanelBehaviour = m_storyPanel.GetComponent <StoryDialogBehaviour>();
         talkIdConfigData.isTaskTalkMark = true;
         storyPanelBehaviour.Init(talkIdConfigData);
         storyPanelBehaviour.StoryGuideFinishAct = () =>
         {
             if (m_storyPanel != null)
             {
                 Destroy(m_storyPanel);
                 m_storyPanel = null;
             }
             SoundManager.Instance.PlaySoundEffect("Sound_Button_TaskStory_Next");
             m_currnetTalkIndex++;
             ShowDialog(newGuideConfigData);
         };
     }
     else
     {
         if (m_skipStoryBtn != null)
         {
             m_skipStoryBtn.gameObject.SetActive(false);
             //Destroy(m_skipStoryBtn.gameObject);
         }
         StoryDialogFinish(newGuideConfigData, false);
     }
 }