void Awake() { s_Instance = this; if (m_Controller.m_TargetCam == null) { m_Controller.m_TargetCam = CamMediator.MainCamera; } LoadControlType(); ChangeNormalMode(); //m_Controller.AfterAllModifier += SyncNearCam; }
void Start() { PECameraMan.ApplySysSetting(); //CameraController oldCamCtrl = GameObject.FindObjectOfType<CameraController>(); //if (null != oldCamCtrl) //{ // FreeCamera freeCamera = oldCamCtrl.GetComponent<FreeCamera>(); // if (null != freeCamera) // { // Destroy(freeCamera); // } // Destroy(oldCamCtrl); //} AddTerrainConstraint(); // UIOnScrollMouse.OnScroll += HandleUIOnScroll; // UIOnMouseMove.MouseOnGui += HandleMouseOnUI; // UIOnMouseMove.MouseOpGui += HandleMouseOpUI; }
public void ApplyControl() { XmlDocument xmlDoc = new XmlDocument(); try{ using (FileStream fs = new FileStream(mFilepath, FileMode.Open, FileAccess.Read, FileShare.Read)) { xmlDoc.Load(fs); } }catch (Exception e) { GameLog.HandleIOException(e, GameLog.EIOFileType.Settings); xmlDoc = new XmlDocument(); } XmlElement findNode = (XmlElement)xmlDoc.DocumentElement.SelectSingleNode("mMMOControlType"); if (null == findNode) { findNode = xmlDoc.CreateElement("mMMOControlType"); xmlDoc.DocumentElement.AppendChild(findNode); } findNode.SetAttribute("value", mMMOControlType.ToString()); findNode = (XmlElement)xmlDoc.DocumentElement.SelectSingleNode("UseController"); if (null == findNode) { findNode = xmlDoc.CreateElement("UseController"); xmlDoc.DocumentElement.AppendChild(findNode); } findNode.SetAttribute("value", UseController.ToString()); findNode = (XmlElement)xmlDoc.DocumentElement.SelectSingleNode("FirstPersonCtrl"); if (null == findNode) { findNode = xmlDoc.CreateElement("FirstPersonCtrl"); xmlDoc.DocumentElement.AppendChild(findNode); } findNode.SetAttribute("value", FirstPersonCtrl.ToString()); findNode = (XmlElement)xmlDoc.DocumentElement.SelectSingleNode("CameraSensitivity"); if (null == findNode) { findNode = xmlDoc.CreateElement("CameraSensitivity"); xmlDoc.DocumentElement.AppendChild(findNode); } findNode.SetAttribute("value", cameraSensitivity.ToString()); findNode = (XmlElement)xmlDoc.DocumentElement.SelectSingleNode("HoldGunCameraSensitivity"); if (null == findNode) { findNode = xmlDoc.CreateElement("HoldGunCameraSensitivity"); xmlDoc.DocumentElement.AppendChild(findNode); } findNode.SetAttribute("value", holdGunCameraSensitivity.ToString()); findNode = (XmlElement)xmlDoc.DocumentElement.SelectSingleNode("CameraFov"); if (null == findNode) { findNode = xmlDoc.CreateElement("CameraFov"); xmlDoc.DocumentElement.AppendChild(findNode); } findNode.SetAttribute("value", CameraFov.ToString()); findNode = (XmlElement)xmlDoc.DocumentElement.SelectSingleNode("CameraHorizontalInverse"); if (null == findNode) { findNode = xmlDoc.CreateElement("CameraHorizontalInverse"); xmlDoc.DocumentElement.AppendChild(findNode); } findNode.SetAttribute("value", CameraHorizontalInverse.ToString()); findNode = (XmlElement)xmlDoc.DocumentElement.SelectSingleNode("CameraVerticalInverse"); if (null == findNode) { findNode = xmlDoc.CreateElement("CameraVerticalInverse"); xmlDoc.DocumentElement.AppendChild(findNode); } findNode.SetAttribute("value", CameraVerticalInverse.ToString()); findNode = (XmlElement)xmlDoc.DocumentElement.SelectSingleNode("CamInertia"); if (null == findNode) { findNode = xmlDoc.CreateElement("CamInertia"); xmlDoc.DocumentElement.AppendChild(findNode); } findNode.SetAttribute("value", CamInertia.ToString()); findNode = (XmlElement)xmlDoc.DocumentElement.SelectSingleNode("DriveCamInertia"); if (null == findNode) { findNode = xmlDoc.CreateElement("DriveCamInertia"); xmlDoc.DocumentElement.AppendChild(findNode); } findNode.SetAttribute("value", DriveCamInertia.ToString()); findNode = (XmlElement)xmlDoc.DocumentElement.SelectSingleNode("AttackWhithMouseDir"); if (null == findNode) { findNode = xmlDoc.CreateElement("AttackWhithMouseDir"); xmlDoc.DocumentElement.AppendChild(findNode); } findNode.SetAttribute("value", AttackWhithMouseDir.ToString()); findNode = (XmlElement)xmlDoc.DocumentElement.SelectSingleNode("Tutorialed"); if (null == findNode) { findNode = xmlDoc.CreateElement("Tutorialed"); xmlDoc.DocumentElement.AppendChild(findNode); } findNode.SetAttribute("value", Tutorialed.ToString()); PECameraMan.ApplySysSetting(); try{ using (FileStream fs = new FileStream(mFilepath, FileMode.Create, FileAccess.Write, FileShare.None)) { xmlDoc.Save(fs); } }catch (Exception e) { GameLog.HandleIOException(e, GameLog.EIOFileType.Settings); } }
public void ApplyMisc() { XmlDocument xmlDoc = new XmlDocument(); try{ using (FileStream fs = new FileStream(mFilepath, FileMode.Open, FileAccess.Read, FileShare.Read)) { xmlDoc.Load(fs); } }catch (Exception e) { GameLog.HandleIOException(e, GameLog.EIOFileType.Settings); xmlDoc = new XmlDocument(); } XmlElement findNode = (XmlElement)xmlDoc.DocumentElement.SelectSingleNode("HideHeadgear"); if (null == findNode) { findNode = xmlDoc.CreateElement("HideHeadgear"); xmlDoc.DocumentElement.AppendChild(findNode); } findNode.SetAttribute("value", HideHeadgear.ToString()); findNode = (XmlElement)xmlDoc.DocumentElement.SelectSingleNode("HPNumbers"); if (null == findNode) { findNode = xmlDoc.CreateElement("HPNumbers"); xmlDoc.DocumentElement.AppendChild(findNode); } findNode.SetAttribute("value", HPNumbers.ToString()); findNode = (XmlElement)xmlDoc.DocumentElement.SelectSingleNode("ClipCursor"); if (null == findNode) { findNode = xmlDoc.CreateElement("ClipCursor"); xmlDoc.DocumentElement.AppendChild(findNode); } findNode.SetAttribute("value", ClipCursor.ToString()); findNode = (XmlElement)xmlDoc.DocumentElement.SelectSingleNode("FixBlurryFont"); if (null == findNode) { findNode = xmlDoc.CreateElement("FixBlurryFont"); xmlDoc.DocumentElement.AppendChild(findNode); } findNode.SetAttribute("value", FixBlurryFont.ToString()); if (GameUI.Instance != null) { UILabel[] labels = GameUI.Instance.gameObject.GetComponentsInChildren <UILabel>(true); for (int i = 0; i < labels.Length; i++) { labels[i].MakePixelPerfect(); } } findNode = (XmlElement)xmlDoc.DocumentElement.SelectSingleNode("AndyGuidance"); if (null == findNode) { findNode = xmlDoc.CreateElement("AndyGuidance"); xmlDoc.DocumentElement.AppendChild(findNode); } findNode.SetAttribute("value", AndyGuidance.ToString()); findNode = (XmlElement)xmlDoc.DocumentElement.SelectSingleNode("MouseStateTip"); if (null == findNode) { findNode = xmlDoc.CreateElement("MouseStateTip"); xmlDoc.DocumentElement.AppendChild(findNode); } findNode.SetAttribute("value", MouseStateTip.ToString()); //#if UNITY_STANDALONE_WIN // if(ClipCursor) // CursorCliping.Lock(); // else // CursorCliping.Unlock(); //#endif findNode = (XmlElement)xmlDoc.DocumentElement.SelectSingleNode("HidePlayerOverHeadInfo"); if (null == findNode) { findNode = xmlDoc.CreateElement("HidePlayerOverHeadInfo"); xmlDoc.DocumentElement.AppendChild(findNode); } findNode.SetAttribute("value", HidePlayerOverHeadInfo.ToString()); findNode = (XmlElement)xmlDoc.DocumentElement.SelectSingleNode("ApplyMonsterIK"); if (null == findNode) { findNode = xmlDoc.CreateElement("ApplyMonsterIK"); xmlDoc.DocumentElement.AppendChild(findNode); } findNode.SetAttribute("value", ApplyMonsterIK.ToString()); findNode = (XmlElement)xmlDoc.DocumentElement.SelectSingleNode("VoxelCache"); if (null == findNode) { findNode = xmlDoc.CreateElement("VoxelCache"); xmlDoc.DocumentElement.AppendChild(findNode); } findNode.SetAttribute("value", VoxelCacheEnabled.ToString()); PECameraMan.ApplySysSetting(); try{ using (FileStream fs = new FileStream(mFilepath, FileMode.Create, FileAccess.Write, FileShare.None)) { xmlDoc.Save(fs); } }catch (Exception e) { GameLog.HandleIOException(e, GameLog.EIOFileType.Settings); } }
public void ApplyVideo() { XmlDocument xmlDoc = new XmlDocument(); try{ using (FileStream fs = new FileStream(mFilepath, FileMode.Open, FileAccess.Read, FileShare.Read)) { xmlDoc.Load(fs); } }catch (Exception e) { GameLog.HandleIOException(e, GameLog.EIOFileType.Settings); xmlDoc = new XmlDocument(); } XmlElement findNode = (XmlElement)xmlDoc.DocumentElement.SelectSingleNode("QualityLevel"); if (null == findNode) { findNode = xmlDoc.CreateElement("QualityLevel"); xmlDoc.DocumentElement.AppendChild(findNode); } findNode.SetAttribute("Index", mQualityLevel.ToString()); findNode = (XmlElement)xmlDoc.DocumentElement.SelectSingleNode("GLSetting"); if (null == findNode) { findNode = xmlDoc.CreateElement("GLSetting"); xmlDoc.DocumentElement.AppendChild(findNode); } findNode.SetAttribute("value", GLSetting); findNode = (XmlElement)xmlDoc.DocumentElement.SelectSingleNode("LightCount"); if (null == findNode) { findNode = xmlDoc.CreateElement("LightCount"); xmlDoc.DocumentElement.AppendChild(findNode); } findNode.SetAttribute("Index", mLightCount.ToString()); findNode = (XmlElement)xmlDoc.DocumentElement.SelectSingleNode("AnisotropicFiltering"); if (null == findNode) { findNode = xmlDoc.CreateElement("AnisotropicFiltering"); xmlDoc.DocumentElement.AppendChild(findNode); } findNode.SetAttribute("Index", mAnisotropicFiltering.ToString()); findNode = (XmlElement)xmlDoc.DocumentElement.SelectSingleNode("AntiAliasing"); if (null == findNode) { findNode = xmlDoc.CreateElement("AntiAliasing"); xmlDoc.DocumentElement.AppendChild(findNode); } findNode.SetAttribute("Index", mAntiAliasing.ToString()); findNode = (XmlElement)xmlDoc.DocumentElement.SelectSingleNode("ShadowProjection"); if (null == findNode) { findNode = xmlDoc.CreateElement("ShadowProjection"); xmlDoc.DocumentElement.AppendChild(findNode); } findNode.SetAttribute("Index", mShadowProjection.ToString()); findNode = (XmlElement)xmlDoc.DocumentElement.SelectSingleNode("ShadowDistance"); if (null == findNode) { findNode = xmlDoc.CreateElement("ShadowDistance"); xmlDoc.DocumentElement.AppendChild(findNode); } findNode.SetAttribute("Index", mShadowDistance.ToString()); findNode = (XmlElement)xmlDoc.DocumentElement.SelectSingleNode("ShadowCascades"); if (null == findNode) { findNode = xmlDoc.CreateElement("ShadowCascades"); xmlDoc.DocumentElement.AppendChild(findNode); } findNode.SetAttribute("Index", mShadowCascades.ToString()); findNode = (XmlElement)xmlDoc.DocumentElement.SelectSingleNode("mWaterReflection"); if (null == findNode) { findNode = xmlDoc.CreateElement("mWaterReflection"); xmlDoc.DocumentElement.AppendChild(findNode); } findNode.SetAttribute("Index", mWaterReflection.ToString()); findNode = (XmlElement)xmlDoc.DocumentElement.SelectSingleNode("WaterRefraction"); if (null == findNode) { findNode = xmlDoc.CreateElement("WaterRefraction"); xmlDoc.DocumentElement.AppendChild(findNode); } findNode.SetAttribute("Index", WaterRefraction.ToString()); findNode = (XmlElement)xmlDoc.DocumentElement.SelectSingleNode("WaterDepth"); if (null == findNode) { findNode = xmlDoc.CreateElement("WaterDepth"); xmlDoc.DocumentElement.AppendChild(findNode); } findNode.SetAttribute("Index", WaterDepth.ToString()); findNode = (XmlElement)xmlDoc.DocumentElement.SelectSingleNode("GrassDensity"); if (null == findNode) { findNode = xmlDoc.CreateElement("GrassDensity"); xmlDoc.DocumentElement.AppendChild(findNode); } findNode.SetAttribute("Index", GrassDensity.ToString()); findNode = (XmlElement)xmlDoc.DocumentElement.SelectSingleNode("GrassLod"); if (null == findNode) { findNode = xmlDoc.CreateElement("GrassLod"); xmlDoc.DocumentElement.AppendChild(findNode); } findNode.SetAttribute("Index", ((int)mGrassLod).ToString()); findNode = (XmlElement)xmlDoc.DocumentElement.SelectSingleNode("Terrain"); if (null == findNode) { findNode = xmlDoc.CreateElement("Terrain"); xmlDoc.DocumentElement.AppendChild(findNode); } findNode.SetAttribute("Index", TerrainLevel.ToString()); findNode = (XmlElement)xmlDoc.DocumentElement.SelectSingleNode("RandomTerrain"); if (null == findNode) { findNode = xmlDoc.CreateElement("RandomTerrain"); xmlDoc.DocumentElement.AppendChild(findNode); } findNode.SetAttribute("Index", RandomTerrainLevel.ToString()); findNode = (XmlElement)xmlDoc.DocumentElement.SelectSingleNode("DepthBlur"); if (null == findNode) { findNode = xmlDoc.CreateElement("DepthBlur"); xmlDoc.DocumentElement.AppendChild(findNode); } findNode.SetAttribute("value", mDepthBlur.ToString()); findNode = (XmlElement)xmlDoc.DocumentElement.SelectSingleNode("SSAO"); if (null == findNode) { findNode = xmlDoc.CreateElement("SSAO"); xmlDoc.DocumentElement.AppendChild(findNode); } findNode.SetAttribute("value", mSSAO.ToString()); findNode = (XmlElement)xmlDoc.DocumentElement.SelectSingleNode("SyncCount"); if (null == findNode) { findNode = xmlDoc.CreateElement("SyncCount"); xmlDoc.DocumentElement.AppendChild(findNode); } findNode.SetAttribute("value", SyncCount.ToString()); ResetVSync(); findNode = (XmlElement)xmlDoc.DocumentElement.SelectSingleNode("Tree"); if (null == findNode) { findNode = xmlDoc.CreateElement("Tree"); xmlDoc.DocumentElement.AppendChild(findNode); } findNode.SetAttribute("Index", mTreeLevel.ToString()); // GrassMgr.RefreshSettings(GrassDensity, (int)GrassLod); findNode = (XmlElement)xmlDoc.DocumentElement.SelectSingleNode("HDREffect"); if (null == findNode) { findNode = xmlDoc.CreateElement("HDREffect"); xmlDoc.DocumentElement.AppendChild(findNode); } findNode.SetAttribute("Index", HDREffect.ToString()); findNode = (XmlElement)xmlDoc.DocumentElement.SelectSingleNode("FastLightingMode"); if (null == findNode) { findNode = xmlDoc.CreateElement("FastLightingMode"); xmlDoc.DocumentElement.AppendChild(findNode); } //mFastLightingMode = true; findNode.SetAttribute("Index", mFastLightingMode.ToString()); switch (mQualityLevel) { case 0: QualitySettings.SetQualityLevel(0); #if Win32Ver TerrainLevel = 0; #else TerrainLevel = 1; //increase from 128M to 256M for bug 502857 #endif RandomTerrainLevel = 0; mTreeLevel = 1; HDREffect = false; break; case 1: QualitySettings.SetQualityLevel(1); TerrainLevel = 1; //increase from 128M to 256M for bug 502857 RandomTerrainLevel = 0; mTreeLevel = 1; HDREffect = false; break; case 2: QualitySettings.SetQualityLevel(2); TerrainLevel = 1; RandomTerrainLevel = 1; mTreeLevel = 1; HDREffect = false; break; case 3: QualitySettings.SetQualityLevel(3); TerrainLevel = 2; RandomTerrainLevel = 1; mTreeLevel = 3; HDREffect = true; break; case 4: QualitySettings.SetQualityLevel(4); TerrainLevel = 3; RandomTerrainLevel = 2; mTreeLevel = 4; HDREffect = true; break; case 5: QualitySettings.SetQualityLevel(5); TerrainLevel = 3; RandomTerrainLevel = 2; mTreeLevel = 5; HDREffect = true; break; case 6: QualitySettings.SetQualityLevel(3); // for Ubuntu with AMD card, larger than 3 will cause game select GL_FBCONFIG 47/55 which can not render defered-render cam QualitySettings.pixelLightCount = mLightCount; switch (mAnisotropicFiltering) { case 0: QualitySettings.anisotropicFiltering = AnisotropicFiltering.Disable; break; case 1: QualitySettings.anisotropicFiltering = AnisotropicFiltering.Enable; break; case 2: QualitySettings.anisotropicFiltering = AnisotropicFiltering.ForceEnable; break; } QualitySettings.antiAliasing = (mAntiAliasing > 0)? 4 : 0; QualitySettings.shadowProjection = (mShadowProjection == 1)? ShadowProjection.StableFit :ShadowProjection.CloseFit; switch (mShadowDistance) { case 0: QualitySettings.shadowDistance = 1; break; case 1: QualitySettings.shadowDistance = 50; break; case 2: QualitySettings.shadowDistance = 100; break; case 3: QualitySettings.shadowDistance = 200; break; case 4: QualitySettings.shadowDistance = 400; break; } switch (mShadowCascades) { case 0: QualitySettings.shadowCascades = 0; break; case 1: QualitySettings.shadowCascades = 2; break; case 2: QualitySettings.shadowCascades = 4; break; } break; } PeGrassSystem.Refresh(GrassDensity, (int)GrassLod); PECameraMan.ApplySysSetting(); try{ using (FileStream fs = new FileStream(mFilepath, FileMode.Create, FileAccess.Write, FileShare.None)) { xmlDoc.Save(fs); } }catch (Exception e) { GameLog.HandleIOException(e, GameLog.EIOFileType.Settings); } }