Example #1
0
 protected void OnDisable()
 {
     if (ImageEffectManager.singleton == this)
     {
         ImageEffectManager.singleton = null;
     }
 }
Example #2
0
    public void End()
    {
        ImageEffectManager.API_EnableImageEffect <GlobalFog>();
        ImageEffectManager.API_DisableImageEffect <WarFog>();

        Clear();
    }
Example #3
0
    public void OnApplicationFocus(bool focusStatus)
    {
        isOnFocus = focusStatus;
        //if(SoldierCamera.MainInstance<SoldierCamera>() != null && SoldierCamera.MainInstance<SoldierCamera>().cameraMode == SoldierCamera.CameraControlMode.GodEyeControl)
        //{
        //    GameLogicConfigApi.bIsLockInWindow = isOnFocus;
        //}

        if (isOnFocus)
        {
            DoMouseLockInModeType();
        }
        else
        {
            GameLogicConfigApi.bIsLockInWindow = false;
        }

        //如果失去焦点,并且不能是编辑器
        if (!isOnFocus && !Application.isEditor && FPS.Value > 30)
        {
            QualitySettings.vSyncCount  = 0;
            Application.targetFrameRate = 30;
        }
        else if (!Application.isEditor)
        {
            QualitySettings.vSyncCount  = 0;
            Application.targetFrameRate = Screen.currentResolution.refreshRate;
        }
        ImageEffectManager.API_ApplicationFocusChanged(isOnFocus);
        //最后才告诉其他地方处理焦点事件吧
        onApplicationFocusChangeEvent.Invoke(isOnFocus);
    }
 protected void OnDisable()
 {
     if (singleton == this)
     {
         singleton = null;
     }
 }
Example #5
0
 private void OnEnable()
 {
     if (null == mgr)
     {
         mgr = GetComponent <ImageEffectManager>();
     }
     mgr.Add(this);
     glboalLchBlurEffect = this;
 }
Example #6
0
 protected bool DestroyImageEffect(UEffectImageParam _param)
 {
     if (_param.AttachImageEffect != null && m_EffectImageTypeList.ContainsKey(_param.AttachImageEffect) && m_EffectImageTypeList[_param.AttachImageEffect] == _param.AttachParent)
     {
         ImageEffectManager.API_DisableImageEffect <BlurAndDownScreen>();
         m_EffectImageTypeList.Remove(_param.AttachImageEffect);
         return(true);
     }
     return(false);
 }
Example #7
0
        protected bool CreateImageEffect(UEffectImageParam _param)
        {
            if (_param.AttachImageEffect != null && !m_EffectImageTypeList.ContainsKey(_param.AttachImageEffect))
            {
                ImageEffectManager.API_EnableImageEffect(_param.AttachImageEffect);
                m_EffectImageTypeList.Add(_param.AttachImageEffect, _param.AttachParent);
                return(true);
            }

            return(false);
        }
Example #8
0
 public void Begin()
 {
     if (warfog == null)
     {
         warfog = ImageEffectManager.API_Add <WarFog>(SceneResInfoManager.CurrentActiveInstance.SceneCamera);
     }
     ImageEffectManager.API_EnableImageEffect <WarFog>();
     ImageEffectManager.API_DisableImageEffect <GlobalFog>();
     ImageEffectManager.API_DisableImageEffect <RadialBlur>();
     Refresh();
 }
Example #9
0
 private void OnDisable()
 {
     if (null == mgr)
     {
         mgr = GetComponent <ImageEffectManager>();
     }
     mgr.Remove(this);
     if (glboalLchBlurEffect == this)
     {
         glboalLchBlurEffect = null;
     }
 }
