블리자드 데미지가 계속 증가하는 버그 수정 및 시간과 이펙트가 맞지 않는 것 수정, 화염 구슬 맞지 않는 버그 수정, 불필요 리소스 제거
This commit is contained in:
parent
f450a08ab4
commit
38121b627a
|
|
@ -1,33 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: fca3370b309a2304498413782a8f6760
|
||||
folderAsset: yes
|
||||
PluginImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
iconMap: {}
|
||||
executionOrder: {}
|
||||
defineConstraints: []
|
||||
isPreloaded: 0
|
||||
isOverridable: 0
|
||||
isExplicitlyReferenced: 0
|
||||
validateReferences: 1
|
||||
platformData:
|
||||
- first:
|
||||
Android: Android
|
||||
second:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
- first:
|
||||
Any:
|
||||
second:
|
||||
enabled: 0
|
||||
settings: {}
|
||||
- first:
|
||||
Editor: Editor
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
DefaultValueInitialized: true
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.google.firebase.app.unity"
|
||||
android:versionCode="1"
|
||||
android:versionName="1.0">
|
||||
</manifest>
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 62d76fef76707d8459b6514631cf5245
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
target=android-9
|
||||
android.library=true
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 8eda752eab6c3d340b9aeeb52b9baf93
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: db6cd84c0c35ac3499de0e916d60afa5
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 6e8716ef21cac1c46a190a07b5544539
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<resources xmlns:tools="http://schemas.android.com/tools" tools:keep="@string/gcm_defaultSenderId,@string/google_storage_bucket,@string/project_id,@string/google_api_key,@string/google_crash_reporting_api_key,@string/google_app_id,@string/default_android_client_id,@string/default_web_client_id">
|
||||
<string name="gcm_defaultSenderId" translatable="false">555047237522</string>
|
||||
<string name="google_storage_bucket" translatable="false">api-project-45255906.appspot.com</string>
|
||||
<string name="project_id" translatable="false">api-project-45255906</string>
|
||||
<string name="google_api_key" translatable="false">AIzaSyDtC-oau_qxX-kBiiMcVXwBagcGZDZXZkg</string>
|
||||
<string name="google_crash_reporting_api_key" translatable="false">AIzaSyDtC-oau_qxX-kBiiMcVXwBagcGZDZXZkg</string>
|
||||
<string name="google_app_id" translatable="false">1:555047237522:android:0ebd87bb7261031b7af34b</string>
|
||||
<string name="default_android_client_id" translatable="false">555047237522-7aglqc7nvqbe0d5rms69o6clmg82j05c.apps.googleusercontent.com</string>
|
||||
<string name="default_web_client_id" translatable="false">555047237522-ric2l62a2lvp2bkbg2qsdg87jungpn3g.apps.googleusercontent.com</string>
|
||||
</resources>
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 37c944c40045b1e468e6258a13dc5049
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -1,33 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 6524d405493cdec40b2d8605b81c7c91
|
||||
folderAsset: yes
|
||||
PluginImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
iconMap: {}
|
||||
executionOrder: {}
|
||||
defineConstraints: []
|
||||
isPreloaded: 0
|
||||
isOverridable: 0
|
||||
isExplicitlyReferenced: 0
|
||||
validateReferences: 1
|
||||
platformData:
|
||||
- first:
|
||||
Android: Android
|
||||
second:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
- first:
|
||||
Any:
|
||||
second:
|
||||
enabled: 0
|
||||
settings: {}
|
||||
- first:
|
||||
Editor: Editor
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
DefaultValueInitialized: true
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.google.unity.ads" android:versionName="1.0" android:versionCode="1">
|
||||
<application>
|
||||
<uses-library android:required="false" android:name="org.apache.http.legacy" />
|
||||
<meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="ca-app-pub-1124323716421754~7369482928" />
|
||||
</application>
|
||||
</manifest>
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: e869b36b657604102a7166a39ee7d9c9
|
||||
labels:
|
||||
- gvh
|
||||
- gvh_version-7.0.0
|
||||
- gvhp_exportpath-Plugins/Android/GoogleMobileAdsPlugin.androidlib/AndroidManifest.xml
|
||||
timeCreated: 1427838353
|
||||
licenseType: Free
|
||||
TextScriptImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
target=android-19
|
||||
android.library=true
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 1d06ef613dfec4baa88b56aeef69cd9c
|
||||
labels:
|
||||
- gvh
|
||||
- gvh_version-7.0.0
|
||||
- gvhp_exportpath-Plugins/Android/GoogleMobileAdsPlugin.androidlib/project.properties
|
||||
timeCreated: 1427838343
|
||||
licenseType: Free
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
|
|
@ -1,76 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: f6190f2d34454c59917a4c1305f171d3
|
||||
labels:
|
||||
- gvh
|
||||
- gvh_version-7.0.0
|
||||
- gvhp_exportpath-Plugins/Android/googlemobileads-unity.aar
|
||||
timeCreated: 1480838400
|
||||
PluginImporter:
|
||||
serializedVersion: 1
|
||||
iconMap: {}
|
||||
executionOrder: {}
|
||||
isPreloaded: 0
|
||||
platformData:
|
||||
Android:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
Any:
|
||||
enabled: 0
|
||||
settings: {}
|
||||
Editor:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
DefaultValueInitialized: true
|
||||
OS: AnyOS
|
||||
Linux:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU: x86
|
||||
Linux64:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU: x86_64
|
||||
LinuxUniversal:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
OSXIntel:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU: x86
|
||||
OSXIntel64:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU: x86_64
|
||||
OSXUniversal:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
Web:
|
||||
enabled: 0
|
||||
settings: {}
|
||||
WebStreamed:
|
||||
enabled: 0
|
||||
settings: {}
|
||||
Win:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU: x86
|
||||
Win64:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU: x86_64
|
||||
WindowsStoreApps:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
iOS:
|
||||
enabled: 0
|
||||
settings:
|
||||
CompileFlags:
|
||||
FrameworkDependencies:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 6134bb59ae3a6a147b6999d2232da26a
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 0074879dfac732c4a9e3bc7de24a1a62
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
|
|
@ -1,76 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: bf523cc64d194963aa7661e7d2944feb
|
||||
labels:
|
||||
- gvh
|
||||
- gvh_version-8.6.1
|
||||
- gvhp_exportpath-Plugins/iOS/Firebase/libFirebaseCppAnalytics.a
|
||||
timeCreated: 1480838400
|
||||
PluginImporter:
|
||||
serializedVersion: 1
|
||||
iconMap: {}
|
||||
executionOrder: {}
|
||||
isPreloaded: 0
|
||||
platformData:
|
||||
Android:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
Any:
|
||||
enabled: 0
|
||||
settings: {}
|
||||
Editor:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
DefaultValueInitialized: true
|
||||
OS: AnyOS
|
||||
Linux:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: None
|
||||
Linux64:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: None
|
||||
LinuxUniversal:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: None
|
||||
OSXIntel:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: None
|
||||
OSXIntel64:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: None
|
||||
OSXUniversal:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: None
|
||||
Web:
|
||||
enabled: 0
|
||||
settings: {}
|
||||
WebStreamed:
|
||||
enabled: 0
|
||||
settings: {}
|
||||
Win:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: None
|
||||
Win64:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: None
|
||||
WindowsStoreApps:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
iOS:
|
||||
enabled: 1
|
||||
settings:
|
||||
CompileFlags:
|
||||
FrameworkDependencies:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
|
|
@ -1,76 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 601e8e1d2d2744929ede33676cbeccc0
|
||||
labels:
|
||||
- gvh
|
||||
- gvh_version-8.6.1
|
||||
- gvhp_exportpath-Plugins/iOS/Firebase/libFirebaseCppApp.a
|
||||
timeCreated: 1480838400
|
||||
PluginImporter:
|
||||
serializedVersion: 1
|
||||
iconMap: {}
|
||||
executionOrder: {}
|
||||
isPreloaded: 0
|
||||
platformData:
|
||||
Android:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
Any:
|
||||
enabled: 0
|
||||
settings: {}
|
||||
Editor:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
DefaultValueInitialized: true
|
||||
OS: AnyOS
|
||||
Linux:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: None
|
||||
Linux64:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: None
|
||||
LinuxUniversal:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: None
|
||||
OSXIntel:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: None
|
||||
OSXIntel64:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: None
|
||||
OSXUniversal:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: None
|
||||
Web:
|
||||
enabled: 0
|
||||
settings: {}
|
||||
WebStreamed:
|
||||
enabled: 0
|
||||
settings: {}
|
||||
Win:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: None
|
||||
Win64:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: None
|
||||
WindowsStoreApps:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
iOS:
|
||||
enabled: 1
|
||||
settings:
|
||||
CompileFlags:
|
||||
FrameworkDependencies:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
|
|
@ -1,110 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 44a214618eb6473db34d3808eb040cfb
|
||||
labels:
|
||||
- gvh
|
||||
- gvh_version-8.6.1
|
||||
- gvhp_exportpath-Plugins/iOS/Firebase/libFirebaseCppAuth.a
|
||||
PluginImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
iconMap: {}
|
||||
executionOrder: {}
|
||||
defineConstraints: []
|
||||
isPreloaded: 0
|
||||
isOverridable: 0
|
||||
isExplicitlyReferenced: 0
|
||||
validateReferences: 1
|
||||
platformData:
|
||||
- first:
|
||||
: Linux
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: None
|
||||
- first:
|
||||
: LinuxUniversal
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: None
|
||||
- first:
|
||||
: OSXIntel
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: None
|
||||
- first:
|
||||
: OSXIntel64
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: None
|
||||
- first:
|
||||
: Web
|
||||
second:
|
||||
enabled: 0
|
||||
settings: {}
|
||||
- first:
|
||||
: WebStreamed
|
||||
second:
|
||||
enabled: 0
|
||||
settings: {}
|
||||
- first:
|
||||
Android: Android
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
- first:
|
||||
Any:
|
||||
second:
|
||||
enabled: 0
|
||||
settings: {}
|
||||
- first:
|
||||
Editor: Editor
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
DefaultValueInitialized: true
|
||||
OS: AnyOS
|
||||
- first:
|
||||
Standalone: Linux64
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: None
|
||||
- first:
|
||||
Standalone: OSXUniversal
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: None
|
||||
- first:
|
||||
Standalone: Win
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: None
|
||||
- first:
|
||||
Standalone: Win64
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: None
|
||||
- first:
|
||||
Windows Store Apps: WindowsStoreApps
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
- first:
|
||||
iPhone: iOS
|
||||
second:
|
||||
enabled: 1
|
||||
settings:
|
||||
CompileFlags:
|
||||
FrameworkDependencies:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
// Copyright 2016 Google Inc. All Rights Reserved.
|
||||
|
||||
#import <GoogleMobileAds/GoogleMobileAds.h>
|
||||
|
||||
@protocol GADUAdNetworkExtras <NSObject>
|
||||
|
||||
- (id<GADAdNetworkExtras>)adNetworkExtrasWithDictionary:
|
||||
(NSDictionary<NSString *, NSString *> *)extras;
|
||||
|
||||
@end
|
||||
|
|
@ -1,76 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 1c0d8a6c9b36440eaa4c01518670217f
|
||||
labels:
|
||||
- gvh
|
||||
- gvh_version-7.0.0
|
||||
- gvhp_exportpath-Plugins/iOS/GADUAdNetworkExtras.h
|
||||
timeCreated: 1480838400
|
||||
PluginImporter:
|
||||
serializedVersion: 1
|
||||
iconMap: {}
|
||||
executionOrder: {}
|
||||
isPreloaded: 0
|
||||
platformData:
|
||||
Android:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
Any:
|
||||
enabled: 0
|
||||
settings: {}
|
||||
Editor:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
DefaultValueInitialized: true
|
||||
OS: AnyOS
|
||||
Linux:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU: x86
|
||||
Linux64:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU: x86_64
|
||||
LinuxUniversal:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
OSXIntel:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU: x86
|
||||
OSXIntel64:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU: x86_64
|
||||
OSXUniversal:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
Web:
|
||||
enabled: 0
|
||||
settings: {}
|
||||
WebStreamed:
|
||||
enabled: 0
|
||||
settings: {}
|
||||
Win:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU: x86
|
||||
Win64:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU: x86_64
|
||||
WindowsStoreApps:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
iOS:
|
||||
enabled: 1
|
||||
settings:
|
||||
CompileFlags:
|
||||
FrameworkDependencies:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
// Copyright 2018 Google LLC
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
#import <UnityAds/UnityAds.h>
|
||||
|
||||
void GADUMSetGDPRConsentMetaData(BOOL consent) {
|
||||
UADSMetaData *unityAdsMetaData = [[UADSMetaData alloc] init];
|
||||
[unityAdsMetaData set:@"gdpr.consent" value:@(consent)];
|
||||
[unityAdsMetaData commit];
|
||||
}
|
||||
|
|
@ -1,31 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 8d905e1f5a0d04ed281ce21e5d30f838
|
||||
timeCreated: 1526600286
|
||||
licenseType: Pro
|
||||
PluginImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
iconMap: {}
|
||||
executionOrder: {}
|
||||
isPreloaded: 0
|
||||
isOverridable: 0
|
||||
platformData:
|
||||
- first:
|
||||
Any:
|
||||
second:
|
||||
enabled: 0
|
||||
settings: {}
|
||||
- first:
|
||||
Editor: Editor
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
DefaultValueInitialized: true
|
||||
- first:
|
||||
iPhone: iOS
|
||||
second:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 07c86a3f84f494e589218ed67d10255a
|
||||
folderAsset: yes
|
||||
timeCreated: 1490995894
|
||||
licenseType: Pro
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
/**
|
||||
* Copyright 2017 Google Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
#import <GoogleSignIn/GIDSignIn.h>
|
||||
@interface GoogleSignInHandler
|
||||
: NSObject <GIDSignInDelegate>
|
||||
|
||||
@end
|
||||
|
|
@ -1,35 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 62c129704e1ec48179ba285e1af154b8
|
||||
labels:
|
||||
- gvh
|
||||
timeCreated: 1510357716
|
||||
licenseType: Pro
|
||||
PluginImporter:
|
||||
serializedVersion: 2
|
||||
iconMap: {}
|
||||
executionOrder: {}
|
||||
isPreloaded: 0
|
||||
isOverridable: 0
|
||||
platformData:
|
||||
data:
|
||||
first:
|
||||
Any:
|
||||
second:
|
||||
enabled: 0
|
||||
settings: {}
|
||||
data:
|
||||
first:
|
||||
Editor: Editor
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
DefaultValueInitialized: true
|
||||
data:
|
||||
first:
|
||||
iPhone: iOS
|
||||
second:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -1,344 +0,0 @@
|
|||
/**
|
||||
* Copyright 2017 Google Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
#import "GoogleSignIn.h"
|
||||
#import <GoogleSignIn/GIDAuthentication.h>
|
||||
#import <GoogleSignIn/GIDGoogleUser.h>
|
||||
#import <GoogleSignIn/GIDProfileData.h>
|
||||
#import <GoogleSignIn/GIDSignIn.h>
|
||||
|
||||
#import <memory>
|
||||
|
||||
// These values are in the Unity plugin code. The iOS specific
|
||||
// codes are mapped to these.
|
||||
static const int kStatusCodeSuccessCached = -1;
|
||||
static const int kStatusCodeSuccess = 0;
|
||||
static const int kStatusCodeApiNotConnected = 1;
|
||||
static const int kStatusCodeCanceled = 2;
|
||||
static const int kStatusCodeInterrupted = 3;
|
||||
static const int kStatusCodeInvalidAccount = 4;
|
||||
static const int kStatusCodeTimeout = 5;
|
||||
static const int kStatusCodeDeveloperError = 6;
|
||||
static const int kStatusCodeInternalError = 7;
|
||||
static const int kStatusCodeNetworkError = 8;
|
||||
static const int kStatusCodeError = 9;
|
||||
|
||||
/**
|
||||
* Helper method to pause the Unity player. This is done when showing any UI.
|
||||
*/
|
||||
void UnpauseUnityPlayer() {
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
if (UnityIsPaused() > 0) {
|
||||
UnityPause(0);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// result for pending operation. Access to this should be protected using the
|
||||
// resultLock.
|
||||
struct SignInResult {
|
||||
int result_code;
|
||||
bool finished;
|
||||
};
|
||||
|
||||
std::unique_ptr<SignInResult> currentResult_;
|
||||
|
||||
NSRecursiveLock *resultLock = [NSRecursiveLock alloc];
|
||||
|
||||
@implementation GoogleSignInHandler
|
||||
|
||||
/**
|
||||
* Overload the presenting of the UI so we can pause the Unity player.
|
||||
*/
|
||||
- (void)signIn:(GIDSignIn *)signIn
|
||||
presentViewController:(UIViewController *)viewController {
|
||||
UnityPause(true);
|
||||
[UnityGetGLViewController() presentViewController:viewController
|
||||
animated:YES
|
||||
completion:nil];
|
||||
}
|
||||
|
||||
/**
|
||||
* Overload the dismissing so we can resume the Unity player.
|
||||
*/
|
||||
- (void)signIn:(GIDSignIn *)signIn
|
||||
dismissViewController:(UIViewController *)viewController {
|
||||
UnityPause(false);
|
||||
[UnityGetGLViewController() dismissViewControllerAnimated:YES completion:nil];
|
||||
}
|
||||
|
||||
/**
|
||||
* The sign-in flow has finished and was successful if |error| is |nil|.
|
||||
* Map the errors from the iOS SDK back to the Android values for consistency's
|
||||
* sake in the Unity layer.
|
||||
*/
|
||||
- (void)signIn:(GIDSignIn *)signIn
|
||||
didSignInForUser:(GIDGoogleUser *)user
|
||||
withError:(NSError *)_error {
|
||||
if (_error == nil) {
|
||||
if (currentResult_) {
|
||||
currentResult_->result_code = kStatusCodeSuccess;
|
||||
currentResult_->finished = true;
|
||||
} else {
|
||||
NSLog(@"No currentResult to set status on!");
|
||||
}
|
||||
NSLog(@"didSignInForUser: SUCCESS");
|
||||
} else {
|
||||
NSLog(@"didSignInForUser: %@", _error.localizedDescription);
|
||||
if (currentResult_) {
|
||||
switch (_error.code) {
|
||||
case kGIDSignInErrorCodeUnknown:
|
||||
currentResult_->result_code = kStatusCodeError;
|
||||
break;
|
||||
case kGIDSignInErrorCodeKeychain:
|
||||
currentResult_->result_code = kStatusCodeInternalError;
|
||||
break;
|
||||
case kGIDSignInErrorCodeHasNoAuthInKeychain:
|
||||
currentResult_->result_code = kStatusCodeError;
|
||||
break;
|
||||
case kGIDSignInErrorCodeCanceled:
|
||||
currentResult_->result_code = kStatusCodeCanceled;
|
||||
break;
|
||||
default:
|
||||
NSLog(@"Unmapped error code: %ld, returning Error",
|
||||
static_cast<long>(_error.code));
|
||||
currentResult_->result_code = kStatusCodeError;
|
||||
}
|
||||
|
||||
currentResult_->finished = true;
|
||||
UnpauseUnityPlayer();
|
||||
} else {
|
||||
NSLog(@"No currentResult to set status on!");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Finished disconnecting |user| from the app successfully if |error| is |nil|.
|
||||
- (void)signIn:(GIDSignIn *)signIn
|
||||
didDisconnectWithUser:(GIDGoogleUser *)user
|
||||
withError:(NSError *)_error {
|
||||
if (_error == nil) {
|
||||
NSLog(@"didDisconnectWithUser: SUCCESS");
|
||||
} else {
|
||||
NSLog(@"didDisconnectWithUser: %@", _error);
|
||||
}
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
/**
|
||||
* These are the external "C" methods that are imported by the Unity C# code.
|
||||
* The parameters are intended to be primative, easy to marshall.
|
||||
*/
|
||||
extern "C" {
|
||||
/**
|
||||
* This method does nothing in the iOS implementation. It is here
|
||||
* to make the API uniform between Android and iOS.
|
||||
*/
|
||||
void *GoogleSignIn_Create(void *data) { return NULL; }
|
||||
|
||||
void GoogleSignIn_EnableDebugLogging(void *unused, bool flag) {
|
||||
if (flag) {
|
||||
NSLog(@"GoogleSignIn: No optional logging available on iOS");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Configures the GIDSignIn instance. The first parameter is unused in iOS.
|
||||
* It is here to make the API between Android and iOS uniform.
|
||||
*/
|
||||
bool GoogleSignIn_Configure(void *unused, bool useGameSignIn,
|
||||
const char *webClientId, bool requestAuthCode,
|
||||
bool forceTokenRefresh, bool requestEmail,
|
||||
bool requestIdToken, bool hidePopups,
|
||||
const char **additionalScopes, int scopeCount,
|
||||
const char *accountName) {
|
||||
if (webClientId) {
|
||||
[GIDSignIn sharedInstance].serverClientID =
|
||||
[NSString stringWithUTF8String:webClientId];
|
||||
}
|
||||
|
||||
[GIDSignIn sharedInstance].shouldFetchBasicProfile = true;
|
||||
|
||||
int scopeSize = scopeCount;
|
||||
|
||||
if (scopeSize) {
|
||||
NSMutableArray *tmpary =
|
||||
[[NSMutableArray alloc] initWithCapacity:scopeSize];
|
||||
for (int i = 0; i < scopeCount; i++) {
|
||||
[tmpary addObject:[NSString stringWithUTF8String:additionalScopes[i]]];
|
||||
}
|
||||
|
||||
[GIDSignIn sharedInstance].scopes = tmpary;
|
||||
}
|
||||
|
||||
if (accountName) {
|
||||
[GIDSignIn sharedInstance].loginHint =
|
||||
[NSString stringWithUTF8String:accountName];
|
||||
}
|
||||
|
||||
[GIDSignIn sharedInstance].presentingViewController = UnityGetGLViewController();
|
||||
|
||||
return !useGameSignIn;
|
||||
}
|
||||
|
||||
/**
|
||||
Starts the sign-in process. Returns and error result if error, null otherwise.
|
||||
*/
|
||||
static SignInResult *startSignIn() {
|
||||
bool busy = false;
|
||||
[resultLock lock];
|
||||
if (!currentResult_ || currentResult_->finished) {
|
||||
currentResult_.reset(new SignInResult());
|
||||
currentResult_->result_code = 0;
|
||||
currentResult_->finished = false;
|
||||
} else {
|
||||
busy = true;
|
||||
}
|
||||
[resultLock unlock];
|
||||
|
||||
if (busy) {
|
||||
NSLog(@"ERROR: There is already a pending sign-in operation.");
|
||||
// Returned to the caller, should be deleted by calling
|
||||
// GoogleSignIn_DisposeFuture().
|
||||
return new SignInResult{.result_code = kStatusCodeDeveloperError,
|
||||
.finished = true};
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sign-In. The return value is a pointer to the currentResult object.
|
||||
*/
|
||||
void *GoogleSignIn_SignIn() {
|
||||
SignInResult *result = startSignIn();
|
||||
if (!result) {
|
||||
[[GIDSignIn sharedInstance] signIn];
|
||||
result = currentResult_.get();
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Attempt a silent sign-in. Return value is the pointer to the currentResult
|
||||
* object.
|
||||
*/
|
||||
void *GoogleSignIn_SignInSilently() {
|
||||
SignInResult *result = startSignIn();
|
||||
if (!result) {
|
||||
[[GIDSignIn sharedInstance] restorePreviousSignIn];
|
||||
result = currentResult_.get();
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
void GoogleSignIn_Signout() {
|
||||
GIDSignIn *signIn = [GIDSignIn sharedInstance];
|
||||
[signIn signOut];
|
||||
}
|
||||
|
||||
void GoogleSignIn_Disconnect() {
|
||||
GIDSignIn *signIn = [GIDSignIn sharedInstance];
|
||||
[signIn disconnect];
|
||||
}
|
||||
|
||||
bool GoogleSignIn_Pending(SignInResult *result) {
|
||||
volatile bool ret;
|
||||
[resultLock lock];
|
||||
ret = !result->finished;
|
||||
[resultLock unlock];
|
||||
return ret;
|
||||
}
|
||||
|
||||
GIDGoogleUser *GoogleSignIn_Result(SignInResult *result) {
|
||||
if (result && result->finished) {
|
||||
GIDGoogleUser *guser = [GIDSignIn sharedInstance].currentUser;
|
||||
return guser;
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
int GoogleSignIn_Status(SignInResult *result) {
|
||||
if (result) {
|
||||
return result->result_code;
|
||||
}
|
||||
return kStatusCodeDeveloperError;
|
||||
}
|
||||
|
||||
void GoogleSignIn_DisposeFuture(SignInResult *result) {
|
||||
if (result == currentResult_.get()) {
|
||||
currentResult_.reset(nullptr);
|
||||
} else {
|
||||
delete result;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Private helper function to copy NSString to char*. If the destination is
|
||||
* non-null, the contents of src are copied up to len bytes (using strncpy). The
|
||||
* then len is returned. Otherwise returns length of the string to copy + 1.
|
||||
*/
|
||||
static size_t CopyNSString(NSString *src, char *dest, size_t len) {
|
||||
if (dest && src && len) {
|
||||
const char *string = [src UTF8String];
|
||||
strncpy(dest, string, len);
|
||||
return len;
|
||||
}
|
||||
return src ? src.length + 1 : 0;
|
||||
}
|
||||
|
||||
size_t GoogleSignIn_GetServerAuthCode(GIDGoogleUser *guser, char *buf,
|
||||
size_t len) {
|
||||
NSString *val = [guser serverAuthCode];
|
||||
return CopyNSString(val, buf, len);
|
||||
}
|
||||
|
||||
size_t GoogleSignIn_GetDisplayName(GIDGoogleUser *guser, char *buf,
|
||||
size_t len) {
|
||||
NSString *val = [guser.profile name];
|
||||
return CopyNSString(val, buf, len);
|
||||
}
|
||||
|
||||
size_t GoogleSignIn_GetEmail(GIDGoogleUser *guser, char *buf, size_t len) {
|
||||
NSString *val = [guser.profile email];
|
||||
return CopyNSString(val, buf, len);
|
||||
}
|
||||
|
||||
size_t GoogleSignIn_GetFamilyName(GIDGoogleUser *guser, char *buf, size_t len) {
|
||||
NSString *val = [guser.profile familyName];
|
||||
return CopyNSString(val, buf, len);
|
||||
}
|
||||
|
||||
size_t GoogleSignIn_GetGivenName(GIDGoogleUser *guser, char *buf, size_t len) {
|
||||
NSString *val = [guser.profile givenName];
|
||||
return CopyNSString(val, buf, len);
|
||||
}
|
||||
|
||||
size_t GoogleSignIn_GetIdToken(GIDGoogleUser *guser, char *buf, size_t len) {
|
||||
NSString *val = [guser.authentication idToken];
|
||||
return CopyNSString(val, buf, len);
|
||||
}
|
||||
|
||||
size_t GoogleSignIn_GetImageUrl(GIDGoogleUser *guser, char *buf, size_t len) {
|
||||
NSURL *url = [guser.profile imageURLWithDimension:128];
|
||||
NSString *val = url ? [url absoluteString] : nullptr;
|
||||
return CopyNSString(val, buf, len);
|
||||
}
|
||||
|
||||
size_t GoogleSignIn_GetUserId(GIDGoogleUser *guser, char *buf, size_t len) {
|
||||
NSString *val = [guser userID];
|
||||
return CopyNSString(val, buf, len);
|
||||
}
|
||||
} // extern "C"
|
||||
|
|
@ -1,35 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 521784ee6b2184e0e947a8fd1508afbc
|
||||
labels:
|
||||
- gvh
|
||||
timeCreated: 1510357716
|
||||
licenseType: Pro
|
||||
PluginImporter:
|
||||
serializedVersion: 2
|
||||
iconMap: {}
|
||||
executionOrder: {}
|
||||
isPreloaded: 0
|
||||
isOverridable: 0
|
||||
platformData:
|
||||
data:
|
||||
first:
|
||||
Any:
|
||||
second:
|
||||
enabled: 0
|
||||
settings: {}
|
||||
data:
|
||||
first:
|
||||
Editor: Editor
|
||||
second:
|
||||
enabled: 0
|
||||
settings:
|
||||
DefaultValueInitialized: true
|
||||
data:
|
||||
first:
|
||||
iPhone: iOS
|
||||
second:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -1,37 +0,0 @@
|
|||
/**
|
||||
* Copyright 2017 Google Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
#import "GoogleSignIn.h"
|
||||
#import <UnityAppController.h>
|
||||
|
||||
// Controller to handle Google SignIn. The AppController methods are swizzled
|
||||
// into the UnityAppController in order to avoid breaking other code that needs
|
||||
// to handle these messages also.
|
||||
@interface UnityAppController (GoogleSignInAppController)
|
||||
// These are the implementations for GSI. The signatures match the
|
||||
// AppController methods.
|
||||
- (BOOL)application:(UIApplication *)application
|
||||
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;
|
||||
|
||||
- (BOOL)application:(UIApplication *)application
|
||||
openURL:(NSURL *)url
|
||||
options:(NSDictionary<NSString *, id> *)options;
|
||||
|
||||
- (BOOL)application:(UIApplication *)application
|
||||
openURL:(NSURL *)url
|
||||
sourceApplication:(NSString *)sourceApplication
|
||||
annotation:(id)annotation;
|
||||
|
||||
@end
|
||||
|
|
@ -1,26 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: ce40e3e7b37a54617a4683dfc0479c71
|
||||
labels:
|
||||
- gvh
|
||||
timeCreated: 1490998272
|
||||
licenseType: Pro
|
||||
PluginImporter:
|
||||
serializedVersion: 1
|
||||
iconMap: {}
|
||||
executionOrder: {}
|
||||
isPreloaded: 0
|
||||
isOverridable: 0
|
||||
platformData:
|
||||
Any:
|
||||
enabled: 0
|
||||
settings: {}
|
||||
Editor:
|
||||
enabled: 0
|
||||
settings:
|
||||
DefaultValueInitialized: true
|
||||
iOS:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -1,116 +0,0 @@
|
|||
/**
|
||||
* Copyright 2017 Google Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#import "GoogleSignInAppController.h"
|
||||
#import <objc/runtime.h>
|
||||
|
||||
// Handles Google SignIn UI and events.
|
||||
GoogleSignInHandler *gsiHandler;
|
||||
|
||||
/*
|
||||
* Create a category to customize the application. When this is loaded the
|
||||
* method for the existing application and GoogleSignIn are swizzled into the
|
||||
* other's class selector. Then we call our "own" msthod which is actually the
|
||||
* original application's implementation. See more info at:
|
||||
* https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/CustomizingExistingClasses/CustomizingExistingClasses.html
|
||||
*/
|
||||
|
||||
@implementation UnityAppController (GoogleSignInController)
|
||||
|
||||
/*
|
||||
Called when the category is loaded. This is where the methods are swizzled
|
||||
out.
|
||||
*/
|
||||
+ (void)load {
|
||||
Method original;
|
||||
Method swizzled;
|
||||
|
||||
original = class_getInstanceMethod(
|
||||
self, @selector(application:didFinishLaunchingWithOptions:));
|
||||
swizzled = class_getInstanceMethod(
|
||||
self,
|
||||
@selector(GoogleSignInAppController:didFinishLaunchingWithOptions:));
|
||||
method_exchangeImplementations(original, swizzled);
|
||||
|
||||
original = class_getInstanceMethod(
|
||||
self, @selector(application:openURL:sourceApplication:annotation:));
|
||||
swizzled = class_getInstanceMethod(
|
||||
self, @selector
|
||||
(GoogleSignInAppController:openURL:sourceApplication:annotation:));
|
||||
method_exchangeImplementations(original, swizzled);
|
||||
|
||||
original =
|
||||
class_getInstanceMethod(self, @selector(application:openURL:options:));
|
||||
swizzled = class_getInstanceMethod(
|
||||
self, @selector(GoogleSignInAppController:openURL:options:));
|
||||
method_exchangeImplementations(original, swizzled);
|
||||
}
|
||||
|
||||
- (BOOL)GoogleSignInAppController:(UIApplication *)application
|
||||
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
|
||||
|
||||
// IMPORTANT: IF you are not supplying a GoogleService-Info.plist in your
|
||||
// project that contains the client id, you need to set the client id here.
|
||||
|
||||
NSString *path = [[NSBundle mainBundle] pathForResource:@"GoogleService-Info"
|
||||
ofType:@"plist"];
|
||||
NSDictionary *dict = [NSDictionary dictionaryWithContentsOfFile:path];
|
||||
NSString *clientId = [dict objectForKey:@"CLIENT_ID"];
|
||||
|
||||
gsiHandler = [GoogleSignInHandler alloc];
|
||||
|
||||
// Setup the Sign-In instance.
|
||||
GIDSignIn *signIn = [GIDSignIn sharedInstance];
|
||||
signIn.clientID = clientId;
|
||||
signIn.delegate = gsiHandler;
|
||||
|
||||
// looks like it's just calling itself, but the implementations were swapped
|
||||
// so we're actually calling the original once we're done
|
||||
return [self GoogleSignInAppController:application
|
||||
didFinishLaunchingWithOptions:launchOptions];
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle the auth URL
|
||||
*/
|
||||
- (BOOL)GoogleSignInAppController:(UIApplication *)application
|
||||
openURL:(NSURL *)url
|
||||
sourceApplication:(NSString *)sourceApplication
|
||||
annotation:(id)annotation {
|
||||
BOOL handled = [self GoogleSignInAppController:application
|
||||
openURL:url
|
||||
sourceApplication:sourceApplication
|
||||
annotation:annotation];
|
||||
|
||||
return [[GIDSignIn sharedInstance] handleURL:url] ||
|
||||
handled;
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle the auth URL.
|
||||
*/
|
||||
- (BOOL)GoogleSignInAppController:(UIApplication *)app
|
||||
openURL:(NSURL *)url
|
||||
options:(NSDictionary *)options {
|
||||
|
||||
BOOL handled =
|
||||
[self GoogleSignInAppController:app openURL:url options:options];
|
||||
|
||||
return [[GIDSignIn sharedInstance] handleURL:url] ||
|
||||
handled;
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
@ -1,26 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 50b2e1c9319e4446e9dbd9b183790472
|
||||
labels:
|
||||
- gvh
|
||||
timeCreated: 1490998272
|
||||
licenseType: Pro
|
||||
PluginImporter:
|
||||
serializedVersion: 1
|
||||
iconMap: {}
|
||||
executionOrder: {}
|
||||
isPreloaded: 0
|
||||
isOverridable: 0
|
||||
platformData:
|
||||
Any:
|
||||
enabled: 0
|
||||
settings: {}
|
||||
Editor:
|
||||
enabled: 0
|
||||
settings:
|
||||
DefaultValueInitialized: true
|
||||
iOS:
|
||||
enabled: 1
|
||||
settings: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
|
|
@ -1,76 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 3fbd85863e7246c8b9de13243cc83b5d
|
||||
labels:
|
||||
- gvh
|
||||
- gvh_version-7.0.0
|
||||
- gvhp_exportpath-Plugins/iOS/unity-plugin-library.a
|
||||
timeCreated: 1480838400
|
||||
PluginImporter:
|
||||
serializedVersion: 1
|
||||
iconMap: {}
|
||||
executionOrder: {}
|
||||
isPreloaded: 0
|
||||
platformData:
|
||||
Android:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
Any:
|
||||
enabled: 0
|
||||
settings: {}
|
||||
Editor:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
DefaultValueInitialized: true
|
||||
OS: AnyOS
|
||||
Linux:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU: x86
|
||||
Linux64:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU: x86_64
|
||||
LinuxUniversal:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
OSXIntel:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU: x86
|
||||
OSXIntel64:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU: x86_64
|
||||
OSXUniversal:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
Web:
|
||||
enabled: 0
|
||||
settings: {}
|
||||
WebStreamed:
|
||||
enabled: 0
|
||||
settings: {}
|
||||
Win:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU: x86
|
||||
Win64:
|
||||
enabled: 1
|
||||
settings:
|
||||
CPU: x86_64
|
||||
WindowsStoreApps:
|
||||
enabled: 0
|
||||
settings:
|
||||
CPU: AnyCPU
|
||||
iOS:
|
||||
enabled: 1
|
||||
settings:
|
||||
CompileFlags:
|
||||
FrameworkDependencies:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -70,7 +70,7 @@ BoxCollider:
|
|||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_Size: {x: 0.5904268, y: 0.6150998, z: 0.5558845}
|
||||
m_Size: {x: 0.7, y: 1, z: 0.7}
|
||||
m_Center: {x: 0.017271176, y: 0.029607713, z: -0.009869218}
|
||||
--- !u!1001 &1055510018664997146
|
||||
PrefabInstance:
|
||||
|
|
|
|||
|
|
@ -47,9 +47,9 @@ MonoBehaviour:
|
|||
m_EditorClassIdentifier:
|
||||
m_Pierce: 0
|
||||
str_HitEffect:
|
||||
lifeTime: 5
|
||||
lifeTime: 2.5
|
||||
effectArea: 3
|
||||
dmgDelay: 0.5
|
||||
dmgDelay: 0.25
|
||||
--- !u!1001 &5775025589486851871
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
|
|||
|
|
@ -116,7 +116,7 @@ public class ProjectileBase : MonoBehaviour
|
|||
_data.AddDmgPercent = _data.CC_AddTime = _data.CC_AddDmg = _data.CC_AddVal1 = _data.CC_AddVal2 = 0f;
|
||||
m_ProjectTileData = _data;
|
||||
m_ProjectTileData.m_ProjectileBase = this;
|
||||
m_DamageInfo = m_ProjectTileData.IsSkill() ? Get_SkillDamage() : m_ProjectTileData.shooter.Get_DamageInfo(m_ProjectTileData);
|
||||
m_DamageInfo = Get_NewDamageInfo();
|
||||
|
||||
if (m_ProjectTileData.IsSkill())
|
||||
{
|
||||
|
|
@ -230,6 +230,10 @@ public class ProjectileBase : MonoBehaviour
|
|||
dinfo.act_AfterFreezing = act_afterFreezing;
|
||||
return dinfo;
|
||||
}
|
||||
protected DamageInfo Get_NewDamageInfo()
|
||||
{
|
||||
return m_ProjectTileData.IsSkill() ? Get_SkillDamage() : m_ProjectTileData.shooter.Get_DamageInfo(m_ProjectTileData);
|
||||
}
|
||||
protected DamageInfo Get_DamageInfo(bool extradmg = false, bool calcri = true)
|
||||
{
|
||||
m_DamageInfo.bExtraDmg = extradmg;
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ public class Skill_Blizzard : ProjectileBase
|
|||
if (DSUtil.CheckNull(enemies[i])) continue;
|
||||
if (i >= enemies.Count) break;
|
||||
|
||||
enemies[i].Get_Damage(Get_DamageInfo());
|
||||
enemies[i].Get_Damage(Get_NewDamageInfo());
|
||||
if (step3)
|
||||
{
|
||||
var ccData = enemies[i].Get_CCData(eCC.MOVSPD_Down);
|
||||
|
|
|
|||
Loading…
Reference in New Issue