//开启事件
        private IEnumerator StartEvent(StoryAnimdate data)
        {
            yield return(new WaitForSeconds(data.EventTime));

            switch (data.StoryAnimEventtype)
            {
            case StoryAnimEventType.CreatStaticObj:
                OnCreatStaticObj(data);
                break;

            case StoryAnimEventType.GetDynamicObj:
                OnGetDynamicObj(data);
                break;

            case StoryAnimEventType.PlayCamAnim:
                OnPlayCamAnim(data);
                break;

            case StoryAnimEventType.PlayCamAnimWait:
                StartCoroutine(OnPlayCamAnimWait(data));
                break;

            case StoryAnimEventType.SetEnterFightState:
                FightEditorContrler.GetInstantiate().HeroPathFightEnterEnd();
                GameEventDispatcher.Inst.dispatchEvent(GameEventID.SE_EnterFightState, CurrentFightCount);
                break;

            case StoryAnimEventType.SetEnterFightInstantiateHero:
                FightControler.Inst.SetFightState(FightState.FightInstantiateHero);
                break;
            }
        }
Пример #2
0
        //英雄阵型进入战斗状态
        private void HeroPathFightEnter(int i)
        {
            FightEditorContrler.GetInstantiate().HeroPathFightEnter(i);
            object temp = (object)i;

            GameEventDispatcher.Inst.dispatchEvent(GameEventID.SE_PrepareEnemy, temp);
        }
Пример #3
0
 //英雄阵型进入瞬间移动
 private void SetHeroPathMomentMove(int i)
 {
     if (FightControler.Inst != null)
     {
         FightControler.Inst.CallBack_eroPathMomentMoveEnter();
     }
     GameEventDispatcher.Inst.dispatchEvent(GameEventID.SE_HeroPathMomentMoveEnter);
     FightEditorContrler.GetInstantiate().HeroPathMomentMoveEnter(i);
 }
Пример #4
0
 private void FightCenterAngleUpdate(int i)
 {
     if (FightTempContrler.inst != null)
     {
         FightCenter.transform.eulerAngles = MonsterGroupContrler.inst.MonsterGroupData.MonsterGroupDataList[i - 1].MonsterGroupAngle + new Vector3(0, 180, 0);
     }
     else
     {
         FightCenter.transform.eulerAngles = FightEditorContrler.GetInstantiate().GetMonsterGroupEditorData().MonsterGroupDataList[i - 1].MonsterGroupAngle + new Vector3(0, 180, 0);
     }
 }
Пример #5
0
        //void InitAlphaMaterial()
        //{
        //    Shader s = Shader.Find(AlphaShaderName);
        //    if (s == null)
        //    {
        //        Debug.LogError("Shader Not Found");
        //        return;
        //    }

        //    Material mat = new Material(s);
        //    //mat.SetFloat("_Gray", 1f);

        //    AlphaMaterial = mat;
        //}

        //剧情开始
        private void StoryStart(GameEvent ID)
        {
            int id = (int)ID.data - 1;

            if (StoryData == null)
            {
                return;
            }
            FightEditorContrler.GetInstantiate().GetStoryCamAnimsObj().transform.position = StoryData.StoryAnimGroupList[id].CamTagPos;
            FightEditorContrler.GetInstantiate().GetStoryCamAnimsObj().transform.rotation = StoryData.StoryAnimGroupList[id].CamTagAngle;
            SetCamtype(CamType.Null);
            SetCamTagType(CamTagType.Null);
            MainCam.transform.DORotate(StoryData.StoryAnimGroupList[id].CamTagAngle.eulerAngles, StoryData.StoryAnimGroupList[id].CamToTagTime);
            MainCam.transform.DOMove(StoryData.StoryAnimGroupList[id].CamTagPos, StoryData.StoryAnimGroupList[id].CamToTagTime).OnComplete(StoryCamToEnd);
        }
Пример #6
0
        /// <summary>
        /// 获得当前回合时候怪物中心点;
        /// </summary>
        /// <returns></returns>
        Vector3 GetMonsterInitCenter()
        {
            int m_RoundInScene = FightControler.Inst.CurRound;
            int MonsterNum     = FightEditorContrler.GetInstantiate().GetMonsterGroupEditorData(m_RoundInScene).Count;

            float x = 0f;
            float y = 0f;
            float z = 0f;

            for (int i = 0; i < MonsterNum; i++)
            {
                Vector3 pos = FightEditorContrler.GetInstantiate().GetMonsterGroupEditorData(m_RoundInScene)[i].MyPos;

                x += pos.x;
                y += pos.y;
                z += pos.z;
            }

            return(new Vector3(x / MonsterNum, y / MonsterNum, z / MonsterNum));
        }