Example #10
0
    protected virtual void Start()
    {
        IsSpectator     = false;
        IgnoresDamage   = false;
        LogDamageEvents = false;

        HeadBobY = head.transform.localPosition.y;
        _iem     = head.GetComponent <ImageEffectManager>();
        if (!_iem)
        {
            LOG("No ImageEffectManager found on head.");
        }

        //footSteps = gameObject.GetComponent<AudioSource>(); //gets audio
        if (!footSteps)
        {
            LOG_ERROR("FPS_Pawn of \"" + name + "\" has no audio source!");
        }

        _fovMultipliers = new ModifierTable();
        _fovKeys        = new int[2];
        for (int i = 0; i < _fovKeys.Length; i++)
        {
            _fovKeys[i] = -1;
        }

        _playerInitialScale = transform.localScale.y;

        _rb = gameObject.AddComponent <Rigidbody>();
        _rb.freezeRotation = true;

        _desiredBodyRotation = transform.rotation;
        if (!head)
        {
            LOG_ERROR("No head object assigned to " + name);
        }
        _desiredCameraRotation     = Quaternion.Euler(Vector3.zero);
        _default_look_xSensitivity = look_xSensitivity;
        _default_look_ySensitivity = look_ySensitivity;
        CheckSettings();

        _col          = gameObject.GetComponentInChildren <CapsuleCollider>();
        _playerHeight = _col.height;

        _maxHealth = Health;

        SpawnOffhandItem();

        SetCursorLock(_cursorIsLocked);
    }
Example #11
0
 protected override void OnControlEnter()
 {
     base.OnControlEnter();
     if (base.localControlled)
     {
         this.clientVitalsSync = base.AddAddon <ClientVitalsSync>();
         ImageEffectManager.GetInstance <GameFullscreen>().fadeColor = Color.black;
         ImageEffectManager.GetInstance <GameFullscreen>().tintColor = Color.white;
         RPOS.DoFade(2f, 2.5f, Color.clear);
         RPOS.SetCurrentFade(Color.black);
         RPOS.HealthUpdate(base.health);
         RPOS.ObservedPlayer = base.controllable;
     }
 }
Example #12
0
    protected override void OnUpdate(float factor)
    {
        Color color = (this.@from * (1f - factor)) + (this.to * factor);

        if (this.isFullscreen)
        {
            GameFullscreen instance = ImageEffectManager.GetInstance <GameFullscreen>();
            if (instance)
            {
                instance.autoFadeColor = color;
            }
            color.a = 0f;
        }
        this.color = color;
    }
Example #13
0
    private void OnDisable()
    {
        GameFullscreen instance      = ImageEffectManager.GetInstance <GameFullscreen>();
        int            lastShowFlags = this.lastShowFlags;

        this.lastShowFlags = 0;
        if ((lastShowFlags & 1) == 1)
        {
            instance.overlays[0].texture = null;
        }
        if ((lastShowFlags & 2) == 2)
        {
            instance.overlays[1].texture = null;
        }
    }
Example #14
0
 public static void SetEnabled <T>(bool value)
     where T : MonoBehaviour
 {
     if (ImageEffectManager.GetInstance <T>() != null)
     {
         ImageEffectManager.GetInstance <T>().enabled = value;
     }
     if (ImageEffectManager.states.ContainsKey(typeof(T)))
     {
         ImageEffectManager.states[typeof(T)] = value;
     }
     else
     {
         ImageEffectManager.states.Add(typeof(T), value);
     }
 }
Example #15
0
    private void LateUpdate()
    {
        float          num;
        float          num2;
        GameFullscreen instance = ImageEffectManager.GetInstance <GameFullscreen>();
        int            num3     = this.UpdateFadeValues(out num, out num2);
        int            num4     = num3 ^ this.lastShowFlags;

        this.lastShowFlags = num3;
        if (num4 != 0)
        {
            if ((num4 & 1) == 1)
            {
                if ((num3 & 1) == 1)
                {
                    instance.overlays[0].texture = this.damageOverlay;
                    instance.overlays[0].pass    = 3;
                }
                else
                {
                    instance.overlays[0].texture = null;
                }
            }
            if ((num4 & 2) == 2)
            {
                if ((num3 & 2) == 2)
                {
                    instance.overlays[1].texture = this.damageOverlay2;
                    instance.overlays[1].pass    = 3;
                }
                else
                {
                    instance.overlays[1].texture = null;
                }
            }
        }
        if ((num3 & 1) == 1)
        {
            instance.overlays[0].alpha = num;
        }
        if ((num3 & 2) == 2)
        {
            instance.overlays[1].alpha = num2;
        }
    }
