2022-10-29 20:24:53 -04:00

64 lines
1.8 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class EnvChanger : MonoBehaviour
{
private float initAmbientIntensity;
private float initRefIntensity;
[SerializeField]
private float targetAmbientIntensity, targetRefIntensity;
[SerializeField]
private bool enterFromLeft = true;
[SerializeField]
private Transform playerPos;
private bool isInEnviro = false;
public void ChangeEnvironnement(){
if(ExitOnCorrectSide()){
isInEnviro = !isInEnviro;
if(isInEnviro){
initAmbientIntensity = RenderSettings.ambientIntensity;
initRefIntensity = RenderSettings.reflectionIntensity;
RenderSettings.ambientIntensity = targetAmbientIntensity;
RenderSettings.reflectionIntensity = targetRefIntensity;
}else{
RenderSettings.ambientIntensity = initAmbientIntensity;
RenderSettings.reflectionIntensity = initRefIntensity;
}
}
}
private bool ExitOnCorrectSide(){
if(enterFromLeft){
if(!isInEnviro){
if(playerPos.position.x > transform.position.x){
return true;
}
}else{
if(playerPos.position.x < transform.position.x){
return true;
}
}
}else{
if(!isInEnviro){
if(playerPos.position.x < transform.position.x){
return true;
}
}else{
if(playerPos.position.x > transform.position.x){
return true;
}
}
}
return false;
}
}