Dec 6, 2018

Action(arg) vs Action.Invoke(arg)

Action(arg) : Cannot use Null-Conditional operator
Action.Invoke(arg) : Can use Null-Conditional operator with C# 6

----------------
Action(arg) :

Action DoSomething = null;
if(DoSomething != null)
     DoSomething();


C#6 Action.Invoke(arg) :

Action DoSomething = null;
DoSomething?.Invoke();

Sep 14, 2018

adb logcat

adb logcat : '안드로이드 폰'에서 발생하는 모든 이벤트 표시
adb logcat -s Unity : (안드로이드 폰에 설치된) '유니티로 개발된 앱'에서 발생하는 유니티 이벤트 표시
adb logcat Unity:I Native:I *:S : 위와 동일하나 유니티 로그캣만 표시

----------------------------------------------
ERROR : more than one device

CMD Console

>> adb kill-server
>> adb start-server

Aug 24, 2018

info.plist - Privacy Permission Settings

<key>NSPhotoLibraryUsageDescription</key>
<string>This app requires access to the photo library.</string>
<key>NSMicrophoneUsageDescription</key>
<string>This app does not require access to the microphone.</string>
<key>NSCameraUsageDescription</key>
<string>This app requires access to the camera.</string>
Checkout this developer.apple.com link for full list of property list key references.
Full List:
Apple Music:
<key>NSAppleMusicUsageDescription</key>
<string>My description about why I need this capability</string>
Bluetooth:
<key>NSBluetoothPeripheralUsageDescription</key>  
<string>My description about why I need this capability</string>
Calendar:
<key>NSCalendarsUsageDescription</key>
<string>My description about why I need this capability</string>
Camera:
<key>NSCameraUsageDescription</key>
<string>My description about why I need this capability</string>
Contacts:
<key>NSContactsUsageDescription</key>
<string>My description about why I need this capability</string>
FaceID:
<key>NSFaceIDUsageDescription</key>
<string>My description about why I need this capability</string>
Health Share:
<key>NSHealthShareUsageDescription</key>
<string>My description about why I need this capability</string>
Health Update:
<key>NSHealthUpdateUsageDescription</key>
<string>My description about why I need this capability</string>
Home Kit:
<key>NSHomeKitUsageDescription</key>
<string>My description about why I need this capability</string>
Location:
<key>NSLocationUsageDescription</key>
<string>My description about why I need this capability</string>
Location (Always):
<key>NSLocationAlwaysUsageDescription</key>
<string>My description about why I need this capability</string>
Location (When in use):
<key>NSLocationWhenInUseUsageDescription</key>
<string>My description about why I need this capability</string>
Microphone:
<key>NSMicrophoneUsageDescription</key>
<string>My description about why I need this capability</string>
Motion (Accelerometer):
<key>NSMotionUsageDescription</key>
<string>My description about why I need this capability</string>
NFC (Near-field communication):
<key>NFCReaderUsageDescription</key>
<string>My description about why I need this capability</string>
Photo Library:
<key>NSPhotoLibraryUsageDescription</key>
<string>My description about why I need this capability</string>
Photo Library (Write-only access):
<key>NSPhotoLibraryAddUsageDescription</key>
<string>My description about why I need this capability</string>
Reminders:
<key>NSRemindersUsageDescription</key>
<string>My description about why I need this capability</string>
Siri:
<key>NSSiriUsageDescription</key>
<string>My description about why I need this capability</string>
Speech Recognition:
<key>NSSpeechRecognitionUsageDescription</key>
<string>My description about why I need this capability</string>

Mar 22, 2018

NGUI Label Text 개행(\n) Bug Fix

Fix UILabel.cs

< From >

   public string text
   {
      get
      {
         return mText;
      }
      set
      {
         if (string.IsNullOrEmpty(value))
         {
            if (!string.IsNullOrEmpty(mText))
               mText = "";
            hasChanged = true;
         }
         else if (mText != value)
         {
            mText = value;                                             <=== Here
            hasChanged = true;
         }
      }
   }


< To >

   public string text
   {
      get
      {
         return mText;
      }
      set
      {
         if (string.IsNullOrEmpty(value))
         {
            if (!string.IsNullOrEmpty(mText))
               mText = "";
            hasChanged = true;
         }
         else if (mText != value)
         {
            mText = value.Replace("\\n", "\n");                  <== Here
            hasChanged = true;
         }
      }
   }



Origin : http://www.tasharen.com/forum/index.php?topic=4114.msg20026#msg20026

Jan 30, 2018

[Unity] Copy Texture

Texture2D destTex = new Texture2D(sourceTex.width, sourceTex.height);
Color32[] pix = sourceTex.GetPixels32();
destTex.SetPixels32(pix);
destTex.Apply();

------------------------------------
- Using for deep copy.
- Don't use Color, use Color32 : It's much faster and uses 4X less memory.
- Recommend : Graphics.CopyTexture (If you use newest Unity ver)