Skip to content

Commit c311ddc

Browse files
committed
【v2.6.0】改用新.NET语法,不再兼容旧Unity
1 parent f3a98f5 commit c311ddc

10 files changed

Lines changed: 124 additions & 301 deletions

File tree

Plugins/CS/Audio.cs

Lines changed: 8 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -14,64 +14,47 @@ public static class Audio
1414
[DllImport("__Internal")] static extern double Audio_SampleRate();
1515
[DllImport("__Internal")] static extern bool Audio_IsBluetoothHeadphonesConnected();
1616
[DllImport("__Internal")] static extern void Audio_SetAudioExclusive(bool exclusive);
17-
17+
1818
/// <summary>
1919
/// 当前系统音量
2020
/// <para>https://developer.apple.com/documentation/avfaudio/avaudiosession/1616533-outputvolume?language=objc</para>
2121
/// </summary>
2222
/// <returns>音量(0-1)</returns>
23-
public static float SystemVolume()
24-
{
25-
return Audio_SystemVolume();
26-
}
23+
public static float SystemVolume() => Audio_SystemVolume();
24+
2725

2826
/// <summary>
2927
/// 音频输入延迟
3028
/// <para>https://developer.apple.com/documentation/avfaudio/avaudiosession/1616537-inputlatency?language=objc</para>
3129
/// </summary>
3230
/// <returns>延迟(秒)</returns>
33-
public static double InputLatency()
34-
{
35-
return Audio_InputLatency();
36-
}
31+
public static double InputLatency() => Audio_InputLatency();
3732

3833
/// <summary>
3934
/// 音频输出延迟
4035
/// <para>https://developer.apple.com/documentation/avfaudio/avaudiosession/1616500-outputlatency?language=objc</para>
4136
/// </summary>
4237
/// <returns>延迟(秒)</returns>
43-
public static double OutputLatency()
44-
{
45-
return Audio_OutputLatency();
46-
}
38+
public static double OutputLatency() => Audio_OutputLatency();
4739

4840
/// <summary>
4941
/// 音频采样率
5042
/// <para>https://developer.apple.com/documentation/avfaudio/avaudiosession/1616499-samplerate?language=objc</para>
5143
/// </summary>
5244
/// <returns>采样率(Hertz)</returns>
53-
public static double SampleRate()
54-
{
55-
return Audio_SampleRate();
56-
}
45+
public static double SampleRate() => Audio_SampleRate();
5746

5847
/// <summary>
5948
/// 判断玩家当前是否连接了蓝牙耳机
6049
/// </summary>
6150
/// <returns></returns>
62-
public static bool IsBluetoothHeadphonesConnected()
63-
{
64-
return Audio_IsBluetoothHeadphonesConnected();
65-
}
51+
public static bool IsBluetoothHeadphonesConnected() => Audio_IsBluetoothHeadphonesConnected();
6652

6753
/// <summary>
6854
/// 调用此方法可静音/暂停设备后台正在播放的音频
6955
/// </summary>
7056
/// <param name="exclusive">音频独占</param>
71-
public static void SetAudioExclusive(bool exclusive)
72-
{
73-
Audio_SetAudioExclusive(exclusive);
74-
}
57+
public static void SetAudioExclusive(bool exclusive) => Audio_SetAudioExclusive(exclusive);
7558

7659
}
7760
}

Plugins/CS/Device.cs

Lines changed: 15 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -34,86 +34,64 @@ public static class Device
3434
/// </summary>
3535
/// <returns></returns>
3636
public static UIDeviceOrientation GetDeviceOrientation()
37-
{
38-
return (UIDeviceOrientation)Device_GetDeviceOrientation();
39-
}
40-
37+
=> (UIDeviceOrientation)Device_GetDeviceOrientation();
38+
4139
/// <summary>
4240
/// 判断玩家当前是否连接了蓝牙耳机
4341
/// </summary>
4442
/// <returns></returns>
4543
[Obsolete("未来将会移动到Audio类中")]
4644
public static bool IsBluetoothHeadphonesConnected()
47-
{
48-
return Audio_IsBluetoothHeadphonesConnected();
49-
}
50-
45+
=> Audio_IsBluetoothHeadphonesConnected();
46+
5147
/// <summary>
5248
/// 判断当前app是否运行在Mac Catalyst环境下
5349
/// </summary>
5450
/// <returns></returns>
5551
[Obsolete("Use IsRunningOnMac instead.")]
56-
public static bool IsMacCatalyst()
57-
{
58-
return Device_IsMacCatalyst();
59-
}
52+
public static bool IsMacCatalyst() => Device_IsMacCatalyst();
6053

