Example #1
0
 private void BeginShieldDegradation()
 {
     oldLightSettings    = currentLightSettings.Clone();
     targetLightSettings = shieldEmptyLightSettings.Clone();
     targetLightSettings.transitionDuration = maxShieldDuration;
     transitionTiming = 0f;
 }
Example #2
0
 public void ActivateShadow()
 {
     if (CanActivate())
     {
         // enable the dark form
         ShadowForm.SetActive(true);
         // disable the collider on the player
         var spriteRenderer = player.GetComponent <SpriteRenderer>();
         if (spriteRenderer != null)
         {
             spriteRenderer.enabled = false;
         }
         var playerCollider = player.GetComponent <PolygonCollider2D>();
         if (playerCollider != null)
         {
             //  playerCollider.enabled = false;
         }
         oldLightSettings    = currentLightSettings.Clone();
         targetLightSettings = shadowLightSettings.Clone();
         transitionTiming    = 0f;
         if (shieldActive)
         {
             DeactivateShield();
         }
         shadowActive            = true;
         player.gameObject.layer = 14;
         player.GetComponent <PlayerMovement>().moveSpeed = player.GetComponent <PlayerMovement>().darkMovespeed;
     }
 }
Example #3
0
    // Start is called before the first frame update
    void Start()
    {
        shieldCapacity         = maxCapacity;
        oldLightSettings       = defaultLightSettings.Clone();
        currentLightSettings   = defaultLightSettings.Clone();
        targetLightSettings    = defaultLightSettings.Clone();
        shieldCollider.enabled = false;

        Physics2D.IgnoreLayerCollision(10, 12);
        Physics2D.IgnoreLayerCollision(11, 12);

        // debug only
        sprite         = shieldCollider.GetComponent <SpriteRenderer>();
        sprite.enabled = false;

        shieldTransform = shieldCollider.gameObject.transform;

        shieldMaxWidth = shieldTransform.localScale.x;
        shieldMinWidth = shieldMaxWidth * shieldMinWidthPercent;

        shieldMaxDist = shieldTransform.localPosition.y;
        shieldMinDist = shieldMaxDist * shieldMinDistPercent;

        player = GameObject.FindGameObjectWithTag("Player").GetComponent <Player>();
        ShadowForm.SetActive(false);
        shadowCapacity = 1f;
    }
Example #4
0
 // after burning the shield out?
 private void ReturnToDefault()
 {
     oldLightSettings    = currentLightSettings.Clone();
     targetLightSettings = defaultLightSettings.Clone();
     transitionTiming    = 0f;
     shadowActive        = false;
     shieldActive        = false;
 }
Example #5
0
    public LightPair Clone()
    {
        var clone = new LightPair();

        clone.cone  = cone.Clone();
        clone.point = point.Clone();
        clone.transitionDuration = transitionDuration;
        return(clone);
    }
Example #6
0
 public void DeactivateShield()
 {
     //DeactivateShadow();
     shieldActive           = false;
     shieldCollider.enabled = false;
     sprite.enabled         = false;
     oldLightSettings       = currentLightSettings.Clone();
     targetLightSettings    = defaultLightSettings.Clone();
     targetLightSettings.transitionDuration = (1 - shieldCapacity) / maxCapacity * (shieldRechargeTime + shieldRechargeInitialDelay);
     transitionTiming = 0f;
     if (shieldEmptyFX != null)
     {
         PlayFX(transform.position, LampFXType.LampFX_ShieldEmpty);
     }
 }
Example #7
0
    public void ActivateShield()
    {
        if (CanActivate())
        {
            var sourcelightSettings = shieldLightSettings.Clone();
            currentLightSettings.cone.innerMaxAngle  = Mathf.Lerp(sourcelightSettings.cone.innerMaxAngle, shieldEmptyLightSettings.cone.innerMaxAngle, 1 - shieldCapacity);
            currentLightSettings.cone.outerMaxAngle  = Mathf.Lerp(sourcelightSettings.cone.outerMaxAngle, shieldEmptyLightSettings.cone.outerMaxAngle, 1 - shieldCapacity);
            currentLightSettings.cone.innerMaxRadius = Mathf.Lerp(sourcelightSettings.cone.innerMaxRadius, shieldEmptyLightSettings.cone.innerMaxRadius, 1 - shieldCapacity);
            currentLightSettings.cone.outerMaxRadius = Mathf.Lerp(sourcelightSettings.cone.outerMaxRadius, shieldEmptyLightSettings.cone.outerMaxRadius, 1 - shieldCapacity);
            currentLightSettings.cone.maxIntensity   = Mathf.Lerp(sourcelightSettings.cone.maxIntensity, shieldEmptyLightSettings.cone.maxIntensity, 1 - shieldCapacity);
            currentLightSettings.cone.color          = Color.Lerp(sourcelightSettings.cone.color, shieldEmptyLightSettings.cone.color, 1 - shieldCapacity);

            currentLightSettings.point.innerMaxAngle  = Mathf.Lerp(sourcelightSettings.point.innerMaxAngle, shieldEmptyLightSettings.point.innerMaxAngle, 1 - shieldCapacity);
            currentLightSettings.point.outerMaxAngle  = Mathf.Lerp(sourcelightSettings.point.outerMaxAngle, shieldEmptyLightSettings.point.outerMaxAngle, 1 - shieldCapacity);
            currentLightSettings.point.innerMaxRadius = Mathf.Lerp(sourcelightSettings.point.innerMaxRadius, shieldEmptyLightSettings.point.innerMaxRadius, 1 - shieldCapacity);
            currentLightSettings.point.outerMaxRadius = Mathf.Lerp(sourcelightSettings.point.outerMaxRadius, shieldEmptyLightSettings.point.outerMaxRadius, 1 - shieldCapacity);
            currentLightSettings.point.maxIntensity   = Mathf.Lerp(sourcelightSettings.point.maxIntensity, shieldEmptyLightSettings.point.maxIntensity, 1 - shieldCapacity);
            currentLightSettings.point.color          = Color.Lerp(sourcelightSettings.point.color, shieldEmptyLightSettings.point.color, 1 - shieldCapacity);


            transitionTiming       = 0f;
            shieldActive           = true;
            shieldCollider.enabled = true;
            sprite.enabled         = true;
            localMaxShieldDuration = maxShieldDuration * shieldCapacity / maxCapacity;
            oldLightSettings       = currentLightSettings.Clone();
            targetLightSettings    = shieldEmptyLightSettings.Clone();
            targetLightSettings.transitionDuration = localMaxShieldDuration;
            elapsedShieldDownTime = 0f;

            if (shieldTriggerFX != null)
            {
                PlayFX(transform.position, LampFXType.LampFX_Activate);
            }
        }
    }
Example #8
0
    public void DeactivateShadow()
    {
        if (shadowActive)
        {
            ShadowForm.SetActive(false);
            var playerCollider = player.GetComponent <PolygonCollider2D>();
            if (playerCollider != null)
            {
                playerCollider.enabled = true;
            }
            var spriteRenderer = player.GetComponent <SpriteRenderer>();
            if (spriteRenderer != null)
            {
                spriteRenderer.enabled = true;
            }

            oldLightSettings    = shieldEmptyLightSettings.Clone();
            targetLightSettings = defaultLightSettings.Clone();
            ReturnToDefault();
            elapsedShadowDownTime   = 0f;
            player.gameObject.layer = 9;
            player.GetComponent <PlayerMovement>().moveSpeed = player.GetComponent <PlayerMovement>().lightMovespeed;
        }
    }