Example #16
0
    private void LateUpdate()
    {
        float          single;
        float          single1;
        GameFullscreen instance = ImageEffectManager.GetInstance <GameFullscreen>();
        int            num      = this.UpdateFadeValues(out single, out single1);
        int            num1     = num ^ this.lastShowFlags;

        this.lastShowFlags = num;
        if (num1 != 0)
        {
            if ((num1 & 1) == 1)
            {
                if ((num & 1) != 1)
                {
                    instance.overlays[0].texture = null;
                }
                else
                {
                    instance.overlays[0].texture = this.damageOverlay;
                    instance.overlays[0].pass    = 3;
                }
            }
            if ((num1 & 2) == 2)
            {
                if ((num & 2) != 2)
                {
                    instance.overlays[1].texture = null;
                }
                else
                {
                    instance.overlays[1].texture = this.damageOverlay2;
                    instance.overlays[1].pass    = 3;
                }
            }
        }
        if ((num & 1) == 1)
        {
            instance.overlays[0].alpha = single;
        }
        if ((num & 2) == 2)
        {
            instance.overlays[1].alpha = single1;
        }
    }
Example #17
0
        public static Image AddImageEffects(Image img, TaskSettings taskSettings)
        {
            if (taskSettings.ImageSettings.ShowImageEffectsWindowAfterCapture)
            {
                using (ImageEffectsForm imageEffectsForm = new ImageEffectsForm(img, taskSettings.ImageSettings.ImageEffects))
                {
                    if (imageEffectsForm.ShowDialog() == DialogResult.OK)
                    {
                        taskSettings.ImageSettings.ImageEffects = imageEffectsForm.Effects;
                    }
                }
            }

            using (img)
            {
                return(ImageEffectManager.ApplyEffects(img, taskSettings.ImageSettings.ImageEffects));
            }
        }
Example #18
0
    private void GameQuit()
    {
        DG.Tweening.DOTween.isQuitting = true;
        SaveUnityTXTLog();
        InputManager.Clear();
        EntityFactory.Instance.Clear();
        UTopNameManager.Instance.Clear();
        USpeedUI.Blood.UBloodManager.Instance.Clear();
        SoundManager.Clear();
        SkinManager.Clear();
        PrefabManager.Clear();
        ImageSetting.Clear();
        if (AnimationEffectFactory.Instance)
        {
            AnimationEffectFactory.Instance.UnLoadAnimEffectData();
        }

        if (LightingEffectFactory.Instance)
        {
            LightingEffectFactory.Instance.ClearCache();
            LightingEffectFactory.Instance.ClearWhenGameEnd();
        }

        if (Application.isEditor)
        {
            Shader.globalMaximumLOD = int.MaxValue;
        }

        ImageEffectManager.API_GameEnd();
        SafeZoneEffectManager.Clear();
        //清除资源
        AssetBundleManager.Clear();
        SceneResInfoManager.ClearOnAppQuit();
        Resources.UnloadUnusedAssets();
        //GC.Collect();
    }
Example #19
0
    //Returns false if game doesn't end
    public virtual bool EndGame(bool victory)
    {
        LOG("Game ending in " + GameEndLingerTime + " seconds.");
        if (_ms)
        {
            if (victory)
            {
                _ms.SetGameLargeText(true, winText);
            }
            else
            {
                _ms.SetGameLargeText(true, loseText);
            }

            ImageEffectManager cam = FindObjectOfType <ImageEffectManager>();
            if (cam)
            {
                cam.CrossFadeBlack(true, FadeTime);
            }
            StartCoroutine(LingerBeforeSceneChange());
            return(true);
        }
        return(false);
    }
