Пример #1
0
    void UpdateConnectionType()
    {
        for (int i = 0; i < linesNeeded[players.Length - 1]; i++)
        {
            float distance = Vector3.Distance(players[firstVertex[i]].transform.position, players[secondVertex[i]].transform.position);

            if (cuttingLineLogic.TimeActive > 0.0f && !isChangingColor[i] && activeColor[i] != 2)
            {
                lineTweens.TweenColor(i, 2, false);
                lineShaderUtilities[i].functionType = LineShaderType.SawTooth;
                lineTweens.TweenAmplitude(i, endAmplitude);
            }
            else if ((activeColor[i] == 0 || activeColor[i] == 2) && !isChangingColor[i] && distance < healDistance && cuttingLineLogic.TimeActive <= 0.0f)
            {
                lineTweens.TweenColor(i, 1, true);
            }

            else if ((activeColor[i] == 1 || activeColor[i] == 2) && !isChangingColor[i] && distance >= healDistance && cuttingLineLogic.TimeActive <= 0.0f)
            {
                lineTweens.TweenColor(i, 0, true);
            }
        }
    }
    private void UpdateCuttingStatus()
    {
        if (timeActive >= 0.0f)
        {
            if (!activateCutting)
            {
                activateCutting = true;
                OnCuttingActivated();
            }

            timeActive -= Time.deltaTime;

            if (timeActive <= 0.0f)
            {
                activateCutting = false;
                OnCuttingDeactivated();
                for (int i = 0; i < lineSystem.LineShaderUtilities.Length; i++)
                {
                    lineTweens.TweenColor(i, -1, false);
                    lineTweens.TweenAmplitude(i, 0.0f, LineShaderType.SineWave);
                }
            }
        }
    }