94 lines
3.8 KiB
Markdown
94 lines
3.8 KiB
Markdown
# CSFloatKit
|
|
|
|
CSFloatKit is a Swift framework that provides an easy way to fetch information about a CS:GO weapon skin. All the information provided comes from [Step7750's CSGO Float API](https://github.com/Step7750/CSGOFloat).
|
|
|
|
## Installation
|
|
|
|
Currently, this package can be installed through the *[Swift Package Manager](https://swift.org/package-manager/)*
|
|
|
|
If you're running Xcode 11 or later, you can simply go to `File -> Swift Package Manager -> Add Package Dependency...` and search for `CSFloatKit` or just paste this Github page URL on the text field
|
|
|
|
If you're running an earlier version, you'll have to set up SPM on your project and add the following dependency to your `Package.swift` file:
|
|
|
|
```swift
|
|
dependencies: [
|
|
.package(url: "https://github.com/tfmart/CSFloatKit.git", from: "0.1.0")
|
|
]
|
|
```
|
|
|
|
## Usage
|
|
|
|
To get started, you will need to create an instance of `CSFloatConfiguration` and configure it with either an item inspect link or using the Inventory (S), Asset (A), D and Market (M) parameters from an inspect link.
|
|
|
|
* Initiating with an inspect link
|
|
|
|
```swift
|
|
let configuration = CSFloatConfiguration(inspectLink: "steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561198084749846A698323590D7935523998312483177")
|
|
```
|
|
|
|
* Initiating with the S, A, D, M parameters
|
|
|
|
```swift
|
|
let configuration = CSFloatConfiguration(inventoryParameter: nil,
|
|
assetParameter: "13874827217",
|
|
dParameter: "4649025583329100061",
|
|
marketParameter: "2608048286785948758")
|
|
```
|
|
|
|
After the setting up the configuration, create an instance of `SWGORequester` to create a float request
|
|
|
|
```swift
|
|
let request = CSFloatRequester(configuration: config) { (skin, error) in
|
|
|
|
}
|
|
```
|
|
|
|
And to start the request:
|
|
|
|
```swift
|
|
request.start()
|
|
```
|
|
|
|
The request will either the skin fetched from the inspect link or a `ApiError`, which represents the error that occurred in the request.
|
|
|
|
## Screenshot
|
|
|
|
After fetching an instance of `Skin` with the requester, you can use the `getScreenshotURL()` method to get an URL string which can be used to get a screenshot image, by using the [CS.Deals' csgo.gallery screenshot service](https://cs.deals/pt/screenshot)
|
|
|
|
```swift
|
|
let configuration = CSFloatConfiguration(inspectLink: "steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561198084749846A698323590D7935523998312483177")
|
|
let request = SWGORequester(configuration: config) { (skin, error) in
|
|
let screenshotURL = skin.getScreenshotURL()
|
|
//Returns "https://csgo.gallery/steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561198084749846A698323590D7935523998312483177"
|
|
}
|
|
request.start()
|
|
```
|
|
|
|
From version 0.3 upwards, it's also possible to fetch [CS.Money](https://cs.money) screenshots and 3D models, just by using the item's inspect link or an instance of a `Skin` object:
|
|
|
|
```swift
|
|
let configuration = CSMConfiguration(inspectLink: "steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561199043158336A20517916623D14133434752320963923")
|
|
let request = CSMRequester(configuration: config, completion: { (fetchedScreenshot, error) in
|
|
// URL for the skin's screenshot
|
|
let screenshotURL = fetchedScreenshot.imageURL
|
|
// URL for the skin's preview screenshot
|
|
let previewURL = fetchedScreenshot.previewURL
|
|
// URL for the skin's 3D preview
|
|
let preview3DURL = fetchedScreenshot.preview3D
|
|
})
|
|
request.start()
|
|
```
|
|
|
|
## Models
|
|
|
|
Documentation about the models are coming soon!
|
|
|
|
## Goals
|
|
|
|
- [x] Get skin info from CSGO Float API
|
|
- [x] Support for S, A, D and M parameters
|
|
- [x] Finish writing unit test for the request method
|
|
- [x] Get an item's screenshot with csgo.gallery
|
|
- [x] Screenshot requester
|
|
- [ ] Fetch images for non-marketable stickers applied to items
|