public override void OnEnter()
    {
        base.OnEnter();
        //加载所有神兽的模型
        Singleton <BeastManager> .singleton.LoadAllBeastModel();

        //加载场景
        CSceneMgr.singleton.LoadScene();
        if (!Singleton <RoomManager> .singleton.IsObserver)
        {
            DlgBase <DlgMain, DlgMainBehaviour> .singleton.SetVisible(true);
        }
        DlgBase <DlgHeadInfo, DlgHeadInfoBehaviour> .singleton.SetVisible(true);

        Singleton <RoomManager> .singleton.GameOver = false;
        DataMaplist mapData = GameData <DataMaplist> .dataMap[(int)Singleton <RoomManager> .singleton.MapId];

        if (mapData != null)
        {
            string audioPath = mapData.BgSoundFile;
            if (!string.IsNullOrEmpty(audioPath))
            {
                Singleton <AudioManager> .singleton.PlayMusic("Audio/BMG/Map/" + audioPath);
            }
        }
        Singleton <GameMainResPreLoad> .singleton.PreLoad();
    }
Esempio n. 2
0
        /// <summary>
        /// 初始化场景地图信息,从配置文件中读取加载信息
        /// </summary>
        /// <param name="dwMapID"></param>
        /// <returns></returns>
        public bool Init(uint dwMapID)
        {
            //根据地图id取得地图信息数据
            DataMaplist dataById = GameData <DataMaplist> .dataMap[(int)dwMapID];
            bool        result;

            if (null == dataById)
            {
                result = false;
            }
            else
            {
                base.Init(dwMapID, dataById.MapFilePath);
                if (dataById != null)
                {
                    this.m_nEmpireBaseDeadEft         = dataById.EmpireBaseDeadEft;
                    this.m_nLeagueBaseDeadEft         = dataById.LeagueBaseDeadEft;
                    this.m_nMyBaseDeadEft             = dataById.MineBaseDeadEft;
                    this.m_nTheirBaseDeadEft          = dataById.TheirBaseDeadEft;
                    this.m_nEmpireHighHpEffect        = dataById.EmpireHighHpEffect;
                    this.m_nLeagueHighHpEffect        = dataById.LeagueHighHpEffect;
                    this.m_nEmpireLowHpEffect         = dataById.EmpireLowHpEffect;
                    this.m_nLeagueLowHpEffect         = dataById.LeagueLowHpEffect;
                    this.m_nLeagueEffectWhenBeastDead = dataById.LeagueEffectWhenHeroDead;
                    this.m_nEmpireEffectWhenBeastDead = dataById.EmpireEffectWhenHeroDead;
                    this.m_nLeagueAttackedEffect      = dataById.LeagueAttackedEffect;
                    this.m_nEmpireAttackedEffect      = dataById.EmpireAttackedEffect;
                }
                result = true;
            }
            return(result);
        }
Esempio n. 3
0
        /// <summary>
        /// 根据基地不同的血量,播放不同的背景音乐
        /// </summary>
        public void PlayMusicByBaseHp()
        {
            DataMaplist dataMap = GameData <DataMaplist> .dataMap[(int)this.m_unMapId];

            if (dataMap != null)
            {
                uint emHp = this.m_CampDatas[0].Hp;
                uint leHp = this.m_CampDatas[1].Hp;
                if (emHp <= 3u || leHp <= 3u)
                {
                    string audioPath = dataMap.WarnSoundFile;
                    if (!string.IsNullOrEmpty(audioPath))
                    {
                        Singleton <AudioManager> .singleton.PlayMusic(string.Format("Audio/BGM/Map/{0}", audioPath));
                    }
                }
                else if (emHp + leHp <= 10u)
                {
                    string audioPath = dataMap.ToughSoundFile;
                    if (!string.IsNullOrEmpty(audioPath))
                    {
                        Singleton <AudioManager> .singleton.PlayMusic(string.Format("Audio/BGM/Map/{0}", audioPath));
                    }
                }
                else if (emHp + leHp <= 16u)
                {
                    string audioPath = dataMap.NormalSoundFile;
                    if (!string.IsNullOrEmpty(audioPath))
                    {
                        Singleton <AudioManager> .singleton.PlayMusic(string.Format("Audio/BGM/Map/{0}", audioPath));
                    }
                }
            }
        }
Esempio n. 4
0
 /// <summary>
 /// 初始化摄像机的位置
 /// </summary>
 public void ResetCamera()
 {
     if (Camera.main != null)
     {
         //初始化摄像机的根节点
         CameraManager.Instance.InitGameNode();
         DataMaplist mapData = GameData <DataMaplist> .dataMap[(int)Singleton <RoomManager> .singleton.MapId];
         if (Singleton <PlayerRole> .singleton.CampType == ECampType.CAMP_LEAGUE)
         {
             if (mapData != null)
             {
                 CameraManager.Instance.GameNode.localPosition    = UnityTools.String2Vector3(mapData.LCameraPos);
                 CameraManager.Instance.GameNode.localEulerAngles = UnityTools.String2Vector3(mapData.LCameraAngle);
             }
             else
             {
                 //默认的摄像机初始位置
             }
         }
         else
         {
             if (mapData != null)
             {
                 CameraManager.Instance.GameNode.localPosition    = UnityTools.String2Vector3(mapData.ECameraPos);
                 CameraManager.Instance.GameNode.localEulerAngles = UnityTools.String2Vector3(mapData.ECameraAngle);
             }
             else
             {
                 //默认的摄像机初始位置
             }
         }
         CameraManager.Instance.MaxMapX  = mapData.MapCenterX + mapData.MaxX;
         CameraManager.Instance.MinMapX  = mapData.MapCenterX - mapData.MaxX;
         CameraManager.Instance.MaxMapZ  = mapData.MapCenterY + mapData.MaxY;
         CameraManager.Instance.MinMapZ  = mapData.MapCenterY - mapData.MaxY;
         CameraManager.Instance.MaxScale = mapData.MaxCameraScale;
         CameraManager.Instance.MinScale = mapData.MinCameraScale;
         CameraManager.Instance.MouseWheelSensitivity = mapData.MouseWheelSensitivity;
         CameraManager.Instance.Init();
     }
 }
Esempio n. 5
0
        /// <summary>
        /// 加载战斗游戏场景
        /// </summary>
        public void LoadScene()
        {
            if (null == this.m_sceneCurrent)
            {
                this.m_log.Error("null == m_sceneCurrent");
            }
            else
            {
                DataMaplist dataByID = GameData <DataMaplist> .dataMap[((int)Singleton <RoomManager> .singleton.MapId)];
                if (null == dataByID)
                {
                    this.m_log.Error("null == dataMap:" + Singleton <RoomManager> .singleton.MapId);
                }
                else
                {
                    Singleton <HexagonManager> .singleton.Init(this.m_sceneCurrent.InitPos, this.m_sceneCurrent.InitRotation);

                    this.CreateTerrainBuildings(this.m_sceneCurrent);
                    this.SetMapNodeBuildingVisible(EMapNodeType.MAP_NODE_LEAGUE_BASE, true);
                    this.SetMapNodeBuildingVisible(EMapNodeType.MAP_NODE_EMPIRE_BASE, true);
                    this.EnterScene(dataByID.MapFile);
                }
            }
        }