// Start is called before the first frame update
    void Start()
    {
        worldSettings = FindObjectOfType <WorldSettings>();
        controller    = GetComponent <CharacterController>();
        worldSettings = FindObjectOfType <WorldSettings>();
        anim          = GetComponent <Animator>();

        raycast = GetComponent <RaycastController>();
        if (raycast != null)
        {
            int inventoryLayerMask = 1 << LayerMask.NameToLayer("Enemy");
            raycast.AddLayerMask(inventoryLayerMask);
        }

        equipper         = GetComponent <ItemEquipper>();
        attack           = GetComponent <PlayerAttack>();
        treeController   = GetComponent <TreeController>();
        cameraAdjuster   = GetComponent <CameraAdjuster>();
        playerStatistics = GetComponent <PlayerStatistics>();
        itemCollector    = GetComponent <ItemCollector>();

        totalSwingTime = GetSwimgTimeByAnimator(anim);

        reticleMissColor = reticle.color;
    }
    void Start()
    {
        itemEquipper = GetComponent <ItemEquipper>();

        if (raycastSource != null)
        {
            raycast = raycastSource.parent.GetComponent <RaycastController>();
            if (raycast != null)
            {
                int inventoryLayerMask = 1 << LayerMask.NameToLayer("Interactive");
                raycast.AddLayerMask(inventoryLayerMask);
            }
        }

        reach = GetComponent <PlayerController>().GetReach();
    }
 // Start is called before the first frame update
 void Start()
 {
     attackRange  = gameObject.GetComponent <PlayerController>().GetReach();
     itemEquipper = GetComponent <ItemEquipper>();
 }
 public void SetItemEquipper(ItemEquipper equipper)
 {
     itemEquipper = equipper;
 }