6154
/// <summary>
6255
/// 判断当前app是否运行在Mac环境下
6356
/// </summary>
6457
/// <returns></returns>
6558
public static bool IsRunningOnMac()
66-
{
67-
return Device_IsMacCatalyst() || UnityEngine.iOS.Device.iosAppOnMac;
68-
}
59+
=> Device_IsMacCatalyst() || UnityEngine.iOS.Device.iosAppOnMac;
6960

7061
/// <summary>
7162
/// 判断当前app是否运行在iPad环境下
7263
/// </summary>
7364
/// <returns></returns>
7465
public static bool IsRunningOnIpad()
75-
{
76-
return !IsRunningOnMac() && UnityEngine.iOS.Device.generation.ToString().StartsWith("iPad");
77-
}
66+
=> !IsRunningOnMac() && UnityEngine.iOS.Device.generation.ToString().StartsWith("iPad");
67+
7868
/// <summary>
7969
/// 判断当前设备是否越狱
8070
/// </summary>
8171
/// <returns><c>true</c> - 已越狱 <para><c>false</c> - 未越狱</para></returns>
82-
public static bool IsSuperuser()
83-
{
84-
return Device_IsSuperuser();
85-
}
86-
72+
public static bool IsSuperuser() => Device_IsSuperuser();
73+
8774
/// <summary>
8875
/// 调用此方法可静音/暂停设备后台正在播放的音频
8976
/// </summary>
9077
/// <param name="exclusive">音频独占</param>
9178
[Obsolete("未来将会移动到Audio类中")]
92-
public static void SetAudioExclusive(bool exclusive)
93-
{
94-
Audio_SetAudioExclusive(exclusive);
95-
}
96-
97-
98-
79+
public static void SetAudioExclusive(bool exclusive) => Audio_SetAudioExclusive(exclusive);
80+
81+
9982
/// <summary>
10083
/// 播放短震动
10184
/// <para><b>> 此方法可用性未经测试</b></para>
10285
/// </summary>
10386
/// <param name="style">震动风格(轻、重、软...)</param>
10487
/// <param name="intensity">强度(0-1)</param>
10588
public static void PlayHaptics(UIImpactFeedbackStyle style, float intensity)
106-
{
107-
Device_PlayHaptics((int)style, intensity);
108-
}
89+
=> Device_PlayHaptics((int)style, intensity);
10990

11091
/// <summary>
11192
/// 获取当前设备的ISO地区码(ISO 3166-1 alpha-2)
11293
/// </summary>
11394
/// <returns>ISO 3166-1 alpha-2</returns>
114-
public static string GetCountryCode()
115-
{
116-
return Device_GetCountryCode();
117-
}
95+
public static string GetCountryCode() => Device_GetCountryCode();
11896
}
11997
}

Plugins/CS/GameKit.cs

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -24,19 +24,15 @@ public static class GameKit
2424
/// </summary>
2525
/// <param name="gameCenterViewControllerDidFinish">用户关闭GC以及GC调用失败时的回调</param>
2626
public static void ShowGameCenterView(Action gameCenterViewControllerDidFinish = null)
27-
{
28-
iOSGameKit_ShowGameCenterView(OnScoreCallback);
29-
}
30-
31-
27+
=> iOSGameKit_ShowGameCenterView(OnScoreCallback);
28+
29+
3230
private static event CompletionCallback _gameCenterViewControllerDidFinishCallback;
3331

