//创建物体
        private void OnCreatStaticObj(StoryAnimdate data)
        {
            if (data.ObjName == string.Empty)
            {
                return;
            }
            GameObject temp;

            if (IsLocal)
            {
                temp = Instantiate(Resources.Load(data.ObjName), data.ObjPos, Quaternion.Euler(data.ObjAngle)) as GameObject;
                temp.AddComponent <AnimationEventControler>();
                //               temp.transform.position = data.ObjPos;
                //               temp.transform.eulerAngles = data.ObjAngle;
                Dic_GameobjList.Add(temp);
                SetMonsterBirthState(temp, data.MonsterData, true);
                StartCascadeEvent(data);
            }
            else
            {
                GameObject objType = AssetLoader.Inst.GetAssetRes(data.ObjName);
                temp = Instantiate(objType, data.ObjPos, Quaternion.Euler(data.ObjAngle)) as GameObject;
                temp.AddComponent <AnimationEventControler>();
                Dic_GameobjList.Add(temp);
                SetMonsterBirthState(temp, data.MonsterData, false);
                StartCascadeEvent(data);
            }
        }
        //开启事件
        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;
            }
        }
        //播放摄像机轨迹动画(DEMO)
        private IEnumerator OnPlayCamAnimWait(StoryAnimdate data)
        {
            yield return(new WaitForSeconds(CamToTagTime));

            StoryCamAnim.Play(data.CamAnimName);
            //StoryCamAnim[data.CamAnimName].speed = 0.5f;
            StartCascadeEvent(data);
        }
 //开启串联事件
 private void StartCascadeEvent(StoryAnimdate data)
 {
     if (data.CascadeEventID == string.Empty)
     {
         return;
     }
     string[] IDs = data.CascadeEventID.Split('#');
     for (int i = 0; i < IDs.Length; ++i)
     {
         StartCoroutine(StartEvent(Dic_StoryAnimDate[int.Parse(IDs[i])]));
     }
 }
        //获取当前战斗怪物信息(比较特殊只限BOSS)
        private void OnGetDynamicObj(StoryAnimdate data)
        {
            GameObject temp;

            if (SceneObjectManager.GetInstance() == null)
            {
                temp = Instantiate(Resources.Load(data.ObjDynamicName), data.ObjDynamicPos, Quaternion.Euler(data.ObjDynamicAngle)) as GameObject;
//                temp.transform.position = data.ObjDynamicPos;
//                temp.transform.eulerAngles = data.ObjDynamicAngle;
            }
            else
            {
                temp = MonsterObjList[data.ObjDynamicID - 1];
            }
            SetMonsterBirthState(temp, data.MonsterData, false);
            StartCascadeEvent(data);
        }
 //播放摄像机轨迹动画
 private void OnPlayCamAnim(StoryAnimdate data)
 {
     StoryCamAnim.Play(data.CamAnimName);
     //StoryCamAnim[data.CamAnimName].speed = 1f;
     StartCascadeEvent(data);
 }