//开启事件 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; } }
//英雄阵型进入战斗状态 private void HeroPathFightEnter(int i) { FightEditorContrler.GetInstantiate().HeroPathFightEnter(i); object temp = (object)i; GameEventDispatcher.Inst.dispatchEvent(GameEventID.SE_PrepareEnemy, temp); }
protected override void InitData() { inst = this; if (this.GetComponent <FightTempContrler>() == null) { LoadAssetbundle(); } // StartCoroutine("LoadAssetbundle"); }
//英雄阵型进入瞬间移动 private void SetHeroPathMomentMove(int i) { if (FightControler.Inst != null) { FightControler.Inst.CallBack_eroPathMomentMoveEnter(); } GameEventDispatcher.Inst.dispatchEvent(GameEventID.SE_HeroPathMomentMoveEnter); FightEditorContrler.GetInstantiate().HeroPathMomentMoveEnter(i); }
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); } }
//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); }
/// <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)); }
/// <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); }
private void HeroPathLineUpReady(int i) { FightEditorContrler.GetInstantiate().HeroPathLineUpReady(); GameEventDispatcher.Inst.dispatchEvent(GameEventID.SE_LineUpReady, i); }
// 英雄阵型进入正常移动 private void SetHeroPathNormalMove() { FightEditorContrler.GetInstantiate().HeroPathNormalMove(); GameEventDispatcher.Inst.dispatchEvent(GameEventID.SE_HeroPathNormalMove); }
// 改变英雄阵型移动速度 private void ChangeHeroSpeed(float speed) { FightEditorContrler.GetInstantiate().HeroPathSetSpeed(speed); }
//摄像机暂停 private void CamPause() { FightEditorContrler.GetInstantiate().CamPause(); }
//===================================================================摄像机回调========================================================== //摄像机事件回调 private void CamTriggerEvent(string ID) { FightEditorContrler.GetInstantiate().SetCamInfo(ID); }
private void HeroOffObject() { FightEditorContrler.GetInstantiate().HeroOffObject(); GameEventDispatcher.Inst.dispatchEvent(GameEventID.SE_BoardingOver); }
/// <summary> /// 停止移动; /// </summary> /// <param name="data"></param> private void HeroOnObject(string data) { FightEditorContrler.GetInstantiate().HeroOnObject(data); GameEventDispatcher.Inst.dispatchEvent(GameEventID.SE_PrepareBoard); }
//英雄阵型退出瞬间移动 private void HeroPathMomentMoveExit() { FightEditorContrler.GetInstantiate().HeroPathMomentMoveExit(); GameEventDispatcher.Inst.dispatchEvent(GameEventID.SE_HeroPathMomentMoveExit); }
private void OnDestroy() { inst = this; }
// 英雄阵型战斗进入状态结束 private void HeroPathFightEnterEnd(int i) { FightEditorContrler.GetInstantiate().HeroPathFightEnterEnd(); GameEventDispatcher.Inst.dispatchEvent(GameEventID.SE_EnterFightState, i); }