<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<model type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="13532" systemVersion="16G29" minimumToolsVersion="Xcode 7.0" sourceLanguage="Objective-C" userDefinedModelVersionIdentifier="1.0">
    <entity name="Cheat" representedClassName="Cheat" syncable="YES">
        <attribute name="code" attributeType="String" syncable="YES"/>
        <attribute name="creationDate" attributeType="Date" usesScalarValueType="NO" syncable="YES"/>
        <attribute name="identifier" attributeType="String" syncable="YES"/>
        <attribute name="isEnabled" attributeType="Boolean" defaultValueString="YES" usesScalarValueType="NO" syncable="YES"/>
        <attribute name="modifiedDate" attributeType="Date" usesScalarValueType="NO" syncable="YES"/>
        <attribute name="name" optional="YES" attributeType="String" syncable="YES"/>
        <attribute name="type" attributeType="Transformable" syncable="YES">
            <userInfo>
                <entry key="attributeValueClassName" value="CheatType"/>
            </userInfo>
        </attribute>
        <relationship name="game" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="Game" inverseName="cheats" inverseEntity="Game" syncable="YES"/>
        <uniquenessConstraints>
            <uniquenessConstraint>
                <constraint value="identifier"/>
            </uniquenessConstraint>
        </uniquenessConstraints>
    </entity>
    <entity name="ControllerSkin" representedClassName="ControllerSkin" syncable="YES">
        <attribute name="filename" attributeType="String" syncable="YES"/>
        <attribute name="gameType" attributeType="Transformable" syncable="YES">
            <userInfo>
                <entry key="attributeValueClassName" value="GameType"/>
            </userInfo>
        </attribute>
        <attribute name="identifier" attributeType="String" syncable="YES"/>
        <attribute name="isStandard" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES" syncable="YES"/>
        <attribute name="name" attributeType="String" syncable="YES"/>
        <attribute name="supportedConfigurations" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES" syncable="YES">
            <userInfo>
                <entry key="attributeValueScalarType" value="ControllerSkinConfigurations"/>
            </userInfo>
        </attribute>
        <uniquenessConstraints>
            <uniquenessConstraint>
                <constraint value="identifier"/>
                <constraint value="gameType"/>
            </uniquenessConstraint>
        </uniquenessConstraints>
    </entity>
    <entity name="Game" representedClassName="Game" syncable="YES">
        <attribute name="artworkURL" optional="YES" attributeType="Transformable" syncable="YES">
            <userInfo>
                <entry key="attributeValueClassName" value="URL"/>
            </userInfo>
        </attribute>
        <attribute name="filename" attributeType="String" syncable="YES">
            <userInfo>
                <entry key="attributeValueClassName" value="NSURL"/>
            </userInfo>
        </attribute>
        <attribute name="identifier" attributeType="String" syncable="YES"/>
        <attribute name="name" attributeType="String" syncable="YES"/>
        <attribute name="type" attributeType="Transformable" syncable="YES">
            <userInfo>
                <entry key="attributeValueClassName" value="GameType"/>
            </userInfo>
        </attribute>
        <relationship name="cheats" toMany="YES" deletionRule="Cascade" destinationEntity="Cheat" inverseName="game" inverseEntity="Cheat" syncable="YES"/>
        <relationship name="gameCollections" toMany="YES" deletionRule="Nullify" destinationEntity="GameCollection" inverseName="games" inverseEntity="GameCollection" syncable="YES"/>
        <relationship name="previewSaveState" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="SaveState" inverseName="previewGame" inverseEntity="SaveState" syncable="YES"/>
        <relationship name="saveStates" toMany="YES" deletionRule="Cascade" destinationEntity="SaveState" inverseName="game" inverseEntity="SaveState" syncable="YES"/>
        <uniquenessConstraints>
            <uniquenessConstraint>
                <constraint value="identifier"/>
            </uniquenessConstraint>
        </uniquenessConstraints>
    </entity>
    <entity name="GameCollection" representedClassName="GameCollection" syncable="YES">
        <attribute name="identifier" attributeType="String" syncable="YES"/>
        <attribute name="index" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="NO" syncable="YES"/>
        <relationship name="games" toMany="YES" deletionRule="Nullify" destinationEntity="Game" inverseName="gameCollections" inverseEntity="Game" syncable="YES"/>
        <uniquenessConstraints>
            <uniquenessConstraint>
                <constraint value="identifier"/>
            </uniquenessConstraint>
        </uniquenessConstraints>
    </entity>
    <entity name="GameControllerInputMapping" representedClassName="GameControllerInputMapping" syncable="YES">
        <attribute name="deltaCoreInputMapping" attributeType="Transformable" valueTransformerName="GameControllerInputMappingTransformer" syncable="YES">
            <userInfo>
                <entry key="attributeValueClassName" value="Any"/>
            </userInfo>
        </attribute>
        <attribute name="gameControllerInputType" attributeType="Transformable" valueTransformerName="" syncable="YES">
            <userInfo>
                <entry key="attributeValueClassName" value="GameControllerInputType"/>
            </userInfo>
        </attribute>
        <attribute name="gameType" attributeType="Transformable" syncable="YES">
            <userInfo>
                <entry key="attributeValueClassName" value="GameType"/>
            </userInfo>
        </attribute>
        <attribute name="playerIndex" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="NO" syncable="YES"/>
        <uniquenessConstraints>
            <uniquenessConstraint>
                <constraint value="gameControllerInputType"/>
                <constraint value="gameType"/>
                <constraint value="playerIndex"/>
            </uniquenessConstraint>
        </uniquenessConstraints>
    </entity>
    <entity name="SaveState" representedClassName="SaveState" versionHashModifier="quick" syncable="YES">
        <attribute name="creationDate" attributeType="Date" usesScalarValueType="NO" syncable="YES"/>
        <attribute name="filename" attributeType="String" syncable="YES">
            <userInfo>
                <entry key="attributeValueClassName" value="NSURL"/>
            </userInfo>
        </attribute>
        <attribute name="identifier" attributeType="String" syncable="YES"/>
        <attribute name="modifiedDate" attributeType="Date" usesScalarValueType="NO" syncable="YES"/>
        <attribute name="name" optional="YES" attributeType="String" syncable="YES"/>
        <attribute name="type" attributeType="Integer 16" defaultValueString="2" usesScalarValueType="NO" syncable="YES">
            <userInfo>
                <entry key="attributeValueScalarType" value="SaveStateType"/>
            </userInfo>
        </attribute>
        <relationship name="game" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="Game" inverseName="saveStates" inverseEntity="Game" syncable="YES"/>
        <relationship name="previewGame" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="Game" inverseName="previewSaveState" inverseEntity="Game" syncable="YES"/>
        <uniquenessConstraints>
            <uniquenessConstraint>
                <constraint value="identifier"/>
            </uniquenessConstraint>
        </uniquenessConstraints>
    </entity>
    <elements>
        <element name="Cheat" positionX="-198" positionY="-63" width="128" height="165"/>
        <element name="ControllerSkin" positionX="-387" positionY="90" width="128" height="135"/>
        <element name="Game" positionX="-378" positionY="-54" width="128" height="180"/>
        <element name="GameCollection" positionX="-585" positionY="-27" width="128" height="90"/>
        <element name="GameControllerInputMapping" positionX="-387" positionY="90" width="128" height="105"/>
        <element name="SaveState" positionX="-198" positionY="113" width="128" height="165"/>
    </elements>
</model>