pub struct SKTileSet { /* private fields */ }SKTileSet only.Expand description
A tile set contains all of the tile definitions that are available for use in a tile map. In addition, it also contains tile groups, which define collections of related tile definitions and the rules that govern their placement.
See also Apple’s documentation
Implementations§
Source§impl SKTileSet
impl SKTileSet
Sourcepub unsafe fn tileSetWithTileGroups(
tile_groups: &NSArray<SKTileGroup>,
) -> Retained<Self>
pub unsafe fn tileSetWithTileGroups( tile_groups: &NSArray<SKTileGroup>, ) -> Retained<Self>
Create a tile set with the specified tile groups.
Parameter tileGroups: the tile groups that will be available for use with this set
Sourcepub unsafe fn tileSetWithTileGroups_tileSetType(
tile_groups: &NSArray<SKTileGroup>,
tile_set_type: SKTileSetType,
) -> Retained<Self>
pub unsafe fn tileSetWithTileGroups_tileSetType( tile_groups: &NSArray<SKTileGroup>, tile_set_type: SKTileSetType, ) -> Retained<Self>
Create a tile set with the specified tile groups and tile set type.
Parameter tileGroups: the tile groups that will be available for use with this set
Parameter tileSetType: the type of tile set this will be
Sourcepub unsafe fn initWithTileGroups(
this: Allocated<Self>,
tile_groups: &NSArray<SKTileGroup>,
) -> Retained<Self>
pub unsafe fn initWithTileGroups( this: Allocated<Self>, tile_groups: &NSArray<SKTileGroup>, ) -> Retained<Self>
Initilize a tile set with the specified tile groups.
Parameter tileGroups: the tile groups that will be available for use with this set
Sourcepub unsafe fn initWithTileGroups_tileSetType(
this: Allocated<Self>,
tile_groups: &NSArray<SKTileGroup>,
tile_set_type: SKTileSetType,
) -> Retained<Self>
pub unsafe fn initWithTileGroups_tileSetType( this: Allocated<Self>, tile_groups: &NSArray<SKTileGroup>, tile_set_type: SKTileSetType, ) -> Retained<Self>
Initilize a tile set with the specified tile groups and tile set type.
Parameter tileGroups: the tile groups that will be available for use with this set
Parameter tileSetType: the type of tile set this will be
Sourcepub unsafe fn tileSetNamed(name: &NSString) -> Option<Retained<Self>>
pub unsafe fn tileSetNamed(name: &NSString) -> Option<Retained<Self>>
Gets the tile set with the specified name from the SpriteKit resource bundle. Returns nil if a tile set with a matching name cannot be found.
Parameter name: the name of the tile set to search for
Sourcepub unsafe fn tileSetFromURL(url: &NSURL) -> Option<Retained<Self>>
pub unsafe fn tileSetFromURL(url: &NSURL) -> Option<Retained<Self>>
Creates a tile set from the specified tile set file. Returns nil if the URL doesn’t point to a valid tile set file.
Parameter url: the URL of the tile set file
Sourcepub unsafe fn tileGroups(&self) -> Retained<NSArray<SKTileGroup>>
pub unsafe fn tileGroups(&self) -> Retained<NSArray<SKTileGroup>>
The tile groups that this set provides for use.
Sourcepub unsafe fn setTileGroups(&self, tile_groups: &NSArray<SKTileGroup>)
pub unsafe fn setTileGroups(&self, tile_groups: &NSArray<SKTileGroup>)
Setter for tileGroups.
This is copied when set.
Sourcepub unsafe fn name(&self) -> Option<Retained<NSString>>
pub unsafe fn name(&self) -> Option<Retained<NSString>>
Client-assignable name for the tile set. Defaults to nil.
Sourcepub unsafe fn type(&self) -> SKTileSetType
pub unsafe fn type(&self) -> SKTileSetType
The tile set type specifies how the tiles in the set will be arranged when placed in a tile map. Defaults to SKTileSetTypeGrid.
Sourcepub unsafe fn setType(&self, type: SKTileSetType)
pub unsafe fn setType(&self, type: SKTileSetType)
Setter for type.
pub unsafe fn defaultTileGroup(&self) -> Option<Retained<SKTileGroup>>
Sourcepub unsafe fn setDefaultTileGroup(
&self,
default_tile_group: Option<&SKTileGroup>,
)
pub unsafe fn setDefaultTileGroup( &self, default_tile_group: Option<&SKTileGroup>, )
Setter for defaultTileGroup.
Sourcepub unsafe fn defaultTileSize(&self) -> CGSize
Available on crate feature objc2-core-foundation only.
pub unsafe fn defaultTileSize(&self) -> CGSize
objc2-core-foundation only.The default tile size is the value an SKTileMapNode will use for it’s tiles when the tile set is assigned to it.
Sourcepub unsafe fn setDefaultTileSize(&self, default_tile_size: CGSize)
Available on crate feature objc2-core-foundation only.
pub unsafe fn setDefaultTileSize(&self, default_tile_size: CGSize)
objc2-core-foundation only.Setter for defaultTileSize.
Methods from Deref<Target = NSObject>§
Sourcepub fn doesNotRecognizeSelector(&self, sel: Sel) -> !
pub fn doesNotRecognizeSelector(&self, sel: Sel) -> !
Handle messages the object doesn’t recognize.
See Apple’s documentation for details.
Methods from Deref<Target = AnyObject>§
Sourcepub fn class(&self) -> &'static AnyClass
pub fn class(&self) -> &'static AnyClass
Dynamically find the class of this object.
§Panics
May panic if the object is invalid (which may be the case for objects
returned from unavailable init/new methods).
§Example
Check that an instance of NSObject has the precise class NSObject.
use objc2::ClassType;
use objc2::runtime::NSObject;
let obj = NSObject::new();
assert_eq!(obj.class(), NSObject::class());Sourcepub unsafe fn get_ivar<T>(&self, name: &str) -> &Twhere
T: Encode,
👎Deprecated: this is difficult to use correctly, use Ivar::load instead.
pub unsafe fn get_ivar<T>(&self, name: &str) -> &Twhere
T: Encode,
Ivar::load instead.Use Ivar::load instead.
§Safety
The object must have an instance variable with the given name, and it
must be of type T.
See Ivar::load_ptr for details surrounding this.
Sourcepub fn downcast_ref<T>(&self) -> Option<&T>where
T: DowncastTarget,
pub fn downcast_ref<T>(&self) -> Option<&T>where
T: DowncastTarget,
Attempt to downcast the object to a class of type T.
This is the reference-variant. Use Retained::downcast if you want
to convert a retained object to another type.
§Mutable classes
Some classes have immutable and mutable variants, such as NSString
and NSMutableString.
When some Objective-C API signature says it gives you an immutable class, it generally expects you to not mutate that, even though it may technically be mutable “under the hood”.
So using this method to convert a NSString to a NSMutableString,
while not unsound, is generally frowned upon unless you created the
string yourself, or the API explicitly documents the string to be
mutable.
See Apple’s documentation on mutability and on
isKindOfClass: for more details.
§Generic classes
Objective-C generics are called “lightweight generics”, and that’s because they aren’t exposed in the runtime. This makes it impossible to safely downcast to generic collections, so this is disallowed by this method.
You can, however, safely downcast to generic collections where all the
type-parameters are AnyObject.
§Panics
This works internally by calling isKindOfClass:. That means that the
object must have the instance method of that name, and an exception
will be thrown (if CoreFoundation is linked) or the process will abort
if that is not the case. In the vast majority of cases, you don’t need
to worry about this, since both root objects NSObject and
NSProxy implement this method.
§Examples
Cast an NSString back and forth from NSObject.
use objc2::rc::Retained;
use objc2_foundation::{NSObject, NSString};
let obj: Retained<NSObject> = NSString::new().into_super();
let string = obj.downcast_ref::<NSString>().unwrap();
// Or with `downcast`, if we do not need the object afterwards
let string = obj.downcast::<NSString>().unwrap();Try (and fail) to cast an NSObject to an NSString.
use objc2_foundation::{NSObject, NSString};
let obj = NSObject::new();
assert!(obj.downcast_ref::<NSString>().is_none());Try to cast to an array of strings.
use objc2_foundation::{NSArray, NSObject, NSString};
let arr = NSArray::from_retained_slice(&[NSObject::new()]);
// This is invalid and doesn't type check.
let arr = arr.downcast_ref::<NSArray<NSString>>();This fails to compile, since it would require enumerating over the array to ensure that each element is of the desired type, which is a performance pitfall.
Downcast when processing each element instead.
use objc2_foundation::{NSArray, NSObject, NSString};
let arr = NSArray::from_retained_slice(&[NSObject::new()]);
for elem in arr {
if let Some(data) = elem.downcast_ref::<NSString>() {
// handle `data`
}
}Trait Implementations§
Source§impl ClassType for SKTileSet
impl ClassType for SKTileSet
Source§const NAME: &'static str = "SKTileSet"
const NAME: &'static str = "SKTileSet"
Source§type ThreadKind = <<SKTileSet as ClassType>::Super as ClassType>::ThreadKind
type ThreadKind = <<SKTileSet as ClassType>::Super as ClassType>::ThreadKind
Source§impl CopyingHelper for SKTileSet
impl CopyingHelper for SKTileSet
Source§impl NSCopying for SKTileSet
impl NSCopying for SKTileSet
Source§impl NSObjectProtocol for SKTileSet
impl NSObjectProtocol for SKTileSet
Source§fn isEqual(&self, other: Option<&AnyObject>) -> bool
fn isEqual(&self, other: Option<&AnyObject>) -> bool
Source§fn hash(&self) -> usize
fn hash(&self) -> usize
Source§fn isKindOfClass(&self, cls: &AnyClass) -> bool
fn isKindOfClass(&self, cls: &AnyClass) -> bool
Source§fn is_kind_of<T>(&self) -> bool
fn is_kind_of<T>(&self) -> bool
isKindOfClass directly, or cast your objects with AnyObject::downcast_ref