Example #20
0
 private void Update()
 {
     if (!base.dead)
     {
         float radExposureScalar;
         float num2;
         float num3;
         float num4;
         if (this.radiation != null)
         {
             num4 = this.radiation.CalculateExposure(true);
             num3 = this.radiation.CalculateExposure(false);
             radExposureScalar = this.radiation.GetRadExposureScalar(num4);
             num2 = this.radiation.GetRadExposureScalar(num3);
         }
         else
         {
             radExposureScalar = 0f;
             num2 = 0f;
             num4 = 0f;
             num3 = 0f;
         }
         ImageEffectManager.GetInstance <NoiseAndGrain>().intensityMultiplier = 10f * radExposureScalar;
         if (geiger0 == null)
         {
             Bundling.Load <AudioClip>("content/item/sfx/geiger_low", out geiger0);
             Bundling.Load <AudioClip>("content/item/sfx/geiger_medium", out geiger1);
             Bundling.Load <AudioClip>("content/item/sfx/geiger_high", out geiger2);
             Bundling.Load <AudioClip>("content/item/sfx/geiger_ultra", out geiger3);
         }
         if (num3 >= 0.02f)
         {
             if (geigerSoundPlayer == null)
             {
                 System.Type[] components = new System.Type[] { typeof(AudioSource) };
                 geigerSoundPlayer = new GameObject("GEIGER SOUNDS", components);
                 geigerSoundPlayer.transform.position = base.transform.position;
                 geigerSoundPlayer.transform.parent   = base.transform;
                 geigerSoundPlayer.audio.loop         = true;
             }
             AudioClip clip = null;
             if (num2 <= 0.25f)
             {
                 clip = geiger0;
             }
             else if (num2 <= 0.5f)
             {
                 clip = geiger1;
             }
             else if (num2 <= 0.75f)
             {
                 clip = geiger2;
             }
             else
             {
                 clip = geiger3;
             }
             if (clip != geigerSoundPlayer.audio.clip)
             {
                 geigerSoundPlayer.audio.Stop();
                 geigerSoundPlayer.audio.clip = clip;
                 geigerSoundPlayer.audio.Play();
             }
         }
         else if (geigerSoundPlayer != null)
         {
             geigerSoundPlayer.audio.Stop();
             UnityEngine.Object.Destroy(geigerSoundPlayer);
             geigerSoundPlayer = null;
         }
     }
 }
    private void Update()
    {
        float radExposureScalar;
        float single;
        float single1;
        float single2;

        if (base.dead)
        {
            return;
        }
        if (!this.radiation)
        {
            radExposureScalar = 0f;
            single            = 0f;
            single2           = 0f;
            single1           = 0f;
        }
        else
        {
            single2           = this.radiation.CalculateExposure(true);
            single1           = this.radiation.CalculateExposure(false);
            radExposureScalar = this.radiation.GetRadExposureScalar(single2);
            single            = this.radiation.GetRadExposureScalar(single1);
        }
        ImageEffectManager.GetInstance <NoiseAndGrain>().intensityMultiplier = 10f * radExposureScalar;
        if (LocalRadiationEffect.geiger0 == null)
        {
            Bundling.Load <AudioClip>("content/item/sfx/geiger_low", out LocalRadiationEffect.geiger0);
            Bundling.Load <AudioClip>("content/item/sfx/geiger_medium", out LocalRadiationEffect.geiger1);
            Bundling.Load <AudioClip>("content/item/sfx/geiger_high", out LocalRadiationEffect.geiger2);
            Bundling.Load <AudioClip>("content/item/sfx/geiger_ultra", out LocalRadiationEffect.geiger3);
        }
        if (single1 >= 0.02f)
        {
            if (!LocalRadiationEffect.geigerSoundPlayer)
            {
                LocalRadiationEffect.geigerSoundPlayer = new GameObject("GEIGER SOUNDS", new Type[] { typeof(AudioSource) });
                LocalRadiationEffect.geigerSoundPlayer.transform.position = base.transform.position;
                LocalRadiationEffect.geigerSoundPlayer.transform.parent   = base.transform;
                LocalRadiationEffect.geigerSoundPlayer.audio.loop         = true;
            }
            AudioClip audioClip = null;
            if (single <= 0.25f)
            {
                audioClip = LocalRadiationEffect.geiger0;
            }
            else if (single > 0.5f)
            {
                audioClip = (single > 0.75f ? LocalRadiationEffect.geiger3 : LocalRadiationEffect.geiger2);
            }
            else
            {
                audioClip = LocalRadiationEffect.geiger1;
            }
            if (audioClip != LocalRadiationEffect.geigerSoundPlayer.audio.clip)
            {
                LocalRadiationEffect.geigerSoundPlayer.audio.Stop();
                LocalRadiationEffect.geigerSoundPlayer.audio.clip = audioClip;
                LocalRadiationEffect.geigerSoundPlayer.audio.Play();
            }
        }
        else if (LocalRadiationEffect.geigerSoundPlayer)
        {
            LocalRadiationEffect.geigerSoundPlayer.audio.Stop();
            UnityEngine.Object.Destroy(LocalRadiationEffect.geigerSoundPlayer);
            LocalRadiationEffect.geigerSoundPlayer = null;
        }
    }
