12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205 |
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using System.IO;
- using UnityEngine;
- public class CameraMain : MonoBehaviour
- {
- private int CurrentScreenWidth
- {
- get
- {
- return (int)((float)Screen.width);
- }
- }
- private int CurrentScreenHeight
- {
- get
- {
- return (int)((float)Screen.height);
- }
- }
- private int CurrentAntialias
- {
- get
- {
- return QualitySettings.antiAliasing;
- }
- set
- {
- QualitySettings.antiAliasing = value;
- }
- }
- private bool CurrentFullScreen
- {
- get
- {
- return Screen.fullScreen;
- }
- }
- public virtual bool IsBloomEnabled
- {
- get
- {
- return this.m_gcBloom.enabled;
- }
- }
- public virtual bool IsFallThrough
- {
- get
- {
- return this.m_bFallThrough;
- }
- }
- protected virtual void Awake()
- {
- this.m_nBackCullingMask = this.camera.cullingMask;
- this.back_screen_size_.width = this.CurrentScreenWidth;
- this.back_screen_size_.height = this.CurrentScreenHeight;
- this.back_antialias_ = this.CurrentAntialias;
- this.back_full_screen_ = this.CurrentFullScreen;
- this.m_UOCamera = base.GetComponent<UltimateOrbitCamera>();
- NDebug.Assert(this.m_UOCamera != null, "メインカメラにはOrbitCameraが必要です。");
- this.m_gcBloom = base.GetComponent<Bloom>();
- NDebug.Assert(this.m_gcBloom != null, "メインカメラにはBloomが必要です。");
- this.m_gcBlur = base.GetComponent<Blur>();
- NDebug.Assert(this.m_gcBlur != null, "メインカメラにはBlurが必要です。");
- this.m_gcVignett = base.GetComponent<Vignetting>();
- NDebug.Assert(this.m_gcVignett != null, "メインカメラにはVignettが必要です。");
- NDebug.Assert(this.m_FadeTargetCamera != null, "メインカメラにはフェード対象が必要です。");
- this.m_FadeMyCamera = base.GetComponent<ScreenOverlay>();
- NDebug.Assert(this.m_FadeMyCamera != null, "メインカメラ自身にフェード用ScreenOverlayが必要です。");
- this.m_fBloomDefIntensity = this.m_gcBloom.bloomIntensity;
- this.m_fDefaultFieldOfView = this.camera.fieldOfView;
- this.m_fNearClipPlane = this.camera.nearClipPlane;
- this.m_fFarClipPlane = this.camera.farClipPlane;
- }
- public virtual void Start()
- {
- base.StartCoroutine(this.OnCalcMaidDistance());
- }
- protected virtual void OnEnable()
- {
- UICamera.fallThrough = base.gameObject;
- }
- protected virtual void OnDisable()
- {
- UICamera.fallThrough = null;
- }
- protected virtual void OnHover(bool isOver)
- {
- this.m_bFallThrough = isOver;
- }
- public void Blur(bool f_bBlur)
- {
- if (this.m_gcBlur != null)
- {
- this.m_gcBlur.enabled = f_bBlur;
- }
- }
- public void Vignett(bool f_bVignett)
- {
- if (this.m_gcVignett != null)
- {
- this.m_gcVignett.enabled = f_bVignett;
- }
- }
- public virtual void OnLevelWasLoaded(int level)
- {
- RenderSettings.fog = false;
- }
- public void SetChaseCamera(Maid f_maid, string f_strAttachBone, Vector3 f_vWorldOffset, bool f_fOnece, float f_fTime)
- {
- this.RemoveChaseCameraAll();
- if (f_maid.body0 == null)
- {
- Debug.LogError("SetChaseCamera メイドのBodyがまだ読まれていません。");
- return;
- }
- Transform transform = CMT.SearchObjName(f_maid.body0.m_trBones, f_strAttachBone, true);
- if (transform != null)
- {
- CameraChase cameraChase = transform.gameObject.AddComponent<CameraChase>();
- cameraChase.StartChase(f_fOnece, f_fTime, f_vWorldOffset);
- }
- }
- public void RemoveChaseCameraAll()
- {
- GameObject characterAll = GameMain.Instance.CharacterMgr.CharacterAll;
- if (characterAll != null)
- {
- CameraChase[] componentsInChildren = characterAll.GetComponentsInChildren<CameraChase>(true);
- for (int i = 0; i < componentsInChildren.Length; i++)
- {
- UnityEngine.Object.Destroy(componentsInChildren[i]);
- }
- }
- }
- public virtual void SetCameraMask(CameraMain.CameraMask f_eMask, bool f_bVisible)
- {
- if (f_bVisible)
- {
- this.camera.cullingMask |= 1 << (int)f_eMask;
- }
- else
- {
- this.camera.cullingMask &= ~(1 << (int)f_eMask);
- }
- }
- public virtual void CameraMaskReset()
- {
- this.camera.cullingMask = this.m_nBackCullingMask;
- }
- public virtual void SetCameraType(CameraMain.CameraType f_eType)
- {
- this.m_UOCamera.enabled = (f_eType == CameraMain.CameraType.Target);
- this.m_eCamType = f_eType;
- }
- public virtual CameraMain.CameraType GetCameraType()
- {
- return this.m_eCamType;
- }
- public virtual void SetControl(bool f_bEnable)
- {
- this.m_UOCamera.mouseControl = f_bEnable;
- }
- public virtual bool GetControl()
- {
- return this.m_UOCamera.mouseControl;
- }
- public virtual void SetTargetPos(Vector3 f_vecWorldPos, bool f_bSelf = true)
- {
- if (this.m_UOCamera != null)
- {
- if (f_bSelf)
- {
- iTween.StopAndSkipToEnd(base.gameObject);
- }
- this.m_UOCamera.SetTargetPos(f_vecWorldPos);
- }
- }
- public virtual Vector3 GetTargetPos()
- {
- if (this.m_UOCamera.target != null)
- {
- return this.m_UOCamera.target.position;
- }
- return default(Vector3);
- }
- public virtual void SetDistance(float f_fDistance, bool f_bSelf = true)
- {
- if (f_bSelf)
- {
- iTween.StopAndSkipToEnd(base.gameObject);
- }
- this.m_UOCamera.SetDistance(f_fDistance);
- }
- public virtual float GetDistance()
- {
- return this.m_UOCamera.distance;
- }
- public virtual void SetAroundAngle(Vector2 f_vecAngle, bool f_bSelf = true)
- {
- if (f_bSelf)
- {
- iTween.StopAndSkipToEnd(base.gameObject);
- }
- this.m_UOCamera.SetAroundAngle(f_vecAngle);
- }
- public virtual Vector2 GetAroundAngle()
- {
- return this.m_UOCamera.GetAroundAngle();
- }
- public virtual void SetTargetOffset(Vector3 f_vOffs, bool is_animation)
- {
- this.m_UOCamera.SetOffset(f_vOffs, is_animation);
- }
- public virtual void SetPos(Vector3 f_vecWorldPos)
- {
- iTween.StopAndSkipToEnd(base.gameObject);
- base.transform.position = f_vecWorldPos;
- }
- public virtual void SetRotation(Vector3 f_vecWorldRot)
- {
- iTween.StopAndSkipToEnd(base.gameObject);
- base.transform.rotation = Quaternion.Euler(f_vecWorldRot);
- }
- public virtual void SetRealHeadPos(Vector3 f_vecWorldPos, bool f_bYFromFloor = false)
- {
- this.SetPos(f_vecWorldPos);
- }
- public virtual void SetRealHeadRot(Vector3 f_vecWorldRot, bool f_bRotYOnly = true)
- {
- this.SetRotation(f_vecWorldRot);
- }
- protected virtual float GetYfromFloor(Vector3 f_vPos)
- {
- return f_vPos.y + this.GetFloorPos(f_vPos).y;
- }
- public virtual Vector3 GetFloorPos(Vector3 f_vPos)
- {
- this.m_rayVRHitFloor.origin = f_vPos;
- this.m_rayVRHitFloor.direction = Vector3.down;
- if (Physics.Raycast(this.m_rayVRHitFloor, out this.m_hitVRFloor, float.PositiveInfinity, 512))
- {
- return this.m_hitVRFloor.point;
- }
- this.m_rayVRHitFloor.origin = new Vector3(f_vPos.x, 100f, f_vPos.z);
- this.m_rayVRHitFloor.direction = Vector3.down;
- if (Physics.Raycast(this.m_rayVRHitFloor, out this.m_hitVRFloor, float.PositiveInfinity, 512))
- {
- return this.m_hitVRFloor.point;
- }
- f_vPos.y = 0f;
- return f_vPos;
- }
- public virtual Vector3 GetPos()
- {
- return base.transform.position;
- }
- public virtual void SetFootPos(Vector3 f_vecFootPos, CameraMain.STAND_SIT f_eState)
- {
- float y;
- if (f_eState == CameraMain.STAND_SIT.STAND)
- {
- y = GameMain.Instance.CMSystem.VRCameraHeightStandOffs;
- }
- else if (f_eState == CameraMain.STAND_SIT.SIT)
- {
- y = GameMain.Instance.CMSystem.VRCameraHeightSitOffs;
- }
- else
- {
- y = this.GetYfromFloor(this.GetRealHeadTransform().position);
- }
- this.SetPos(f_vecFootPos + new Vector3(0f, y, 0f));
- }
- public virtual Transform GetBaseHeadTransform()
- {
- return base.transform;
- }
- public virtual Transform GetRealHeadTransform()
- {
- return base.transform;
- }
- public virtual float GetHeightStandAndSit(CameraMain.STAND_SIT f_eState)
- {
- if (f_eState == CameraMain.STAND_SIT.STAND)
- {
- return GameMain.Instance.CMSystem.VRCameraHeightStandOffs;
- }
- if (f_eState == CameraMain.STAND_SIT.SIT)
- {
- return GameMain.Instance.CMSystem.VRCameraHeightSitOffs;
- }
- return 0f;
- }
- public virtual void SetFromScriptOnTarget(Vector3 f_vCenter, float f_fRadius, Vector2 f_vRotate)
- {
- NDebug.Assert(this.m_eCamType == CameraMain.CameraType.Target, "カメラモードはターゲットでなくてはいけません。");
- iTween.StopAndSkipToEnd(base.gameObject);
- this.SetTargetPos(f_vCenter, true);
- this.SetDistance(f_fRadius, true);
- this.SetAroundAngle(f_vRotate, true);
- this.m_vCenter = f_vCenter;
- this.m_fRadius = f_fRadius;
- this.m_vRotate = f_vRotate;
- }
- public virtual void StartAnimationTo(bool f_bStart, Vector3 f_vSCenter, float f_fSRadius, Vector2 f_vSRotate, Vector3 f_vCenter, float f_fRadius, Vector2 f_vRotate, float f_fTime, string f_strEaseType, bool f_bSkip, float f_fDelay)
- {
- iTween.StopAndSkipToEnd(base.gameObject);
- iTween.EaseType easeType;
- if (string.IsNullOrEmpty(f_strEaseType))
- {
- easeType = iTween.EaseType.linear;
- }
- else
- {
- easeType = (iTween.EaseType)Enum.Parse(typeof(iTween.EaseType), f_strEaseType);
- }
- Vector3 vector;
- float num;
- Vector2 vector2;
- if (!f_bStart)
- {
- vector = this.GetTargetPos();
- num = this.GetDistance();
- vector2 = this.GetAroundAngle();
- }
- else
- {
- vector = f_vSCenter;
- num = f_fSRadius;
- vector2 = f_vSRotate;
- }
- this.m_bMoveSkip = f_bSkip;
- if (this.m_bMoveSkip && GameMain.Instance.IsForceSkip())
- {
- this.SetTargetPos(f_vCenter, true);
- this.SetDistance(f_fRadius, true);
- this.SetAroundAngle(f_vRotate, true);
- this.m_vCenter = f_vCenter;
- this.m_fRadius = f_fRadius;
- this.m_vRotate = f_vRotate;
- }
- else
- {
- iTween.ValueTo(base.gameObject, iTween.Hash(new object[]
- {
- "easetype",
- easeType,
- "from",
- vector,
- "to",
- f_vCenter,
- "time",
- f_fTime,
- "delay",
- f_fDelay,
- "onUpdate",
- "UpdateCamTgt",
- "onComplete",
- "CompleteCam"
- }));
- iTween.ValueTo(base.gameObject, iTween.Hash(new object[]
- {
- "easetype",
- easeType,
- "from",
- num,
- "to",
- f_fRadius,
- "time",
- f_fTime,
- "delay",
- f_fDelay,
- "onUpdate",
- "UpdateCamDistance",
- "onComplete",
- "CompleteCam"
- }));
- iTween.ValueTo(base.gameObject, iTween.Hash(new object[]
- {
- "easetype",
- easeType,
- "from",
- vector2,
- "to",
- f_vRotate,
- "time",
- f_fTime,
- "delay",
- f_fDelay,
- "onUpdate",
- "UpdateCamAngle",
- "onComplete",
- "CompleteCam"
- }));
- }
- }
- public virtual void UpdateCamTgt(Vector3 f_vValue)
- {
- this.SetTargetPos(f_vValue, false);
- this.m_vCenter = f_vValue;
- }
- public virtual void UpdateCamDistance(float f_vValue)
- {
- this.SetDistance(f_vValue, false);
- this.m_fRadius = f_vValue;
- }
- public virtual void UpdateCamAngle(Vector2 f_vAngle)
- {
- this.SetAroundAngle(f_vAngle, false);
- this.m_vRotate = f_vAngle;
- }
- public virtual void CompleteCam()
- {
- }
- public virtual void ResetFromScriptOnTarget()
- {
- NDebug.Assert(this.m_eCamType == CameraMain.CameraType.Target, "カメラモードはターゲットでなくてはいけません。");
- iTween.StopAndSkipToEnd(base.gameObject);
- this.SetTargetPos(this.m_vCenter, true);
- this.SetDistance(this.m_fRadius, true);
- this.SetAroundAngle(this.m_vRotate, true);
- }
- public virtual void Reset(CameraMain.CameraType f_eType, bool f_bControl)
- {
- iTween.StopAndSkipToEnd(base.gameObject);
- base.transform.parent.transform.position = new Vector3(0f, 1.61f, 0f);
- this.CameraMaskReset();
- this.SetCameraType(f_eType);
- this.SetControl(f_bControl);
- this.SetTargetOffset(Vector3.zero, true);
- this.Blur(false);
- this.Vignett(false);
- this.RemoveChaseCameraAll();
- this.FadeInNoUI(0f, true);
- if (this.camera != null)
- {
- this.camera.fieldOfView = this.m_fDefaultFieldOfView;
- this.camera.nearClipPlane = this.m_fNearClipPlane;
- this.camera.farClipPlane = this.m_fFarClipPlane;
- }
- if (f_eType == CameraMain.CameraType.Target)
- {
- this.SetTargetPos(new Vector3(0f, 1.5f, 0f), true);
- if (this.m_UOCamera != null)
- {
- this.m_UOCamera.SetAroundAngle(new Vector2(180f, 10f));
- this.m_UOCamera.SetDistance(2f);
- }
- }
- else if (f_eType == CameraMain.CameraType.Free)
- {
- this.SetPos(new Vector3(0f, 1.5f, 2f));
- this.SetRotation(new Vector3(10f, -180f, 0f));
- }
- }
- public bool IsFadeProcNoUI()
- {
- return this.m_eMyFadeState != CameraMain.FadeState.Non && this.m_eMyFadeState != CameraMain.FadeState.Out;
- }
- public virtual void FadeOutNoUI(float f_fTime = 0.5f, bool f_bSkipable = true)
- {
- this.m_fMyFadeSkipable = f_bSkipable;
- if (this.m_eMyFadeState == CameraMain.FadeState.Out || this.m_eMyFadeState == CameraMain.FadeState.ProcOut)
- {
- return;
- }
- if (this.m_eMyFadeState == CameraMain.FadeState.ProcIn)
- {
- base.StopCoroutine(this.m_MyFadeRoutineIn);
- }
- this.m_FadeMyCamera.enabled = true;
- this.m_FadeMyCamera.intensity = 1f;
- this.m_fMyFadeTime = f_fTime;
- if (this.m_fMyFadeSkipable)
- {
- this.m_fMyFadeTime *= GameMain.Instance.CMSystem.FadeSpeedRate;
- if (GameMain.Instance.IsForceSkip())
- {
- this.m_fMyFadeTime = 0f;
- }
- }
- if (this.m_fMyFadeTime < 0.001f)
- {
- this.m_eMyFadeState = CameraMain.FadeState.Out;
- this.m_FadeMyCamera.intensity = 0f;
- }
- else
- {
- this.m_eMyFadeState = CameraMain.FadeState.ProcOut;
- base.StartCoroutine(this.m_MyFadeRoutineOut = this.CoMyFadeOut());
- }
- }
- private IEnumerator CoMyFadeOut()
- {
- this.m_fMyFadeNow = 0f;
- yield return null;
- while ((this.m_fMyFadeNow += Time.deltaTime) < this.m_fMyFadeTime)
- {
- this.m_eMyFadeState = CameraMain.FadeState.ProcOut;
- this.m_FadeMyCamera.enabled = true;
- this.m_FadeMyCamera.intensity = 1f - this.m_fMyFadeNow / this.m_fMyFadeTime;
- if (this.m_fMyFadeSkipable && GameMain.Instance.IsForceSkip())
- {
- break;
- }
- yield return null;
- }
- this.m_FadeMyCamera.enabled = true;
- this.m_FadeMyCamera.intensity = 0f;
- this.m_eMyFadeState = CameraMain.FadeState.Out;
- yield break;
- }
- public virtual void FadeInNoUI(float f_fTime = 0.5f, bool f_bSkipable = true)
- {
- this.m_fMyFadeSkipable = f_bSkipable;
- if (this.m_eMyFadeState == CameraMain.FadeState.Non || this.m_eMyFadeState == CameraMain.FadeState.ProcIn)
- {
- return;
- }
- if (this.m_eMyFadeState == CameraMain.FadeState.ProcOut)
- {
- base.StopCoroutine(this.m_MyFadeRoutineOut);
- }
- this.m_FadeMyCamera.enabled = true;
- this.m_FadeMyCamera.intensity = 0f;
- this.m_fMyFadeTime = f_fTime;
- if (this.m_fMyFadeSkipable)
- {
- this.m_fMyFadeTime *= GameMain.Instance.CMSystem.FadeSpeedRate;
- if (GameMain.Instance.IsForceSkip())
- {
- this.m_fMyFadeTime = 0f;
- }
- }
- if (this.m_fMyFadeTime < 0.001f)
- {
- this.m_eMyFadeState = CameraMain.FadeState.Non;
- this.m_FadeMyCamera.enabled = false;
- this.m_FadeMyCamera.intensity = 1f;
- }
- else
- {
- this.m_eMyFadeState = CameraMain.FadeState.ProcIn;
- base.StartCoroutine(this.m_MyFadeRoutineIn = this.CoMyFadeIn());
- }
- }
- private IEnumerator CoMyFadeIn()
- {
- this.m_fMyFadeNow = 0f;
- yield return null;
- while ((this.m_fMyFadeNow += Time.deltaTime) < this.m_fMyFadeTime)
- {
- this.m_eMyFadeState = CameraMain.FadeState.ProcIn;
- this.m_FadeMyCamera.enabled = true;
- this.m_FadeMyCamera.intensity = this.m_fMyFadeNow / this.m_fMyFadeTime;
- if (this.m_fMyFadeSkipable && GameMain.Instance.IsForceSkip())
- {
- break;
- }
- yield return null;
- }
- this.m_FadeMyCamera.enabled = false;
- this.m_FadeMyCamera.intensity = 1f;
- this.m_eMyFadeState = CameraMain.FadeState.Non;
- yield break;
- }
- public bool IsFadeProc()
- {
- return this.m_eFadeState != CameraMain.FadeState.Non && this.m_eFadeState != CameraMain.FadeState.Out;
- }
- public bool IsFadeOut()
- {
- return this.m_eFadeState != CameraMain.FadeState.Non;
- }
- public CameraMain.FadeState GetFadeState()
- {
- return this.m_eFadeState;
- }
- public bool IsFadeStateNon()
- {
- return this.m_eFadeState == CameraMain.FadeState.Non;
- }
- public void FadeOut(float f_fTime = 0.5f, bool f_bUIEnable = false, CameraMain.dgOnCompleteFade f_dg = null, bool f_bSkipable = true, Color f_color = default(Color))
- {
- this.m_fFadeSkipable = f_bSkipable;
- if (this.m_eFadeState == CameraMain.FadeState.Out || this.m_eFadeState == CameraMain.FadeState.ProcOut)
- {
- return;
- }
- this.m_fFadeColor = f_color;
- if (this.m_eFadeState == CameraMain.FadeState.ProcIn)
- {
- base.StopCoroutine(this.m_FadeRoutineIn);
- this.CompleteFadeIn();
- }
- this.OnOverlayState(true);
- this.OnProcessFade(1f);
- this.m_fFadeTime = f_fTime;
- if (this.m_fFadeSkipable)
- {
- this.m_fFadeTime *= GameMain.Instance.CMSystem.FadeSpeedRate;
- if (GameMain.Instance.IsForceSkip())
- {
- this.m_fFadeTime = 0f;
- }
- }
- UICamera.InputEnable = f_bUIEnable;
- if (f_dg != null)
- {
- this.m_dgOnCompleteFadeOut = (CameraMain.dgOnCompleteFade)Delegate.Combine(this.m_dgOnCompleteFadeOut, f_dg);
- }
- if (this.m_fFadeTime <= 0.001f)
- {
- this.CompleteFadeOut();
- }
- else
- {
- this.m_eFadeState = CameraMain.FadeState.ProcOut;
- base.StartCoroutine(this.m_FadeRoutineOut = this.CoFadeOut());
- }
- }
- private IEnumerator CoFadeOut()
- {
- this.m_fFadeNow = 0f;
- yield return null;
- while ((this.m_fFadeNow += Time.deltaTime) < this.m_fFadeTime)
- {
- this.m_eFadeState = CameraMain.FadeState.ProcOut;
- this.OnOverlayState(true);
- this.OnProcessFade(1f - this.m_fFadeNow / this.m_fFadeTime);
- if (this.m_fFadeSkipable && GameMain.Instance.IsForceSkip())
- {
- break;
- }
- yield return null;
- }
- this.CompleteFadeOut();
- yield break;
- }
- private void CompleteFadeOut()
- {
- this.OnOverlayState(true);
- this.OnProcessFade(0f);
- this.m_eFadeState = CameraMain.FadeState.Out;
- if (this.m_dgOnCompleteFadeOut != null && this.m_dgOnCompleteFadeOut.GetInvocationList() != null && this.m_dgOnCompleteFadeOut.GetInvocationList().Length != 0)
- {
- this.m_dgOnCompleteFadeOut();
- this.m_dgOnCompleteFadeOut = new CameraMain.dgOnCompleteFade(this.Dummy);
- }
- }
- public void FadeIn(float f_fTime = 0.5f, bool f_bUIEnable = false, CameraMain.dgOnCompleteFade f_dg = null, bool f_bSkipable = true, bool f_bColorIsSameOut = true, Color f_color = default(Color))
- {
- this.m_fFadeSkipable = f_bSkipable;
- if (this.m_eFadeState == CameraMain.FadeState.Non || this.m_eFadeState == CameraMain.FadeState.ProcIn)
- {
- return;
- }
- if (!f_bColorIsSameOut)
- {
- this.m_fFadeColor = f_color;
- }
- if (this.m_eFadeState == CameraMain.FadeState.ProcOut)
- {
- base.StopCoroutine(this.m_FadeRoutineOut);
- this.CompleteFadeOut();
- }
- this.OnOverlayState(true);
- this.OnProcessFade(0f);
- this.m_fFadeTime = f_fTime;
- if (this.m_fFadeSkipable)
- {
- this.m_fFadeTime *= GameMain.Instance.CMSystem.FadeSpeedRate;
- if (GameMain.Instance.IsForceSkip())
- {
- this.m_fFadeTime = 0f;
- }
- }
- UICamera.InputEnable = f_bUIEnable;
- if (f_dg != null)
- {
- this.m_dgOnCompleteFadeIn = (CameraMain.dgOnCompleteFade)Delegate.Combine(this.m_dgOnCompleteFadeIn, f_dg);
- }
- if (f_fTime <= 0.001f)
- {
- this.CompleteFadeIn();
- }
- else
- {
- this.m_eFadeState = CameraMain.FadeState.ProcIn;
- base.StartCoroutine(this.m_FadeRoutineIn = this.CoFadeIn());
- this.OnStartFadeIn();
- }
- }
- private IEnumerator CoFadeIn()
- {
- this.m_fFadeNow = 0f;
- yield return null;
- while ((this.m_fFadeNow += Time.deltaTime) < this.m_fFadeTime)
- {
- this.m_eFadeState = CameraMain.FadeState.ProcIn;
- this.OnOverlayState(true);
- this.OnProcessFade(this.m_fFadeNow / this.m_fFadeTime);
- if (this.m_fFadeSkipable && GameMain.Instance.IsForceSkip())
- {
- break;
- }
- yield return null;
- }
- this.CompleteFadeIn();
- yield break;
- }
- private void CompleteFadeIn()
- {
- this.OnOverlayState(false);
- this.OnProcessFade(1f);
- this.m_eFadeState = CameraMain.FadeState.Non;
- if (this.m_dgOnCompleteFadeIn != null && this.m_dgOnCompleteFadeIn.GetInvocationList() != null && this.m_dgOnCompleteFadeIn.GetInvocationList().Length != 0)
- {
- this.m_dgOnCompleteFadeIn();
- this.m_dgOnCompleteFadeIn = new CameraMain.dgOnCompleteFade(this.Dummy);
- }
- UICamera.InputEnable = true;
- }
- private void Dummy()
- {
- }
- protected virtual float GetFadeIntensity()
- {
- return this.m_FadeTargetCamera.intensity;
- }
- protected virtual void OnProcessFade(float f_fIntensity)
- {
- this.m_FadeTargetCamera.intensity = f_fIntensity;
- this.m_FadeTargetCamera.color = this.m_fFadeColor;
- }
- protected virtual void OnOverlayState(bool f_bEnable)
- {
- this.m_FadeTargetCamera.enabled = f_bEnable;
- }
- protected virtual void OnStartFadeIn()
- {
- }
- protected virtual IEnumerator OnCalcMaidDistance()
- {
- for (;;)
- {
- if (this.m_bCalcNearClip)
- {
- float fMin = 25f;
- for (int nM = 0; nM < GameMain.Instance.CharacterMgr.GetMaidCount(); nM++)
- {
- Maid maid = GameMain.Instance.CharacterMgr.GetMaid(nM);
- if (maid != null && maid.Visible && maid.body0.isLoadedBody)
- {
- float sqrMagnitude = (maid.body0.Pelvis.position - base.transform.position).sqrMagnitude;
- if (fMin > sqrMagnitude)
- {
- fMin = sqrMagnitude;
- }
- }
- yield return null;
- }
- if (fMin < 9f)
- {
- this.camera.nearClipPlane = 0.01f;
- }
- else
- {
- this.camera.nearClipPlane = 0.1f;
- }
- }
- yield return null;
- }
- yield break;
- }
- protected virtual void Update()
- {
- if (this.m_gcBloom != null)
- {
- bool enabled = this.m_gcBloom.enabled;
- this.m_gcBloom.enabled = GameMain.Instance.CMSystem.Bloom;
- this.m_gcBloom.bloomIntensity = this.m_fBloomDefIntensity * (float)GameMain.Instance.CMSystem.BloomValue * 0.01f;
- if (this.m_gcBloom.bloomIntensity <= 0.01f)
- {
- this.m_gcBloom.enabled = false;
- }
- else
- {
- this.m_gcBloom.enabled = true;
- }
- if (this.m_gcBloom.enabled != enabled)
- {
- GameMain.Instance.BroadcastMessage("OnChangeScreenSizeOrAA", SendMessageOptions.DontRequireReceiver);
- }
- }
- if (!this.changeing_ && (this.back_screen_size_.width != this.CurrentScreenWidth || this.back_screen_size_.height != this.CurrentScreenHeight || this.back_antialias_ != this.CurrentAntialias || this.back_full_screen_ != this.CurrentFullScreen))
- {
- this.back_screen_size_.width = this.CurrentScreenWidth;
- this.back_screen_size_.height = this.CurrentScreenHeight;
- this.back_antialias_ = this.CurrentAntialias;
- this.back_full_screen_ = this.CurrentFullScreen;
- if (!GameMain.Instance.VRMode || GameMain.Instance.VRDummyMode)
- {
- GameMain.Instance.BroadcastMessage("OnChangeScreenSizeOrAA", SendMessageOptions.DontRequireReceiver);
- Screen.SetResolution(Screen.width, Screen.height, Screen.fullScreen);
- base.StartCoroutine(this.ResumeNguiRoot());
- }
- }
- if ((Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift)) && (Input.GetKeyDown(KeyCode.S) || Input.GetKeyDown(KeyCode.SysReq)) && !this.screen_shot_normal_)
- {
- this.screen_shot_normal_ = true;
- base.StartCoroutine(this.SaveScreenShotNormal());
- }
- if ((Input.GetKey(KeyCode.LeftAlt) || Input.GetKey(KeyCode.RightAlt)) && (Input.GetKeyDown(KeyCode.S) || Input.GetKeyDown(KeyCode.SysReq)) && !this.screen_shot_noui_)
- {
- this.screen_shot_noui_ = true;
- base.StartCoroutine(this.SaveScreenShotNoUI());
- }
- if (GameMain.Instance.IsForceSkip() && this.m_bMoveSkip)
- {
- iTween.StopAndSkipToEnd(base.gameObject);
- }
- }
- private IEnumerator ResumeNguiRoot()
- {
- Debug.Log("ResumeNguiRoot Start");
- this.changeing_ = true;
- this.CurrentAntialias = 0;
- yield return null;
- UILabel.OnFontTextureChanged();
- this.CurrentAntialias = this.back_antialias_;
- Debug.Log("ResumeNguiRoot End");
- this.changeing_ = false;
- yield break;
- }
- private void UIHide()
- {
- NDebug.Assert(!this.hide_ui_, "UIを表示した状態から非表示にして下さい。");
- this.ui_cam_hide_list_.Clear();
- UICamera[] array = NGUITools.FindActive<UICamera>();
- foreach (UICamera uicamera in array)
- {
- Camera component = uicamera.GetComponent<Camera>();
- if (component.enabled)
- {
- UIRoot uiroot = NGUITools.FindInParents<UIRoot>(uicamera.gameObject);
- if (!(uiroot == null))
- {
- UIPanel component2 = uiroot.GetComponent<UIPanel>();
- if (!(component2 == null))
- {
- if (0 > component2.name.ToLower().IndexOf("fix") && 0f < component2.alpha)
- {
- component2.alpha = 0f;
- this.ui_cam_hide_list_.Add(uicamera);
- }
- }
- }
- }
- }
- this.ui_hide_object_list_.Clear();
- GameObject gameObject = GameObject.Find("WorldTransformAxisParent");
- if (gameObject != null)
- {
- Transform transform = gameObject.transform;
- for (int j = 0; j < transform.childCount; j++)
- {
- if (transform.gameObject.activeSelf)
- {
- transform.gameObject.SetActive(true);
- this.ui_hide_object_list_.Add(transform.gameObject);
- }
- }
- gameObject.SetActive(false);
- }
- GizmoRender.UIVisible = false;
- this.hide_ui_ = true;
- }
- private void UIResume()
- {
- NDebug.Assert(this.hide_ui_, "UIを非表示にしてから表示して下さい。");
- foreach (UICamera uicamera in this.ui_cam_hide_list_)
- {
- Camera component = uicamera.GetComponent<Camera>();
- UIRoot uiroot = NGUITools.FindInParents<UIRoot>(uicamera.gameObject);
- if (!(uiroot == null))
- {
- UIPanel component2 = uiroot.GetComponent<UIPanel>();
- if (component2 != null)
- {
- component2.alpha = 1f;
- }
- }
- }
- this.ui_cam_hide_list_.Clear();
- for (int i = 0; i < this.ui_hide_object_list_.Count; i++)
- {
- this.ui_hide_object_list_[i].SetActive(true);
- }
- this.ui_hide_object_list_.Clear();
- GizmoRender.UIVisible = true;
- this.hide_ui_ = false;
- }
- public void ScreenShot(bool f_bNoUI)
- {
- this.custom_screenshot_ = false;
- if (f_bNoUI)
- {
- base.StartCoroutine(this.SaveScreenShotNoUI());
- }
- else
- {
- base.StartCoroutine(this.SaveScreenShotNormal());
- }
- }
- public void ScreenShot(string file_path, int super_size, bool no_ui_mode)
- {
- this.custom_screenshot_ = true;
- this.custom_screenshot_save_file_path_ = file_path;
- this.custom_screenshot_super_size_ = super_size;
- if (no_ui_mode)
- {
- base.StartCoroutine(this.SaveScreenShotNoUI());
- }
- else
- {
- base.StartCoroutine(this.SaveScreenShotNormal());
- }
- }
- protected IEnumerator SaveScreenShotNormal()
- {
- yield return new WaitForEndOfFrame();
- int super_size = this.ss_super_size_[(int)GameMain.Instance.CMSystem.ScreenShotSuperSize];
- string file_path = this.GetTimeFileName();
- if (this.custom_screenshot_)
- {
- file_path = this.custom_screenshot_save_file_path_;
- super_size = this.custom_screenshot_super_size_;
- }
- Application.CaptureScreenshot(file_path, super_size);
- yield return new WaitForEndOfFrame();
- this.screen_shot_normal_ = false;
- yield break;
- }
- protected IEnumerator SaveScreenShotNoUI()
- {
- this.UIHide();
- yield return new WaitForEndOfFrame();
- int super_size = this.ss_super_size_[(int)GameMain.Instance.CMSystem.ScreenShotSuperSize];
- string file_path = this.GetTimeFileName();
- if (this.custom_screenshot_)
- {
- file_path = this.custom_screenshot_save_file_path_;
- super_size = this.custom_screenshot_super_size_;
- }
- Application.CaptureScreenshot(file_path, super_size);
- yield return new WaitForEndOfFrame();
- this.UIResume();
- this.screen_shot_noui_ = false;
- yield break;
- }
- private string GetTimeFileName()
- {
- string fullPath = Path.GetFullPath(".\\");
- string text = fullPath + "ScreenShot";
- if (!Directory.Exists(text))
- {
- Directory.CreateDirectory(text);
- }
- return text + "\\img" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".png";
- }
- public Camera camera
- {
- get
- {
- if (this.camera_ == null)
- {
- this.camera_ = base.GetComponent<Camera>();
- }
- return this.camera_;
- }
- }
- private CameraMain.CameraType m_eCamType;
- protected int m_nBackCullingMask;
- protected UltimateOrbitCamera m_UOCamera;
- public FadeInAndFadeOutOnGUI m_FadeTargetCamera;
- private ScreenOverlay m_FadeMyCamera;
- private Bloom m_gcBloom;
- private Blur m_gcBlur;
- private Vignetting m_gcVignett;
- public bool m_bCalcNearClip = true;
- protected float m_fDefaultFieldOfView;
- protected float m_fNearClipPlane;
- protected float m_fFarClipPlane;
- protected bool m_bMoveSkip;
- protected float m_fBloomDefIntensity = 2.85f;
- protected Ray m_rayVRHitFloor = default(Ray);
- protected RaycastHit m_hitVRFloor = default(RaycastHit);
- protected bool m_bFallThrough;
- protected CameraMain.FadeState m_eMyFadeState;
- private bool m_fMyFadeSkipable;
- private float m_fMyFadeNow;
- private float m_fMyFadeTime;
- private IEnumerator m_MyFadeRoutineOut;
- private IEnumerator m_MyFadeRoutineIn;
- protected CameraMain.FadeState m_eFadeState;
- private bool m_fFadeSkipable;
- protected CameraMain.dgOnCompleteFade m_dgOnCompleteFadeOut;
- protected CameraMain.dgOnCompleteFade m_dgOnCompleteFadeIn;
- private float m_fFadeNow;
- private float m_fFadeTime;
- private IEnumerator m_FadeRoutineOut;
- private IEnumerator m_FadeRoutineIn;
- private Color m_fFadeColor = Color.black;
- private int[] ss_super_size_ = new int[]
- {
- 1,
- 2,
- 4
- };
- private int back_antialias_;
- private bool back_full_screen_;
- private bool changeing_;
- private CameraMain.TexSize back_screen_size_;
- protected bool screen_shot_noui_;
- protected bool screen_shot_normal_;
- private List<UICamera> ui_cam_hide_list_ = new List<UICamera>();
- private List<GameObject> ui_hide_object_list_ = new List<GameObject>();
- private bool hide_ui_;
- private Camera camera_;
- protected Vector3 m_vCenter = new Vector3(0f, 1.5f, 0f);
- protected float m_fRadius = 2f;
- protected Vector2 m_vRotate = new Vector2(180f, 10f);
- private bool custom_screenshot_;
- private string custom_screenshot_save_file_path_;
- private int custom_screenshot_super_size_;
- public enum CameraType
- {
- Target,
- Free
- }
- public enum CameraMask
- {
- Character = 10,
- BG = 20,
- OvrTouchLookObj = 19
- }
- public enum STAND_SIT
- {
- NON,
- STAND,
- SIT
- }
- public enum FadeState
- {
- Non,
- ProcIn,
- ProcOut,
- Out
- }
- public delegate void dgOnCompleteFade();
- private struct TexSize
- {
- public int width;
- public int height;
- }
- }
|