Ejemplo n.º 1
0
    // 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
 }