public void ActivateBlackBar(bool active)
 {
     if (active)
     {
         black_bars_state = BLACK_BARS_STATE.BBS_APPEARING;
     }
     else
     {
         black_bars_state = BLACK_BARS_STATE.BBS_DISAPPEARING;
     }
 }
    public void Start()
    {
        black_bar_top = GetLinkedObject("black_bar_top");
        black_bar_bot = GetLinkedObject("black_bar_bot");

        black_bar_top_img = black_bar_top.GetComponent <CompImage>();
        black_bar_bot_img = black_bar_bot.GetComponent <CompImage>();

        black_bar_top_img.SetAlpha(0.0f);
        black_bar_bot_img.SetAlpha(0.0f);

        black_bars_state = BLACK_BARS_STATE.BBS_NONE;
    }
 public void ActivateBlackBar(bool active)
 {
     if (active)
     {
         black_bar_top.GetComponent <CompImage>().SetEnabled(active);
         black_bar_bot.GetComponent <CompImage>().SetEnabled(active);
         black_bars_state = BLACK_BARS_STATE.BBS_APPEARING;
     }
     else
     {
         black_bars_state = BLACK_BARS_STATE.BBS_DISAPPEARING;
     }
 }
    public void Start()
    {
        black_bar_top = GetLinkedObject("black_bar_top");
        black_bar_bot = GetLinkedObject("black_bar_bot");

        black_bar_top_rect_transform = black_bar_top.GetComponent <CompRectTransform>();
        black_bar_bot_rect_transform = black_bar_bot.GetComponent <CompRectTransform>();

        black_bar_top.GetComponent <CompImage>().SetEnabled(false);
        black_bar_bot.GetComponent <CompImage>().SetEnabled(false);

        black_bars_state = BLACK_BARS_STATE.BBS_NONE;

        speed       = Mathf.Abs(top_bar_initial_pos_y - top_bar_final_pos_y) / black_bar_appearing_time;
        new_pos_vec = Vector3.Zero;
    }
    public void Update()
    {
        float alpha = 0.0f;

        switch (black_bars_state)
        {
        case BLACK_BARS_STATE.BBS_NONE:
            break;

        case BLACK_BARS_STATE.BBS_APPEARING:
            black_bar_appearing_timer += Time.deltaTime;

            alpha = black_bar_appearing_timer / black_bar_appearing_time;

            black_bar_top_img.SetAlpha(alpha);
            black_bar_bot_img.SetAlpha(alpha);

            if (alpha >= 1.0f)
            {
                black_bar_appearing_timer = 0.0f;
                black_bars_state          = BLACK_BARS_STATE.BBS_NONE;
            }
            break;

        case BLACK_BARS_STATE.BBS_DISAPPEARING:
            black_bar_appearing_timer += Time.deltaTime;

            alpha  = (black_bar_appearing_timer / black_bar_appearing_time) - 1.0f;
            alpha *= -1.0f;

            black_bar_top_img.SetAlpha(alpha);
            black_bar_bot_img.SetAlpha(alpha);

            if (alpha <= 0.0f)
            {
                black_bars_state = BLACK_BARS_STATE.BBS_NONE;
            }

            break;

        default:
            break;
        }
    }
    public void Update()
    {
        switch (black_bars_state)
        {
        case BLACK_BARS_STATE.BBS_NONE:
            break;

        case BLACK_BARS_STATE.BBS_APPEARING:
            black_bar_appearing_timer += Time.deltaTime;

            // Top bar
            new_pos_vec.y = top_bar_initial_pos_y - speed * black_bar_appearing_timer;
            black_bar_top_rect_transform.SetUIPosition(new_pos_vec);

            // Bot bar
            new_pos_vec.y *= -1.0f;
            black_bar_bot_rect_transform.SetUIPosition(new_pos_vec);

            if (black_bar_appearing_timer >= black_bar_appearing_time)
            {
                // Top bar
                new_pos_vec.y = top_bar_final_pos_y;
                black_bar_top_rect_transform.SetUIPosition(new_pos_vec);

                // Bot bar
                new_pos_vec.y *= -1.0f;
                black_bar_bot_rect_transform.SetUIPosition(new_pos_vec);

                black_bar_appearing_timer = 0.0f;
                black_bars_state          = BLACK_BARS_STATE.BBS_NONE;
            }
            break;

        case BLACK_BARS_STATE.BBS_DISAPPEARING:
            black_bar_appearing_timer += Time.deltaTime;

            // Top bar
            new_pos_vec.y = top_bar_final_pos_y + speed * black_bar_appearing_timer;
            black_bar_top_rect_transform.SetUIPosition(new_pos_vec);

            // Bot bar
            new_pos_vec.y *= -1.0f;
            black_bar_bot_rect_transform.SetUIPosition(new_pos_vec);

            if (black_bar_appearing_timer >= black_bar_appearing_time)
            {
                // Top bar
                new_pos_vec.y = top_bar_initial_pos_y;
                black_bar_top_rect_transform.SetUIPosition(new_pos_vec);

                // Bot bar
                new_pos_vec.y *= -1.0f;
                black_bar_bot_rect_transform.SetUIPosition(new_pos_vec);

                black_bar_top.GetComponent <CompImage>().SetEnabled(false);
                black_bar_bot.GetComponent <CompImage>().SetEnabled(false);

                black_bars_state = BLACK_BARS_STATE.BBS_NONE;
            }
            break;

        default:
            break;
        }
    }