create Cache.Instance.CurrentShipsCargo which is cached per frame and use it instead of calling GettShipsCargo potentially many times per frame...