Пример #7
0
 /// <summary>
 /// 动态初始化完成后发送加载完事件给战斗
 /// </summary>
 /// <param name="Camdata">摄像机序列化数据</param>
 public void Init(CameraDataObj Camdata, StoryAnimDataObj Storydata)
 {
     MainCam            = Camera.main;
     StoryData          = Storydata;
     AnimationFollowCam = new GameObject("AnimationFollowCam");
     if (StoryData != null)
     {
         AnimationFollowCam.transform.parent = FightEditorContrler.GetInstantiate().GetStoryCamAnimsObj().transform;
     }
     LineUpFollowCam               = FightEditorContrler.GetInstantiate().GetLineUpFollowCam().transform;
     FightFollowCam                = FightEditorContrler.GetInstantiate().GetFightFollowCam().transform;
     FightDefaultCam               = FightEditorContrler.GetInstantiate().GetFightDefaultCam().transform;
     MainCam.transform.position    = Camdata.CameraPos;
     MainCam.transform.eulerAngles = Camdata.CameraAngles;
     CamEnterPos  = Camdata.CamEnterPos;
     CamCenter    = Camdata.CamCenter;
     CamEnterTime = Camdata.CamEnterTime;
     CaminfoList  = new List <Caminfo>();
     CaminfoList  = Camdata.CamPointdataList;
     CaminfoCount = CaminfoList.Count;
     SetCamtype(CamType.Enter);
     SetCamTagType(CamTagType.Null);
     SetCamholdType(CamHoldType.Pause);
 }
Пример #8
0
 //英雄阵型退出瞬间移动
 private void HeroPathMomentMoveExit()
 {
     FightEditorContrler.GetInstantiate().HeroPathMomentMoveExit();
     GameEventDispatcher.Inst.dispatchEvent(GameEventID.SE_HeroPathMomentMoveExit);
 }
Пример #9
0
 // 英雄阵型进入正常移动
 private void SetHeroPathNormalMove()
 {
     FightEditorContrler.GetInstantiate().HeroPathNormalMove();
     GameEventDispatcher.Inst.dispatchEvent(GameEventID.SE_HeroPathNormalMove);
 }
Пример #10
0
 //摄像机暂停
 private void CamPause()
 {
     FightEditorContrler.GetInstantiate().CamPause();
 }
Пример #11
0
 // 改变英雄阵型移动速度
 private void ChangeHeroSpeed(float speed)
 {
     FightEditorContrler.GetInstantiate().HeroPathSetSpeed(speed);
 }
Пример #12
0
 //===================================================================摄像机回调==========================================================
 //摄像机事件回调
 private void CamTriggerEvent(string ID)
 {
     FightEditorContrler.GetInstantiate().SetCamInfo(ID);
 }
Пример #13
0
 private void HeroOffObject()
 {
     FightEditorContrler.GetInstantiate().HeroOffObject();
     GameEventDispatcher.Inst.dispatchEvent(GameEventID.SE_BoardingOver);
 }
Пример #14
0
 /// <summary>
 /// 停止移动;
 /// </summary>
 /// <param name="data"></param>
 private void HeroOnObject(string data)
 {
     FightEditorContrler.GetInstantiate().HeroOnObject(data);
     GameEventDispatcher.Inst.dispatchEvent(GameEventID.SE_PrepareBoard);
 }
Пример #15
0
 private void HeroPathLineUpReady(int i)
 {
     FightEditorContrler.GetInstantiate().HeroPathLineUpReady();
     GameEventDispatcher.Inst.dispatchEvent(GameEventID.SE_LineUpReady, i);
 }
Пример #16
0
 // 英雄阵型战斗进入状态结束
 private void HeroPathFightEnterEnd(int i)
 {
     FightEditorContrler.GetInstantiate().HeroPathFightEnterEnd();
     GameEventDispatcher.Inst.dispatchEvent(GameEventID.SE_EnterFightState, i);
 }