Example #22
0
    /// <summary>
    /// 创建通用逻辑模块,主场景和战斗场景均使用,依赖配置表,通常情况下需要更新资源后再执行
    /// </summary>
    public IEnumerator CreateEnumerator()
    {
        bCreated = false;

        Type[] types = new Type[]
        {
            typeof(AssetSystem),
            typeof(ShaderLib),
            typeof(SceneManager),
            typeof(NatureManager),
            typeof(WarFogManager),
        };

        CreateModulesAsyn(types);

        //wait another coroutine finish
        while (true)
        {
            yield return(new WaitForEndOfFrame());

            bool bOK = (CreatingModules.Count == 0);
            if (bOK)
            {
                break;
            }
        }

        yield return(new WaitForSeconds(0.1f));

        if (!Application.isEditor && System.IO.File.Exists("BreakPoint.txt"))
        {
            GameUtil.MsgBox(m_WindowHwnd, "挂断点", "调试", 0);
        }

        if (!RenderViewAPI.Start())
        {
            Trace.LogError("Game Start Service failure");
            yield break;
        }
        Trace.Log("Game Start Service successed");
        // 初始化
        gameObject.AddComponent <GameViewCommandHandler>();

        OnDeviceStateChage += OnDeviceStateChange;

        // 初始化游戏接口
        IntPtrHelper helper = new IntPtrHelper();

        //GameLogicAPI.Start(ASpeedGame.Data.GameSettingsXml.GameSettingsXmlManager.Instance.GameSettingsModel.enableMultiThread.AValue,
        //    helper.toPtr(ref RenderViewAPI.g_RenderView));
        GameLogicAPI.Start(helper.toPtr(ref RenderViewAPI.g_RenderView));
        yield return(new WaitForSeconds(1.0f));

        PrintTickCheck("初始化逻辑层API,至少等了1秒", CostThreshold_Lv1, _bStart: true);

        // 显示层配置价值
        ViewConfigManager.Init();
        PrintTickCheck("ViewConfigManager.Init");


        //资源是要配置初始化
        AssetBundleManager.Init();
        PrintTickCheck("AssetBundleManager.Init");



        LogicDataCenter.Init();
        PrintTickCheck("LogicDataCenter.Init");



        ImageSetting.Init();
        PrintTickCheck("ImageSetting.Init");

        ImageEffectManager.API_GameStart();
        PrintTickCheck("ImageEffectManager.Init");

        //GameViewCommandHandler.Instance.Start();
        MouseCursorManager.Instance.InitMouseCursorManager();
        PrintTickCheck("MouseCursorManager.Init");

        // 初始化实体接口,依赖上面的物件管理器所以顺序不能换
        EntityFactory.Init();
        PrintTickCheck("EntityFactory.Init");


        PrefabManager.Init();
        PrintTickCheck("PrefabManager.Init");


        SkinManager.Init();
        PrintTickCheck("SkinManager.Init");



        SoundManager.Init();
        PrintTickCheck("SoundManager.Init");

        UISystem.Init();
        PrintTickCheck("UISystem.Init");

        UTopNameManager.Init();
        PrintTickCheck("UTopNameManager.Init");

        USpeedUI.Blood.UBloodManager.Init();
        PrintTickCheck("UBloodManager.Init");



        InputManager.Init();
        PrintTickCheck("InputManager.Init");



        Effect.EffectNode.InitTargetCache();
        PrintTickCheck("Effect.EffectNode.InitTargetCache.Init");

        GUIDE.GuideManager.Init();
        PrintTickCheck(" GUIDE.GuideManager.Init");

        SceneEffectManager.Init();
        PrintTickCheck("SceneEffectManager.Init");
        if (LightingEffectFactory.Instance)
        {
            LightingEffectFactory.Instance.InitWhenGameStart();
        }
        PrintTickCheck("LightingEffectFactory.Init");

        SafeZoneEffectManager.Init();
        PrintTickCheck("SafeZoneEffectManager.Init");

        ImageSetting.TraceSettings();

        bCreated = true;

        List <string> argList = new List <string>();

        argList.AddRange(System.Environment.GetCommandLineArgs());

        CkeckUpdateOk(ref argList);
        PrintTickCheck("CkeckUpdateOk");

        CheckMultclient();
        PrintTickCheck("CheckMultclient");

        StageManager.Init();
        AssetBundleManager.DeleteAssets(ref LoadingWaitngResNode, true);
    }
Example #23
0
 protected void OnEnable()
 {
     ImageEffectManager.singleton = this;
 }
Example #24
0
 protected void OnEnable()
 {
     singleton = this;
 }