void Update()
        {
            if (TheGame.Get().IsPaused())
            {
                return;
            }

            if (character.IsDead())
            {
                return;
            }

            build_timer += Time.deltaTime;
            craft_timer += Time.deltaTime;

            PlayerControls controls = PlayerControls.Get(character.player_id);

            //Cancel building
            if (controls.IsPressUICancel() || controls.IsPressPause())
            {
                CancelBuilding();
            }

            //Cancel crafting
            if (current_crafting != null && character.IsMoving())
            {
                CancelCrafting();
            }

            //Complete crafting after timer
            if (current_crafting != null)
            {
                if (craft_timer > current_crafting.craft_duration)
                {
                    CompleteCrafting();
                }
            }
        }