3432
[MonoPInvokeCallback(typeof(CompletionCallback))]
3533
static void OnScoreCallback()
3634
{
37-
if (_gameCenterViewControllerDidFinishCallback != null)
38-
_gameCenterViewControllerDidFinishCallback();
39-
35+
_gameCenterViewControllerDidFinishCallback?.Invoke();
4036
_gameCenterViewControllerDidFinishCallback = null;
4137
}
4238

@@ -63,9 +59,7 @@ public static void LoadScore(string leaderboardID, Action<long> callback)
6359
[MonoPInvokeCallback(typeof(LongCallback))]
6460
static void OnScoreCallback(long score)
6561
{
66-
if (_onScoreCallback != null)
67-
_onScoreCallback(score);
68-
62+
_onScoreCallback?.Invoke(score);
6963
_onScoreCallback = null;
7064
}
7165

Plugins/CS/NativeShare.cs

Lines changed: 15 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,11 @@ public static class NativeShare
2020

2121

2222
public static void CopyImageToClipboard(string imagePath)
23-
{
24-
NativeShare_CopyImageToClipboard(imagePath);
25-
}
26-
23+
=> NativeShare_CopyImageToClipboard(imagePath);
24+
2725
public static void CopyImageToClipboard(byte[] bytes)
28-
{
29-
NativeShare_CopyImageBytesToClipboard(bytes, bytes.Length);
30-
}
31-
26+
=> NativeShare_CopyImageBytesToClipboard(bytes, bytes.Length);
27+
3228
public static void CopyImageToClipboard(Texture2D texture)
3329
{
3430
var bytes = texture.EncodeToPNG();
@@ -37,23 +33,16 @@ public static void CopyImageToClipboard(Texture2D texture)
3733
}
3834

3935
public static void CopyStringToClipboard(string @string)
40-
{
41-
NativeShare_CopyStringToClipboard(@string);
42-
}
43-
36+
=> NativeShare_CopyStringToClipboard(@string);
37+
4438
public static void CopyUrlToClipboard(string url)
45-
{
46-
NativeShare_CopyUrlToClipboard(url);
47-
}
48-
49-
50-
39+
=> NativeShare_CopyUrlToClipboard(url);
40+
41+
5142
[MonoPInvokeCallback(typeof(SaveImageToAlbumCallback))]
5243
static void OnShareCloseCallback(bool saved)
5344
{
54-
if(OnSaveImageToAlbumCallback != null)
55-
OnSaveImageToAlbumCallback.Invoke(saved);
56-
45+
OnSaveImageToAlbumCallback?.Invoke(saved);
5746
OnSaveImageToAlbumCallback = null;
5847
}
5948

@@ -135,9 +124,7 @@ public static void ShareObjects(Action closeCallback = null, params ShareObject[
135124
[MonoPInvokeCallback(typeof(ShareCloseCallback))]
136125
static void OnShareCloseCallback()
137126
{
138-
if(OnShareClose != null)
139-
OnShareClose.Invoke();
140-
127+
OnShareClose?.Invoke();
141128
OnShareClose = null;
142129
}
143130

@@ -160,10 +147,8 @@ public static bool SaveFileDialog(string content, string fileName, Action callba
160147
[MonoPInvokeCallback(typeof(FileSavedCallback))]
161148
static void OnFileSavedCallback(bool saved)
162149
{
163-
if (saved && OnFileSaved != null)
164-
{
165-
OnFileSaved.Invoke();
166-
}
150+
if (saved)
151+
OnFileSaved?.Invoke();
167152
OnFileSaved = null;
168153
}
169154

@@ -188,15 +173,9 @@ public static void SelectFileDialog(string ext, Action<string> callback = null,
188173
static void OnFileSelectedCallback(bool selected, string content)
189174
{
190175
if (selected)
191-
{
192-
if(OnFiledSelected != null)
193-
OnFiledSelected.Invoke(content);
194-
}
176+
OnFiledSelected?.Invoke(content);
195177
else
196-
{
197-
if(OnFileSelectFailed != null)
198-
OnFileSelectFailed.Invoke();
199-
}
178+
OnFileSelectFailed?.Invoke();
200179
OnFileSaved = null;
201180
OnFileSelectFailed = null;
202181
}

0 commit comments

Comments
 (0)