Example #1
0
    // Update is called once per frame
    void Update()
    {
        if (!_FadeIn)
        {
            FadeIn();
        }

        if (_FadeOut)
        {
            FadeOut();
        }

        _LightPosition = _LightSource._LightPosition;
        if (_LightPosition == LightSource.LightSourcePosition.Center)
        {
            _Sun.rectTransform.position = _Positions[0].position;
        }
        if (_LightPosition == LightSource.LightSourcePosition.Left)
        {
            _Sun.rectTransform.position = _Positions[1].position;
        }
        if (_LightPosition == LightSource.LightSourcePosition.Right)
        {
            _Sun.rectTransform.position = _Positions[2].position;
        }
        if (_LightPosition == LightSource.LightSourcePosition.Down)
        {
            _Sun.rectTransform.position = _Positions[3].position;
        }
        if (_LightPosition == LightSource.LightSourcePosition.Up)
        {
            _Sun.rectTransform.position = _Positions[4].position;
        }
    }
Example #2
0
    public void Update()
    {
        SetLevel();

        _LightPosition = _LightSourceScript._LightPosition;

        Vector3 lightDirection = GetLightDirection(_LightSource, _Ground);

        DecideShadowCastPosition(_LightSource);

        bool isGround = true;
        if (_ShadowFirstObject != null)
        {
            isGround &= GroundCheck(_ShadowFirstObject.transform.position, lightDirection);
        }

        _IsConnected = CheckConnected();


        foreach (GameObject shadow in _ShadowsFirst)
        {
            shadow.SetActive(false);
        }

        foreach (GameObject shadow in _ShadowsSecond)
        {
            shadow.SetActive(false);
        }

        if (!_IsConnected && _BlockLevel > 1 && 
            _LightPosition != LightSource.LightSourcePosition.Center)
        {
            SetActiveShadowFirst();

            if (_BlockLevel > 2)
            {
                bool isShadow = true;

                isShadow &= GroundCheck(_ShadowSecondObject.transform.position, Vector3.down);

                if(isShadow)
                    SetActiveShadowSecond();
            }
        }

    }