// Update is called once per frame void Update() { if (GameCtrlXK.PlayerTran == null) { GameCtrlXK.GetInstance().FindPlayerTran(); return; } if (Time.realtimeSinceStartup - TimeVal < 0.1f) { return; } TimeVal = Time.realtimeSinceStartup; Vector3 vecA = TriggerTran.position; Vector3 vecB = GameCtrlXK.PlayerTran.position; vecA.y = vecB.y = 0f; float dis = Vector3.Distance(vecA, vecB); if (dis <= 50f) { vecA = TriggerTran.forward; vecB = TriggerTran.position - GameCtrlXK.PlayerTran.position; vecA.y = vecB.y = 0f; float cosAB = Vector3.Dot(vecA, vecB); if (cosAB <= 0f) { gameObject.SetActive(false); DirectionalLlightCtrl.GetInstance().InitChangeIntensity(DirectionalLlightCtrl.MinIntensityVal, TimeLightVal); } } }
// Use this for initialization void Start() { _Instance = this; DirLight = GetComponent <Light>(); StartIntensityVal = DirLight.intensity; MinIntensityVal = LightIntensityValMin; if (MinIntensityVal >= StartIntensityVal) { Debug.LogError("DirectionalLlightCtrl -> LightIntensityValMin was wrong"); DirLight = null; DirLight.gameObject.name = "null"; } //Invoke("TestDelayInitChangeIntensity", 3f); //test }