internal override void update()
        {
            if (Shop_Suspend > 0)
            {
                switch (Shop_Suspend)
                {
                case 4:
                    if (Global.game_state.arena)
                    {
                        Game_Unit unit = Units[Global.game_system.Shopper_Id];
                        if (unit.is_dead)
                        {
                            Global.game_map.add_dying_unit_animation(unit.id);
                        }
                    }
                    else
                    {
                        Global.scene.suspend();
                    }
                    break;

                case 3:
                    if (Global.game_state.arena)
                    {
                        Game_Unit unit = Units[Global.game_system.Shopper_Id];
                        if (unit.is_dead)
                        {
                            unit.update_attack_graphics();
                            if (unit.changing_opacity())
                            {
                                return;
                            }
                        }
                    }
                    break;

                case 2:
                    if (Global.game_state.arena)
                    {
                        Game_Unit unit = Units[Global.game_system.Shopper_Id];
                        if (unit.is_dead)
                        {
                            unit.kill();
                            Global.game_map.remove_unit(unit.id);
                            Global.game_system.Selected_Unit_Id = -1;
                        }
                    }
                    break;

                case 1:
                    if (Units.ContainsKey(Global.game_system.Shopper_Id))
                    {
                        Game_Unit unit = Units[Global.game_system.Shopper_Id];
                        if (unit.has_canto() && unit.ready && !Global.game_state.arena)
                        {
                            unit.cantoing = true;
                            unit.open_move_range();
                        }
                        else if (Global.game_state.arena && !Global.game_system.In_Arena)
                        {
                            unit.start_wait();
                        }
                    }
                    Global.game_system.Shopper_Id = -1;
                    Global.game_temp.menuing      = false;
                    Global.game_state.arena       = Global.game_system.In_Arena;
                    break;
                }
                Shop_Suspend--;
            }
        }