master
chwan1 6 years ago
parent 76085d61ab
commit 1d80fd1b93
  1. 15
      .gitmodules
  2. 1
      Unity-19050-05-BallPool/Assets/Frozen/Script/SceneController.cs
  3. 10
      Unity-19050-05-BallPool/Assets/Grpc.meta
  4. 10
      Unity-19050-05-BallPool/Assets/Grpc/Plugins.meta
  5. BIN
      Unity-19050-05-BallPool/Assets/Grpc/Plugins/Google.Protobuf.dll
  6. 32
      Unity-19050-05-BallPool/Assets/Grpc/Plugins/Google.Protobuf.dll.meta
  7. BIN
      Unity-19050-05-BallPool/Assets/Grpc/Plugins/Grpc.Core.dll
  8. 30
      Unity-19050-05-BallPool/Assets/Grpc/Plugins/Grpc.Core.dll.meta
  9. BIN
      Unity-19050-05-BallPool/Assets/Grpc/Plugins/System.Interactive.Async.dll
  10. 30
      Unity-19050-05-BallPool/Assets/Grpc/Plugins/System.Interactive.Async.dll.meta
  11. 10
      Unity-19050-05-BallPool/Assets/Grpc/Plugins/runtimes.meta
  12. 10
      Unity-19050-05-BallPool/Assets/Grpc/Plugins/runtimes/win.meta
  13. 10
      Unity-19050-05-BallPool/Assets/Grpc/Plugins/runtimes/win/native.meta
  14. BIN
      Unity-19050-05-BallPool/Assets/Grpc/Plugins/runtimes/win/native/grpc_csharp_ext.dll
  15. 88
      Unity-19050-05-BallPool/Assets/Grpc/Plugins/runtimes/win/native/grpc_csharp_ext.dll.meta
  16. 10
      Unity-19050-05-BallPool/Assets/Grpc/Script.meta
  17. 10
      Unity-19050-05-BallPool/Assets/Grpc/Script/Editor.meta
  18. 61
      Unity-19050-05-BallPool/Assets/Grpc/Script/Editor/GrpcBuildPostProcess.cs
  19. 13
      Unity-19050-05-BallPool/Assets/Grpc/Script/Editor/GrpcBuildPostProcess.cs.meta
  20. 40
      Unity-19050-05-BallPool/Assets/Grpc/Script/GrpcNetworkDiscovery.cs
  21. 13
      Unity-19050-05-BallPool/Assets/Grpc/Script/GrpcNetworkDiscovery.cs.meta
  22. 10
      Unity-19050-05-BallPool/Assets/Material.meta
  23. 77
      Unity-19050-05-BallPool/Assets/Material/AtmosphereSkybox.mat
  24. 10
      Unity-19050-05-BallPool/Assets/Material/AtmosphereSkybox.mat.meta
  25. 10
      Unity-19050-05-BallPool/Assets/Shader.meta
  26. 177
      Unity-19050-05-BallPool/Assets/Shader/AtmosphereSkybox.shader
  27. 10
      Unity-19050-05-BallPool/Assets/Shader/AtmosphereSkybox.shader.meta
  28. 67
      Unity-19050-05-BallPool/Assets/UnityUtilityNativePlugin/Script/Singleton.cs
  29. 11
      Unity-19050-05-BallPool/Assets/UnityUtilityNativePlugin/Script/Singleton.cs.meta
  30. 9
      Unity-19050-05-BallPool/Assets/UnityUtils/Activity.meta
  31. 9
      Unity-19050-05-BallPool/Assets/UnityUtils/Activity/Activities.meta
  32. 35
      Unity-19050-05-BallPool/Assets/UnityUtils/Activity/Activities/TemplateActivity.cs
  33. 12
      Unity-19050-05-BallPool/Assets/UnityUtils/Activity/Activities/TemplateActivity.cs.meta
  34. 60
      Unity-19050-05-BallPool/Assets/UnityUtils/Activity/Activities/TimerActivity.cs
  35. 12
      Unity-19050-05-BallPool/Assets/UnityUtils/Activity/Activities/TimerActivity.cs.meta
  36. 53
      Unity-19050-05-BallPool/Assets/UnityUtils/Activity/Activity.cs
  37. 12
      Unity-19050-05-BallPool/Assets/UnityUtils/Activity/Activity.cs.meta
  38. 124
      Unity-19050-05-BallPool/Assets/UnityUtils/Activity/ActivityBase.cs
  39. 12
      Unity-19050-05-BallPool/Assets/UnityUtils/Activity/ActivityBase.cs.meta
  40. 98
      Unity-19050-05-BallPool/Assets/UnityUtils/Activity/ActivityManager.cs
  41. 12
      Unity-19050-05-BallPool/Assets/UnityUtils/Activity/ActivityManager.cs.meta
  42. 160
      Unity-19050-05-BallPool/Assets/UnityUtils/Activity/ActivityQueueManager.cs
  43. 12
      Unity-19050-05-BallPool/Assets/UnityUtils/Activity/ActivityQueueManager.cs.meta
  44. 143
      Unity-19050-05-BallPool/Assets/UnityUtils/Activity/CanvasActivity.cs
  45. 12
      Unity-19050-05-BallPool/Assets/UnityUtils/Activity/CanvasActivity.cs.meta
  46. 9
      Unity-19050-05-BallPool/Assets/UnityUtils/Activity/Canvases.meta
  47. 124
      Unity-19050-05-BallPool/Assets/UnityUtils/Activity/Canvases/MoviePlayerCanvas.cs
  48. 12
      Unity-19050-05-BallPool/Assets/UnityUtils/Activity/Canvases/MoviePlayerCanvas.cs.meta
  49. 9
      Unity-19050-05-BallPool/Assets/UnityUtils/Activity/Editor.meta
  50. 129
      Unity-19050-05-BallPool/Assets/UnityUtils/Activity/Editor/ActivityBaseEditor.cs
  51. 12
      Unity-19050-05-BallPool/Assets/UnityUtils/Activity/Editor/ActivityBaseEditor.cs.meta
  52. 87
      Unity-19050-05-BallPool/Assets/UnityUtils/Activity/Editor/ActivityEditor.cs
  53. 12
      Unity-19050-05-BallPool/Assets/UnityUtils/Activity/Editor/ActivityEditor.cs.meta
  54. 95
      Unity-19050-05-BallPool/Assets/UnityUtils/Activity/Editor/CanvasActivityEditor.cs
  55. 12
      Unity-19050-05-BallPool/Assets/UnityUtils/Activity/Editor/CanvasActivityEditor.cs.meta
  56. 107
      Unity-19050-05-BallPool/Assets/UnityUtils/Activity/Editor/MoviePlayerCanvasEditor.cs
  57. 12
      Unity-19050-05-BallPool/Assets/UnityUtils/Activity/Editor/MoviePlayerCanvasEditor.cs.meta
  58. 41
      Unity-19050-05-BallPool/Assets/UnityUtils/Activity/Editor/TimerActivityEditor.cs
  59. 12
      Unity-19050-05-BallPool/Assets/UnityUtils/Activity/Editor/TimerActivityEditor.cs.meta
  60. 9
      Unity-19050-05-BallPool/Assets/UnityUtils/Activity/Network.meta
  61. 22
      Unity-19050-05-BallPool/Assets/UnityUtils/Activity/Network/ActivityNetwork.cs
  62. 12
      Unity-19050-05-BallPool/Assets/UnityUtils/Activity/Network/ActivityNetwork.cs.meta
  63. 53
      Unity-19050-05-BallPool/Assets/UnityUtils/Activity/Network/ActivityQueueNetworkManager.cs
  64. 12
      Unity-19050-05-BallPool/Assets/UnityUtils/Activity/Network/ActivityQueueNetworkManager.cs.meta
  65. 9
      Unity-19050-05-BallPool/Assets/UnityUtils/Deployment.meta
  66. 9
      Unity-19050-05-BallPool/Assets/UnityUtils/Deployment/Editor.meta
  67. 9
      Unity-19050-05-BallPool/Assets/UnityUtils/Deployment/Editor/Resource.meta
  68. BIN
      Unity-19050-05-BallPool/Assets/UnityUtils/Deployment/Editor/Resource/icon_folder.png
  69. 68
      Unity-19050-05-BallPool/Assets/UnityUtils/Deployment/Editor/Resource/icon_folder.png.meta
  70. 1402
      Unity-19050-05-BallPool/Assets/UnityUtils/Deployment/Editor/Shipper.cs
  71. 12
      Unity-19050-05-BallPool/Assets/UnityUtils/Deployment/Editor/Shipper.cs.meta
  72. 17
      Unity-19050-05-BallPool/Assets/UnityUtils/Deployment/Editor/ucCustomScript.cs
  73. 12
      Unity-19050-05-BallPool/Assets/UnityUtils/Deployment/Editor/ucCustomScript.cs.meta
  74. 1179
      Unity-19050-05-BallPool/Assets/UnityUtils/Deployment/Editor/ucDeployUtils.cs
  75. 12
      Unity-19050-05-BallPool/Assets/UnityUtils/Deployment/Editor/ucDeployUtils.cs.meta
  76. 9
      Unity-19050-05-BallPool/Assets/UnityUtils/Font.meta
  77. BIN
      Unity-19050-05-BallPool/Assets/UnityUtils/Font/NotoMono-Regular.ttf
  78. 21
      Unity-19050-05-BallPool/Assets/UnityUtils/Font/NotoMono-Regular.ttf.meta
  79. BIN
      Unity-19050-05-BallPool/Assets/UnityUtils/Font/NotoSans-Bold.ttf
  80. 21
      Unity-19050-05-BallPool/Assets/UnityUtils/Font/NotoSans-Bold.ttf.meta
  81. BIN
      Unity-19050-05-BallPool/Assets/UnityUtils/Font/NotoSans-Regular.ttf
  82. 22
      Unity-19050-05-BallPool/Assets/UnityUtils/Font/NotoSans-Regular.ttf.meta
  83. 9
      Unity-19050-05-BallPool/Assets/UnityUtils/ImageEffect/PrettySkin.meta
  84. 9
      Unity-19050-05-BallPool/Assets/UnityUtils/ImageEffect/PrettySkin/2.0.meta
  85. 247
      Unity-19050-05-BallPool/Assets/UnityUtils/ImageEffect/PrettySkin/2.0/PrettySkin.shader
  86. 9
      Unity-19050-05-BallPool/Assets/UnityUtils/ImageEffect/PrettySkin/2.0/PrettySkin.shader.meta
  87. 91
      Unity-19050-05-BallPool/Assets/UnityUtils/ImageEffect/PrettySkin/PrettySkin.cs
  88. 13
      Unity-19050-05-BallPool/Assets/UnityUtils/ImageEffect/PrettySkin/PrettySkin.cs.meta
  89. 150
      Unity-19050-05-BallPool/Assets/UnityUtils/Misc/BigHelper.prefab
  90. 9
      Unity-19050-05-BallPool/Assets/UnityUtils/Misc/BigHelper.prefab.meta
  91. 172
      Unity-19050-05-BallPool/Assets/UnityUtils/Misc/DisplayControl.cs
  92. 12
      Unity-19050-05-BallPool/Assets/UnityUtils/Misc/DisplayControl.cs.meta
  93. 59
      Unity-19050-05-BallPool/Assets/UnityUtils/Misc/DrawTrail.cs
  94. 12
      Unity-19050-05-BallPool/Assets/UnityUtils/Misc/DrawTrail.cs.meta
  95. 9
      Unity-19050-05-BallPool/Assets/UnityUtils/Misc/Editor.meta
  96. 15
      Unity-19050-05-BallPool/Assets/UnityUtils/Misc/Editor/CreateBigHelper.cs
  97. 12
      Unity-19050-05-BallPool/Assets/UnityUtils/Misc/Editor/CreateBigHelper.cs.meta
  98. 97
      Unity-19050-05-BallPool/Assets/UnityUtils/Misc/Editor/HotKeyManagerEditor.cs
  99. 12
      Unity-19050-05-BallPool/Assets/UnityUtils/Misc/Editor/HotKeyManagerEditor.cs.meta
  100. 339
      Unity-19050-05-BallPool/Assets/UnityUtils/Misc/Editor/ProjectSettingChecker.cs
  101. Some files were not shown because too many files have changed in this diff Show More

15
.gitmodules vendored

@ -0,0 +1,15 @@
[submodule "Unity-19050-05-BallPool/Packages/com.ultracombos.chwan1"]
path = Unity-19050-05-BallPool/Packages/com.ultracombos.chwan1
url = https://github.com/UltraCombos/com.ultracombos.chwan1
[submodule "_Package/com.ultracombos.utility"]
path = _Package/com.ultracombos.utility
url = https://github.com/UltraCombos/com.ultracombos.utility
[submodule "_Package/com.ultracombos.generic-grpc"]
path = _Package/com.ultracombos.generic-grpc
url = https://github.com/UltraCombos/com.ultracombos.generic-grpc
[submodule "_Package/com.ultracombos.grpc"]
path = _Package/com.ultracombos.grpc
url = https://github.com/UltraCombos/com.ultracombos.grpc
[submodule "_Package/com.ultracombos.movie-player"]
path = _Package/com.ultracombos.movie-player
url = https://github.com/UltraCombos/com.ultracombos.movie-player

@ -2,6 +2,7 @@
using System.Collections.Generic; using System.Collections.Generic;
using UnityEngine; using UnityEngine;
using UnityEngine.Events; using UnityEngine.Events;
using UltraCombos.Utility;
namespace UltraCombos.Frozen namespace UltraCombos.Frozen
{ {

@ -1,10 +0,0 @@
fileFormatVersion: 2
guid: 6f6b5b47aa125be4aa9abe68fcf892ac
folderAsset: yes
timeCreated: 1525257095
licenseType: Free
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

@ -1,10 +0,0 @@
fileFormatVersion: 2
guid: d0bdbcbef356b804d884dd930d38ae8b
folderAsset: yes
timeCreated: 1518015320
licenseType: Free
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

@ -1,32 +0,0 @@
fileFormatVersion: 2
guid: 9504153c153a2624e9da519e92cf5542
timeCreated: 1518015297
licenseType: Free
PluginImporter:
externalObjects: {}
serializedVersion: 2
iconMap: {}
executionOrder: {}
isPreloaded: 0
isOverridable: 0
platformData:
- first:
Any:
second:
enabled: 1
settings: {}
- first:
Editor: Editor
second:
enabled: 0
settings:
DefaultValueInitialized: true
- first:
Windows Store Apps: WindowsStoreApps
second:
enabled: 0
settings:
CPU: AnyCPU
userData:
assetBundleName:
assetBundleVariant:

@ -1,30 +0,0 @@
fileFormatVersion: 2
guid: dbf1aea72c6b57649b8bfb462b093c00
PluginImporter:
externalObjects: {}
serializedVersion: 2
iconMap: {}
executionOrder: {}
isPreloaded: 0
isOverridable: 0
platformData:
- first:
Any:
second:
enabled: 1
settings: {}
- first:
Editor: Editor
second:
enabled: 0
settings:
DefaultValueInitialized: true
- first:
Windows Store Apps: WindowsStoreApps
second:
enabled: 0
settings:
CPU: AnyCPU
userData:
assetBundleName:
assetBundleVariant:

@ -1,30 +0,0 @@
fileFormatVersion: 2
guid: 495e81e1d71d1314bb494527410dccb0
PluginImporter:
externalObjects: {}
serializedVersion: 2
iconMap: {}
executionOrder: {}
isPreloaded: 0
isOverridable: 0
platformData:
- first:
Any:
second:
enabled: 1
settings: {}
- first:
Editor: Editor
second:
enabled: 0
settings:
DefaultValueInitialized: true
- first:
Windows Store Apps: WindowsStoreApps
second:
enabled: 0
settings:
CPU: AnyCPU
userData:
assetBundleName:
assetBundleVariant:

@ -1,10 +0,0 @@
fileFormatVersion: 2
guid: 1152917cc2daa11438d537680ad5f9d4
folderAsset: yes
timeCreated: 1518001842
licenseType: Free
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

@ -1,10 +0,0 @@
fileFormatVersion: 2
guid: dfc7c55cf51ee0b489c4b8f996fa221a
folderAsset: yes
timeCreated: 1517972283
licenseType: Free
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

@ -1,10 +0,0 @@
fileFormatVersion: 2
guid: 9d801733b0f4ed842a4226da283a9575
folderAsset: yes
timeCreated: 1518001790
licenseType: Free
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

@ -1,88 +0,0 @@
fileFormatVersion: 2
guid: c45a46b26d79cea4bbe365f12000d367
timeCreated: 1518001685
licenseType: Free
PluginImporter:
externalObjects: {}
serializedVersion: 2
iconMap: {}
executionOrder: {}
isPreloaded: 0
isOverridable: 0
platformData:
- first:
'': Any
second:
enabled: 0
settings:
Exclude Editor: 0
Exclude Linux: 0
Exclude Linux64: 0
Exclude LinuxUniversal: 0
Exclude OSXUniversal: 0
Exclude Win: 1
Exclude Win64: 0
- first:
Any:
second:
enabled: 1
settings: {}
- first:
Editor: Editor
second:
enabled: 1
settings:
CPU: x86_64
DefaultValueInitialized: true
OS: Windows
- first:
Facebook: Win
second:
enabled: 0
settings:
CPU: None
- first:
Facebook: Win64
second:
enabled: 0
settings:
CPU: AnyCPU
- first:
Standalone: Linux
second:
enabled: 1
settings:
CPU: x86
- first:
Standalone: Linux64
second:
enabled: 1
settings:
CPU: x86_64
- first:
Standalone: LinuxUniversal
second:
enabled: 1
settings:
CPU: AnyCPU
- first:
Standalone: OSXUniversal
second:
enabled: 1
settings:
CPU: AnyCPU
- first:
Standalone: Win
second:
enabled: 0
settings:
CPU: None
- first:
Standalone: Win64
second:
enabled: 1
settings:
CPU: AnyCPU
userData:
assetBundleName:
assetBundleVariant:

@ -1,10 +0,0 @@
fileFormatVersion: 2
guid: e61dbedb9243085418be7e788fc4b7d7
folderAsset: yes
timeCreated: 1518408269
licenseType: Free
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

@ -1,10 +0,0 @@
fileFormatVersion: 2
guid: 069493b6cf88a674b8ea05d8ce5ede27
folderAsset: yes
timeCreated: 1518162534
licenseType: Free
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

@ -1,61 +0,0 @@
using UnityEngine;
using UnityEditor;
using UnityEditor.Callbacks;
using System.IO;
using System.Collections;
#if UNITY_EDITOR_OSX
using UnityEditor.iOS.Xcode;
public class GrpcBuildPostProcess
{
[PostProcessBuild]
public static void OnPostprocessBuild(BuildTarget buildTarget, string path)
{
if (buildTarget == BuildTarget.iOS)
{
/* .xcodeproj/project.pbxproj */
//Get path to the PBX project
string projPath = path + "/Unity-iPhone.xcodeproj/project.pbxproj";
//Read the pbx project
PBXProject proj = new PBXProject();
proj.ReadFromString(File.ReadAllText(projPath));
//Get the build target
string target = proj.TargetGuidByName("Unity-iPhone");
//set ENABLE_BITCODE to false (this shouldn't be required in Unity 5.2+)
proj.SetBuildProperty(target, "ENABLE_BITCODE", "No");
//Add libz.dylib
string name = proj.AddFile("/usr/lib/libz.dylib", "Frameworks/libz.dylib", PBXSourceTree.Source);
proj.AddFileToBuild(target, name);
//proj.AddFrameworkToProject(target, "/usr/lib/libz.dylib", false);
//Write back out the PBX project
File.WriteAllText(projPath, proj.WriteToString());
/* Info.plist */
// Read the Info.plist file
string plistPath = path + "/Info.plist";
PlistDocument plist = new PlistDocument();
plist.ReadFromString(File.ReadAllText(plistPath));
// Get root of plist
PlistElementDict rootDict = plist.root;
//Set Requires full screen = true. This was needed only with Xcode 9.
rootDict.SetBoolean("UIRequiresFullScreen", true);
//Adding background modes for remote notification (For Push notifications - OneSignal)
var bgModes = rootDict.CreateArray("UIBackgroundModes");
bgModes.AddString("remote-notification");
//Write out the Info.plist file
plist.WriteToFile(plistPath);
}
}
}
#endif

@ -1,13 +0,0 @@
fileFormatVersion: 2
guid: 2c2dc5ab2aeed034fa54b99ce7684e86
timeCreated: 1518162353
licenseType: Free
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

@ -1,40 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.Networking;
namespace UltraCombos
{
public class GrpcNetworkDiscovery : NetworkDiscovery
{
public class Config
{
public string serviceName;
public string host;
public int port;
}
[System.Serializable]
public class MessageEvent : UnityEvent<Config>
{
}
public MessageEvent onReceivedBroadcast = new MessageEvent();
private void Start()
{
Initialize();
StartAsServer();
}
public override void OnReceivedBroadcast(string fromAddress, string data)
{
var config = JsonUtility.FromJson<Config>(data);
//config.host = System.Net.IPAddress.Parse(fromAddress).MapToIPv4().ToString();
onReceivedBroadcast.Invoke(config);
}
}
}

@ -1,13 +0,0 @@
fileFormatVersion: 2
guid: 2bd8ad095eeba3e4faab18e84e7fae76
timeCreated: 1518487708
licenseType: Free
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

@ -1,10 +0,0 @@
fileFormatVersion: 2
guid: 19e978c6f39530b4e92e1019a575a9fc
folderAsset: yes
timeCreated: 1519716951
licenseType: Free
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

@ -1,77 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name: AtmosphereSkybox
m_Shader: {fileID: 4800000, guid: b5783fccd952891499da0155fe5c3887, type: 3}
m_ShaderKeywords:
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- _BumpScale: 1
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _Exposure: 1
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _ZWrite: 1
m_Colors:
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}

@ -1,10 +0,0 @@
fileFormatVersion: 2
guid: d8da8ee0c05959f40b595cff10460db1
timeCreated: 1519716963
licenseType: Free
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

@ -1,10 +0,0 @@
fileFormatVersion: 2
guid: 416bc3573df8881418c8d0a173e73b9d
folderAsset: yes
timeCreated: 1519716915
licenseType: Free
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

@ -1,177 +0,0 @@
Shader "UltraCombos/Skybox/AtmosphereSkybox"
{
Properties
{
_Exposure("Exposure", Range(0,10)) = 1
}
SubShader
{
Tags{ "Queue" = "Background" "RenderType" = "Background" "PreviewType" = "Skybox" }
Cull Off ZWrite Off
Pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
struct v2f
{
float4 vertex : SV_POSITION;
float3 rayDir : TEXCOORD0;
};
v2f vert (appdata_base v)
{
v2f o;
UNITY_SETUP_INSTANCE_ID(v);
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
o.vertex = UnityObjectToClipPos(v.vertex);
float3 eyeRay = normalize(mul((float3x3)unity_ObjectToWorld, v.vertex.xyz));
o.rayDir = eyeRay;
return o;
}
float2 rsi(float3 r0, float3 rd, float sr) {
// ray-sphere intersection that assumes
// the sphere is centered at the origin.
// No intersection when result.x > result.y
float a = dot(rd, rd);
float b = 2.0 * dot(rd, r0);
float c = dot(r0, r0) - (sr * sr);
float d = (b*b) - 4.0*a*c;
if (d < 0.0) return float2(1e5, -1e5);
return float2(
(-b - sqrt(d)) / (2.0*a),
(-b + sqrt(d)) / (2.0*a)
);
}
float3 atmosphere(float3 r, float3 r0, float3 pSun, float iSun, float rPlanet, float rAtmos,
float3 kRlh, float kMie, float shRlh, float shMie, float g)
{
const int iSteps = 16;
const int jSteps = 8;
// Normalize the sun and view directions.
pSun = normalize(pSun);
r = normalize(r);
// Calculate the step size of the primary ray.
float2 p = rsi(r0, r, rAtmos);
if (p.x > p.y) return float3(0, 0, 0);
p.y = min(p.y, rsi(r0, r, rPlanet).x);
float iStepSize = (p.y - p.x) / float(iSteps);
// Initialize the primary ray time.
float iTime = 0.0;
// Initialize accumulators for Rayleigh and Mie scattering.
float3 totalRlh = float3(0, 0, 0);
float3 totalMie = float3(0, 0, 0);
// Initialize optical depth accumulators for the primary ray.
float iOdRlh = 0.0;
float iOdMie = 0.0;
// Calculate the Rayleigh and Mie phases.
float mu = dot(r, pSun);
float mumu = mu * mu;
float gg = g * g;
float pRlh = 3.0 / (16.0 * UNITY_PI) * (1.0 + mumu);
float pMie = 3.0 / (8.0 * UNITY_PI) * ((1.0 - gg) * (mumu + 1.0)) / (pow(1.0 + gg - 2.0 * mu * g, 1.5) * (2.0 + gg));
// Sample the primary ray.
for (int i = 0; i < iSteps; i++) {
// Calculate the primary ray sample position.
float3 iPos = r0 + r * (iTime + iStepSize * 0.5);
// Calculate the height of the sample.
float iHeight = length(iPos) - rPlanet;
// Calculate the optical depth of the Rayleigh and Mie scattering for this step.
float odStepRlh = exp(-iHeight / shRlh) * iStepSize;
float odStepMie = exp(-iHeight / shMie) * iStepSize;
// Accumulate optical depth.
iOdRlh += odStepRlh;
iOdMie += odStepMie;
// Calculate the step size of the secondary ray.
float jStepSize = rsi(iPos, pSun, rAtmos).y / float(jSteps);
// Initialize the secondary ray time.
float jTime = 0.0;
// Initialize optical depth accumulators for the secondary ray.
float jOdRlh = 0.0;
float jOdMie = 0.0;
// Sample the secondary ray.
for (int j = 0; j < jSteps; j++) {
// Calculate the secondary ray sample position.
float3 jPos = iPos + pSun * (jTime + jStepSize * 0.5);
// Calculate the height of the sample.
float jHeight = length(jPos) - rPlanet;
// Accumulate the optical depth.
jOdRlh += exp(-jHeight / shRlh) * jStepSize;
jOdMie += exp(-jHeight / shMie) * jStepSize;
// Increment the secondary ray time.
jTime += jStepSize;
}
// Calculate attenuation.
float3 attn = exp(-(kMie * (iOdMie + jOdMie) + kRlh * (iOdRlh + jOdRlh)));
// Accumulate scattering.
totalRlh += odStepRlh * attn;
totalMie += odStepMie * attn;
// Increment the primary ray time.
iTime += iStepSize;
}
// Calculate and return the final color.
return iSun * (pRlh * kRlh * totalRlh + pMie * kMie * totalMie);
}
half _Exposure;
fixed4 frag (v2f i) : SV_Target
{
half3 color = atmosphere(
normalize(i.rayDir), // normalized ray direction
float3(0,6372e3,0), // ray origin
_WorldSpaceLightPos0.xyz, // position of the sun
22.0, // intensity of the sun
6371e3, // radius of the planet in meters
6471e3, // radius of the atmosphere in meters
float3(5.5e-6, 13.0e-6, 22.4e-6), // Rayleigh scattering coefficient
21e-6, // Mie scattering coefficient
8e3, // Rayleigh scale height
1.2e3, // Mie scale height
0.758 // Mie preferred scattering direction
);
#if !defined(UNITY_COLORSPACE_GAMMA)
color.rgb = GammaToLinearSpace(color.rgb);
#endif
color = 1.0 - exp(-1.0 * color * _Exposure);
return half4(color, 1.0);
}
ENDCG
}
}
}

@ -1,10 +0,0 @@
fileFormatVersion: 2
guid: b5783fccd952891499da0155fe5c3887
timeCreated: 1513325172
licenseType: Free
ShaderImporter:
externalObjects: {}
defaultTextures: []
userData:
assetBundleName:
assetBundleVariant:

@ -1,67 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace UltraCombos
{
public abstract class Singleton<T> : MonoBehaviour where T : Component
{
#region Fields
/// <summary>
/// The instance.
/// </summary>
private static T instance;
#endregion
#region Properties
/// <summary>
/// Gets the instance.
/// </summary>
/// <value>The instance.</value>
public static T Instance
{
get
{
if (instance == null)
{
instance = FindObjectOfType<T>();
if (instance == null)
{
GameObject obj = new GameObject();
obj.name = typeof(T).Name;
instance = obj.AddComponent<T>();
}
}
return instance;
}
}
#endregion
#region Methods
/// <summary>
/// Use this for initialization.
/// </summary>
protected virtual void Awake()
{
if (instance == null)
{
instance = this as T;
DontDestroyOnLoad(gameObject);
}
else
{
Destroy(gameObject);
}
}
#endregion
}
}

@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: f2ea6802f1a44644b8529a25d10c7b69
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

@ -1,9 +0,0 @@
fileFormatVersion: 2
guid: cbc5c875c34d5274ba5053c90d8a7d31
folderAsset: yes
timeCreated: 1479726129
licenseType: Free
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

@ -1,9 +0,0 @@
fileFormatVersion: 2
guid: ee654c62631815f42acac2284e0fd6c5
folderAsset: yes
timeCreated: 1481189701
licenseType: Free
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

@ -1,35 +0,0 @@
using UnityEngine;
using System.Collections;
using uc;
public class TemplateActivity : Activity
{
private void Start()
{
}
protected override void OnEnter()
{
}
protected override void OnUpdate()
{
base.OnUpdate();
if (IsEntering == false)
return;
}
protected override void OnLeave()
{
base.OnLeave();
}
protected override void OnKilled()
{
base.OnKilled();
}
}

@ -1,12 +0,0 @@
fileFormatVersion: 2
guid: 95112bb8325859542bfb3e7a522aec89
timeCreated: 1479726276
licenseType: Free
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

@ -1,60 +0,0 @@
using UnityEngine;
using UnityEngine.Events;
namespace uc
{
public class TimerActivity : Activity
{
[AutoUI]
public float timerDuration = 5.0f;
public float setstamp { set { timer_stamp = value; } }
public float timer_stamp = 0.0f;
public UnityEvent onTimesUp = new UnityEvent();
public float remainingTime { get { return Mathf.Clamp(timerDuration - (Time.time - timer_stamp), 0, timerDuration); } }
private void Start()
{
}
protected override void OnEnter()
{
base.OnEnter();
timer_stamp = Time.time;
}
protected override void OnUpdate()
{
base.OnUpdate();
if (IsEntering == false)
return;
if (IsFinished)
return;
if (Time.time - timer_stamp > timerDuration)
{
onTimesUp.Invoke();
IsFinished = true;
}
}
protected override void OnLeave()
{
base.OnLeave();
}
protected override void OnKilled()
{
base.OnKilled();
}
}
}

@ -1,12 +0,0 @@
fileFormatVersion: 2
guid: de6bd8682b4213f44958b0f47a294a3a
timeCreated: 1479726276
licenseType: Free
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

@ -1,53 +0,0 @@
using UnityEngine;
using System.Collections.Generic;
using uc;
namespace uc
{
public class Activity : ActivityBase
{
public Activity source;
[SerializeField]
float idleTime = 0.0f;
public List<CanvasActivity> canvases = new List<CanvasActivity>();
public bool isIdle
{
get
{
if (idleTime == 0.0f)
return false;
float stamp = 0.0f;
foreach (var canvas in canvases)
stamp = Mathf.Max(stamp, canvas.ActiveStamp);
float dt = Time.time - stamp;
return (dt > idleTime);
}
}
protected override void OnEnter()
{
foreach (var canvas in canvases)
canvas.Enter();
}
protected override void OnUpdate()
{
}
protected override void OnLeave()
{
foreach (var canvas in canvases)
canvas.Leave();
}
protected override void OnKilled()
{
if (gameObject != null)
Destroy(gameObject);
}
}
}

@ -1,12 +0,0 @@
fileFormatVersion: 2
guid: 6ec255d83c4dd8340913dd710c8c07a4
timeCreated: 1479726276
licenseType: Free
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

@ -1,124 +0,0 @@
using System;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Events;
namespace uc
{
public enum ActivityEventType
{
Enter,
Finish,
Leave,
Killed
}
public class ActivityBase : MonoBehaviour
{
bool is_finished = false;
public bool IsFinished { set { is_finished = value; } get { return is_finished; } }
float activity_duration = 0.0f;
public float Duration { get { return activity_duration; } }
bool is_entering = false;
public bool IsEntering { get { return is_entering; } }
float stamp = 0.0f;
[Serializable]
public class Entry
{
public ActivityEventType eventID = ActivityEventType.Enter;
public UnityEvent callback = new UnityEvent();
}
[SerializeField]
private List<Entry> m_Delegates;
public List<Entry> triggers
{
get
{
if (m_Delegates == null)
m_Delegates = new List<Entry>();
return m_Delegates;
}
set { m_Delegates = value; }
}
protected virtual void OnEnter() { }
public void Enter()
{
gameObject.SetActive(true);
is_entering = true;
is_finished = false;
stamp = Time.time;
activity_duration = 0.0f;
OnEnter();
OnEnterEvent();
}
protected virtual void OnUpdate() { }
private void Update()
{
activity_duration = Time.time - stamp;
OnUpdate();
}
protected virtual void OnLeave() { }
public void Leave()
{
is_entering = false;
is_finished = true;
stamp = Time.time;
OnLeave();
OnLeaveEvent();
}
protected virtual void OnFinish() { }
public void Finish()
{
OnFinish();
OnFinishEvent();
}
protected virtual void OnKilled() { }
public void Killed()
{
Leave();
OnKilled();
OnKillEvent();
}
private void Execute(ActivityEventType id)
{
for (int i = 0, imax = triggers.Count; i < imax; ++i)
{
var ent = triggers[i];
if (ent.eventID == id && ent.callback != null)
ent.callback.Invoke();
}
}
private void OnEnterEvent()
{
Execute(ActivityEventType.Enter);
}
private void OnFinishEvent()
{
Execute(ActivityEventType.Finish);
}
private void OnLeaveEvent()
{
Execute(ActivityEventType.Leave);
}
private void OnKillEvent()
{
Execute(ActivityEventType.Killed);
}
}
}

@ -1,12 +0,0 @@
fileFormatVersion: 2
guid: 2af6d95f21a93714e944186ff0e29f68
timeCreated: 1481096454
licenseType: Free
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

@ -1,98 +0,0 @@
using UnityEngine;
using UnityEngine.UI;
using System;
using System.Collections;
using System.Collections.Generic;
using UltraCombos;
namespace uc
{
public class ActivityManager : MonoBehaviour
{
[Header("General")]
public Activity initialActivity;
Stack<Activity> activity_history = new Stack<Activity>();
public virtual Activity current_activity { get { return (activity_history.Count > 0) ? activity_history.Peek() : null; } }
public bool isIdleMode = false;
protected const string module = "<color=maroon>Activity Manager</color>";
void Start()
{
PushActivity(initialActivity);
Misc.Verbose(module, string.Format("init with activity: {0}", current_activity.name));
}
void Update()
{
CheckIdle();
}
protected void CheckIdle()
{
if (current_activity != null && isIdleMode)
{
if (current_activity.isIdle)
PopToInitial();
}
}
#region PUSH
public virtual void PushActivity(Activity newActivity)
{
if (newActivity == null)
return;
if (current_activity != null)
{
current_activity.Leave();
}
activity_history.Push(Clone(newActivity));
current_activity.Enter();
}
#endregion
#region POP
public virtual void PopToActivity(Activity targetActivity)
{
if (targetActivity != null)
{
while (current_activity.source != targetActivity && activity_history.Count > 1)
{
current_activity.Killed();
activity_history.Pop();
}
}
else
{
if (activity_history.Count > 1)
{
current_activity.Killed();
activity_history.Pop();
}
}
current_activity.Enter();
}
public virtual void PopActivity()
{
PopToActivity(null);
}
public virtual void PopToInitial()
{
PopToActivity(initialActivity);
}
#endregion
Activity Clone(Activity newActivity)
{
var obj = Instantiate(newActivity.gameObject);
obj.transform.SetParent(transform, false);
Activity act = obj.GetComponent<Activity>();
act.source = newActivity;
return act;
}
}
}

@ -1,12 +0,0 @@
fileFormatVersion: 2
guid: 149c2da9ee7879344a5f42865c6e2d71
timeCreated: 1479726276
licenseType: Free
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

@ -1,160 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using UltraCombos;
using UnityEngine;
using UnityEngine.EventSystems;
namespace uc
{
public class ActivityQueueManager : ActivityManager
{
[Header("Queue Manager")]
public bool initializeOnStart = false;
public bool isPresentMode;
public bool circularMode = false;
public Transform activityQueue;
List<Activity> activity_list = null;
int current_index = -1;
public int CurrentIndex { get { return current_index; } }
public override Activity current_activity
{
get
{
if (activity_list != null)
{
if (activity_list.Count > 0)
{
if (current_index >= 0 && current_index < activity_list.Count)
return activity_list[current_index];
}
}
return null;
}
}
public void Initialize()
{
activity_list = new List<Activity>();
if (activityQueue != null)
{
var acts = activityQueue.GetComponentsInChildren<Activity>();
activity_list.AddRange(acts);
initialActivity = activity_list[0];
GenerateActivityQueueFile();
}
var canvases = Resources.FindObjectsOfTypeAll(typeof(CanvasActivity)) as CanvasActivity[];
var canvas_activities = new List<CanvasActivity>();
canvas_activities.AddRange(canvases);
foreach (var act in activity_list)
{
if (act.canvases.Count > 0)
continue;
act.canvases = canvas_activities.FindAll(
delegate (CanvasActivity ca) {
return (ca.gameObject.name == act.gameObject.name);
});
}
Misc.Verbose(module, string.Format("has {0} activities", activity_list.Count));
}
private void Start()
{
if (initializeOnStart)
Initialize();
SetActivityByIndex(0);
Misc.Verbose(module, string.Format("init with activity: {0}", current_activity.name));
}
private void Update()
{
CheckIdle();
if (isPresentMode)
{
if (Input.GetKeyDown(KeyCode.PageDown))
{
NextActivity();
}
else if (Input.GetKeyDown(KeyCode.PageUp))
{
PreviousActivity();
}
else if (Input.GetKeyDown(KeyCode.O))
{
PopToInitial();
}
}
gameObject.name = "Activity Manager: " + current_activity.name;
}
public void NextActivity()
{
if (current_index + 1 >= activity_list.Count && circularMode)
{
SetActivityByIndex(0);
}
else
{
SetActivityByIndex(current_index + 1);
}
}
public void PreviousActivity()
{
if (current_index - 1 <0 && circularMode)
{
SetActivityByIndex(activity_list.Count -1);
}
else
SetActivityByIndex(current_index - 1);
}
public void SetActivityByIndex(int index)
{
if (activity_list == null || index < 0 || index >= activity_list.Count)
{
//Debug.LogWarningFormat("Cannot set page {0} in ActivityManager", index);
return;
}
if (current_index == index)
return;
if (current_activity != null)
{
current_activity.Leave();
}
current_index = index;
current_activity.Enter();
}
public override void PopToInitial()
{
SetActivityByIndex(0);
}
public override void PushActivity(Activity newActivity) { }
public override void PopToActivity(Activity targetActivity) { }
public override void PopActivity() { }
class ActivityListObject { public List<string> list = new List<string>(); }
void GenerateActivityQueueFile()
{
var obj = new ActivityListObject();
for (int i = 0; i < activity_list.Count; i++)
obj.list.Add(string.Format("{0:D2} - {1}", i, activity_list[i].name));
string json = JsonUtility.ToJson(obj, true);
var root = System.IO.Directory.GetParent(Application.dataPath);
string path = System.IO.Path.Combine(root.FullName, gameObject.name + " Queue.json");
System.IO.File.WriteAllText(path, json);
}
}
}

@ -1,12 +0,0 @@
fileFormatVersion: 2
guid: 707b124915eb1634d9391e9dbdcad225
timeCreated: 1490674521
licenseType: Free
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

@ -1,143 +0,0 @@
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
namespace uc
{
[RequireComponent(typeof(CanvasGroup))]
public class CanvasActivity : ActivityBase
{
[SerializeField]
protected float fadeTime = 0.5f;
[SerializeField]
protected float fadeOutTime = 0.5f;
[SerializeField]
float touchDelayTime = 0.0f;
public List<RectTransform> sharedComponents = new List<RectTransform>();
CanvasGroup canvas_group;
List<ActivityBase> canvas_activities = new List<ActivityBase>();
bool CanvasGroupProperty { set { canvas_group.interactable = canvas_group.blocksRaycasts = value; } }
float CanvasGroupAlpha { set { canvas_group.alpha = value; } get { return canvas_group.alpha; } }
float active_stamp;
public float ActiveStamp { get { return active_stamp; } }
private void Awake()
{
var acts = transform.GetComponentsInChildren<ActivityBase>(true);
canvas_activities.AddRange(acts);
canvas_activities.Remove(this);
// search all ui component to refresh stamp
foreach (var button in GetComponentsInChildren<Button>(true))
button.onClick.AddListener(() => RefreshActiveStamp());
foreach (var toggle in GetComponentsInChildren<Toggle>(true))
toggle.onValueChanged.AddListener((bool isOn) => RefreshActiveStamp());
foreach (var slider in GetComponentsInChildren<Slider>(true))
slider.onValueChanged.AddListener((float value) => RefreshActiveStamp());
canvas_group = GetComponent<CanvasGroup>();
}
protected override void OnEnter()
{
Debug.Log(gameObject.name + " OnEnter");
CanvasGroupAlpha = (fadeTime > 0.0f) ? 0.0f : 1.0f;
foreach (var act in canvas_activities)
act.Enter();
CanvasGroupProperty = false;
foreach (var rt in sharedComponents)
{
if (rt == null)
continue;
rt.gameObject.SetActive(true);
UpdateComponentsAlpha(rt, 0.0f, 1.0f);
}
RefreshActiveStamp();
}
protected override void OnUpdate()
{
if (IsEntering)
{
UpdateAlpha();
if (Duration > touchDelayTime && CanvasGroupAlpha == 1.0f)
{
CanvasGroupProperty = true;
foreach (var rt in sharedComponents)
UpdateComponentsAlpha(rt, IsEntering ? 1.0f : 0.0f, 0.05f);
}
}
else
{
CanvasGroupProperty = false;
UpdateAlpha();
if (CanvasGroupAlpha == 0.0f)
{
gameObject.SetActive(false);
}
}
}
void UpdateAlpha()
{
float fade = IsEntering ? fadeTime : fadeOutTime;
float alpha = Mathf.Clamp01(Duration / fade);
if (IsEntering == false) alpha = 1.0f - alpha;
alpha = Mathf.Pow(alpha, 1.0f / 2.2f);
CanvasGroupAlpha = alpha;
}
protected override void OnLeave()
{
CanvasGroupProperty = false;
foreach (var act in canvas_activities)
act.Leave();
foreach (var rt in sharedComponents)
{
if (rt != null)
rt.gameObject.SetActive(false);
}
}
private void UpdateComponentsAlpha(RectTransform rt, float alpha, float lerp)
{
//System.Func<Color, float, float, Color> lerpAlpha = (c, a, t) =>
//{ return new Color(c.r, c.g, c.b, Mathf.Lerp(c.a, a, t)); };
if (rt == null)
return;
CanvasGroup g = rt.GetComponent<CanvasGroup>();
if (g != null)
{
float a = Mathf.Lerp(g.alpha, alpha, lerp);
g.alpha = a;
bool b = a == 0 ? false : true;
g.interactable = b;
g.blocksRaycasts = b;
return;
}
foreach (var graphic in rt.GetComponentsInChildren<Graphic>(true))
{
var c = graphic.color;
graphic.color = new Color(c.r, c.g, c.b, Mathf.Lerp(c.a, alpha, lerp));
}
}
private void RefreshActiveStamp()
{
active_stamp = Time.time;
}
}
}

@ -1,12 +0,0 @@
fileFormatVersion: 2
guid: 81bf6598ff375a24aab89f19e4c5e5ed
timeCreated: 1481106576
licenseType: Free
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

@ -1,9 +0,0 @@
fileFormatVersion: 2
guid: 808c9797ed120ef4aab6a44342490e55
folderAsset: yes
timeCreated: 1481186459
licenseType: Free
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

@ -1,124 +0,0 @@
using System.Collections.Generic;
using uc;
using UnityEngine;
using UnityEngine.UI;
[RequireComponent(typeof(RawImage))]
public class MoviePlayerCanvas : ActivityBase
{
//public List<string> filenames;
public List<DShowClip> filenames;
public bool loop;
RawImage raw_image;
Texture origin_tex;
List<MoviePlayerBase> movies;
int index = -1;
MoviePlayerBase current_movie { get { return (index < 0) ? null : movies[index]; } }
void Awake()
{
raw_image = GetComponent<RawImage>();
origin_tex = raw_image.mainTexture;
movies = new List<MoviePlayerBase>();
}
void Start()
{
if (filenames.Count == 0 && origin_tex != null)
{
//filenames.Add(origin_tex.name + ".mov");
}
foreach (var fs in filenames)
{
movies.Add(MoviePlayerPool.Singleton.GetMoviePlayer(fs, false));
}
if (movies.Count > 0)
{
var m = movies[movies.Count - 1];
m.Loop = loop;
}
}
private void OnEnable()
{
index = -1;
}
protected override void OnEnter()
{
}
protected override void OnUpdate()
{
if (IsEntering == false)
return;
if (movies.Count > 0)
{
if (index < 0)
{
index = 0;
if (current_movie != null)
{
current_movie.Play();
current_movie.Frame = 0;
}
}
else
{
if (current_movie != null)
{
bool is_stopped = current_movie.IsPaused;
if (is_stopped)
{
if (index < movies.Count - 1)
{
//print("next movie");
movies[++index].Play();
is_stopped = false;
}
}
raw_image.texture = current_movie.IsLoaded ? current_movie.Texture : origin_tex;
if (current_movie.Loop == false)
IsFinished = is_stopped && (index == movies.Count - 1);
}
}
if (IsFinished)
{
Finish();
}
}
}
void OnDisable()
{
if (movies.Count > 0)
{
if (index > -1)
{
foreach (var m in movies)
{
m.Stop();
m.Frame = 0;
}
}
}
}
protected override void OnLeave()
{
}
protected override void OnKilled()
{
}
}

@ -1,12 +0,0 @@
fileFormatVersion: 2
guid: d312349c60efdb046ac9f6efa9151f5d
timeCreated: 1490681060
licenseType: Free
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

@ -1,9 +0,0 @@
fileFormatVersion: 2
guid: 35aa2bbc729f57b449e831032801aed8
folderAsset: yes
timeCreated: 1490949849
licenseType: Free
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

@ -1,129 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;
namespace uc
{
[CustomEditor(typeof(ActivityBase), false)]
public class ActivityBaseEditor : Editor
{
SerializedProperty m_DelegatesProperty;
GUIContent m_IconToolbarMinus;
GUIContent m_EventIDName;
GUIContent[] m_EventTypes;
GUIContent m_AddButonContent;
protected virtual void OnEnable()
{
m_DelegatesProperty = serializedObject.FindProperty("m_Delegates");
m_AddButonContent = new GUIContent("Add New Event Type");
m_EventIDName = new GUIContent("");
// Have to create a copy since otherwise the tooltip will be overwritten.
m_IconToolbarMinus = new GUIContent(EditorGUIUtility.IconContent("Toolbar Minus"));
m_IconToolbarMinus.tooltip = "Remove all events in this list.";
string[] eventNames = System.Enum.GetNames(typeof(ActivityEventType));
m_EventTypes = new GUIContent[eventNames.Length];
for (int i = 0; i < eventNames.Length; ++i)
{
m_EventTypes[i] = new GUIContent(eventNames[i]);
}
}
public override void OnInspectorGUI()
{
serializedObject.Update();
DrawEventInspectorGUI();
}
public void DrawEventInspectorGUI()
{
int toBeRemovedEntry = -1;
EditorGUILayout.Space();
Vector2 removeButtonSize = GUIStyle.none.CalcSize(m_IconToolbarMinus);
for (int i = 0; i < m_DelegatesProperty.arraySize; ++i)
{
SerializedProperty delegateProperty = m_DelegatesProperty.GetArrayElementAtIndex(i);
SerializedProperty eventProperty = delegateProperty.FindPropertyRelative("eventID");
SerializedProperty callbacksProperty = delegateProperty.FindPropertyRelative("callback");
m_EventIDName.text = eventProperty.enumDisplayNames[eventProperty.enumValueIndex];
EditorGUILayout.PropertyField(callbacksProperty, m_EventIDName);
Rect callbackRect = GUILayoutUtility.GetLastRect();
Rect removeButtonPos = new Rect(callbackRect.xMax - removeButtonSize.x - 8, callbackRect.y + 1, removeButtonSize.x, removeButtonSize.y);
if (GUI.Button(removeButtonPos, m_IconToolbarMinus, GUIStyle.none))
{
toBeRemovedEntry = i;
}
EditorGUILayout.Space();
}
if (toBeRemovedEntry > -1)
{
RemoveEntry(toBeRemovedEntry);
}
Rect btPosition = GUILayoutUtility.GetRect(m_AddButonContent, GUI.skin.button);
const float addButonWidth = 200f;
btPosition.x = btPosition.x + (btPosition.width - addButonWidth) / 2;
btPosition.width = addButonWidth;
if (GUI.Button(btPosition, m_AddButonContent))
{
ShowAddTriggermenu();
}
serializedObject.ApplyModifiedProperties();
}
private void RemoveEntry(int toBeRemovedEntry)
{
m_DelegatesProperty.DeleteArrayElementAtIndex(toBeRemovedEntry);
}
void ShowAddTriggermenu()
{
// Now create the menu, add items and show it
GenericMenu menu = new GenericMenu();
for (int i = 0; i < m_EventTypes.Length; ++i)
{
bool active = true;
// Check if we already have a Entry for the current eventType, if so, disable it
for (int p = 0; p < m_DelegatesProperty.arraySize; ++p)
{
SerializedProperty delegateEntry = m_DelegatesProperty.GetArrayElementAtIndex(p);
SerializedProperty eventProperty = delegateEntry.FindPropertyRelative("eventID");
if (eventProperty.enumValueIndex == i)
{
active = false;
}
}
if (active)
menu.AddItem(m_EventTypes[i], false, OnAddNewSelected, i);
else
menu.AddDisabledItem(m_EventTypes[i]);
}
menu.ShowAsContext();
Event.current.Use();
}
private void OnAddNewSelected(object index)
{
int selected = (int)index;
m_DelegatesProperty.arraySize += 1;
SerializedProperty delegateEntry = m_DelegatesProperty.GetArrayElementAtIndex(m_DelegatesProperty.arraySize - 1);
SerializedProperty eventProperty = delegateEntry.FindPropertyRelative("eventID");
eventProperty.enumValueIndex = selected;
serializedObject.ApplyModifiedProperties();
}
}
}

@ -1,12 +0,0 @@
fileFormatVersion: 2
guid: 246da7ab7b4f0144bbe5dfc4c23ddf3f
timeCreated: 1490946498
licenseType: Free
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

@ -1,87 +0,0 @@
using UnityEditor;
using UnityEditorInternal;
using UnityEngine;
namespace uc
{
[CanEditMultipleObjects, CustomEditor(typeof(Activity), false)]
public class ActivityEditor : ActivityBaseEditor
{
SerializedProperty m_IdleTimeProperty;
GUIContent m_IdelTimeLabel;
SerializedProperty m_CanvasActivitiesProperty;
ReorderableList m_CanvasActivitiesList;
Activity activity;
protected override void OnEnable()
{
base.OnEnable();
activity = target as Activity;
m_IdleTimeProperty = serializedObject.FindProperty("idleTime");
m_IdelTimeLabel = new GUIContent("Idle Time", "activity maximum idle time (only work in ActivityManager idle mode)");
m_CanvasActivitiesProperty = serializedObject.FindProperty("canvases");
m_CanvasActivitiesList = new ReorderableList(serializedObject, m_CanvasActivitiesProperty, true, true, true, true);
m_CanvasActivitiesList.drawHeaderCallback = rect =>
{
EditorGUI.LabelField(rect, "Owned Canvas Activities");
};
m_CanvasActivitiesList.drawElementCallback = (rect, index, active, focused) =>
{
SerializedProperty prefab = m_CanvasActivitiesProperty.GetArrayElementAtIndex(index);
CanvasActivity go = (CanvasActivity)prefab.objectReferenceValue;
GUIContent label;
if (go == null)
{
label = new GUIContent("Empty", "Drag a GameObject here");
}
else
{
label = new GUIContent(go.name);
}
float shrink = 0.2f;
rect.y += rect.height * shrink * 0.4f;
rect.height *= (1.0f - shrink);
var newCanvas = (CanvasActivity)EditorGUI.ObjectField(rect, label, go, typeof(CanvasActivity), true);
if (newCanvas == null)
{
activity.canvases[index] = null;
EditorUtility.SetDirty(target);
return;
}
if (activity.canvases[index] != newCanvas)
{
activity.canvases[index] = newCanvas;
EditorUtility.SetDirty(target);
}
};
}
public override void OnInspectorGUI()
{
EditorGUILayout.Space();
serializedObject.Update();
DrawActivityInspectorGUI();
DrawEventInspectorGUI();
serializedObject.ApplyModifiedProperties();
}
public void DrawActivityInspectorGUI()
{
EditorGUILayout.PropertyField(m_IdleTimeProperty, m_IdelTimeLabel);
EditorGUILayout.Space();
m_CanvasActivitiesList.DoLayoutList();
}
}
}

@ -1,12 +0,0 @@
fileFormatVersion: 2
guid: 8bdee996f0d4aa54680d3dfa6cf062eb
timeCreated: 1490951746
licenseType: Free
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

@ -1,95 +0,0 @@
using UnityEditor;
using UnityEditorInternal;
using UnityEngine;
namespace uc
{
[CanEditMultipleObjects, CustomEditor(typeof(CanvasActivity), false)]
public class CanvasActivityEditor : ActivityBaseEditor
{
SerializedProperty m_FadeTimeProperty;
GUIContent m_FadeTimeLabel;
SerializedProperty m_FadeOutTimeProperty;
SerializedProperty m_TouchDelayProperty;
GUIContent m_TouchDelayLabel;
SerializedProperty m_GlobalItemsProperty;
ReorderableList m_GlobalItemsList;
CanvasActivity canvas_activity;
protected override void OnEnable()
{
base.OnEnable();
canvas_activity = target as CanvasActivity;
m_FadeTimeProperty = serializedObject.FindProperty("fadeTime");
m_FadeTimeLabel = new GUIContent("Fading Time", "time to fade canvas (second)");
m_FadeOutTimeProperty = serializedObject.FindProperty("fadeOutTime");
m_TouchDelayProperty = serializedObject.FindProperty("touchDelayTime");
m_TouchDelayLabel = new GUIContent("Delay Time", "delay time to interactable");
m_GlobalItemsProperty = serializedObject.FindProperty("sharedComponents");
m_GlobalItemsList = new ReorderableList(serializedObject, m_GlobalItemsProperty, true, true, true, true);
m_GlobalItemsList.drawHeaderCallback = rect =>
{
EditorGUI.LabelField(rect, "Shared Components");
};
m_GlobalItemsList.drawElementCallback = (rect, index, active, focused) =>
{
SerializedProperty prefab = m_GlobalItemsProperty.GetArrayElementAtIndex(index);
RectTransform go = (RectTransform)prefab.objectReferenceValue;
GUIContent label;
if (go == null)
{
label = new GUIContent("Empty", "Drag a GameObject here");
}
else
{
label = new GUIContent(go.name);
}
float shrink = 0.2f;
rect.y += rect.height * shrink * 0.4f;
rect.height *= (1.0f - shrink);
var newGameObject = (RectTransform)EditorGUI.ObjectField(rect, label, go, typeof(RectTransform), true);
if (newGameObject == null)
{
canvas_activity.sharedComponents[index] = null;
EditorUtility.SetDirty(target);
return;
}
if (canvas_activity.sharedComponents[index] != newGameObject)
{
canvas_activity.sharedComponents[index] = newGameObject;
EditorUtility.SetDirty(target);
}
};
}
public override void OnInspectorGUI()
{
EditorGUILayout.Space();
serializedObject.Update();
EditorGUILayout.PropertyField(m_FadeTimeProperty, m_FadeTimeLabel);
EditorGUILayout.PropertyField(m_FadeOutTimeProperty);
EditorGUILayout.PropertyField(m_TouchDelayProperty, m_TouchDelayLabel);
EditorGUILayout.Space();
m_GlobalItemsList.DoLayoutList();
serializedObject.ApplyModifiedProperties();
DrawEventInspectorGUI();
}
}
}

@ -1,12 +0,0 @@
fileFormatVersion: 2
guid: 5f6b40884aed06645be3294d2aec642a
timeCreated: 1490952264
licenseType: Free
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

@ -1,107 +0,0 @@
using UnityEditor;
using UnityEditorInternal;
using UnityEngine;
namespace uc
{
[CanEditMultipleObjects, CustomEditor(typeof(MoviePlayerCanvas), false)]
public class MoviePlayerCanvasEditor : ActivityBaseEditor
{
SerializedProperty m_LoopProperty;
GUIContent m_LoopLabel;
SerializedProperty m_FilenamesProperty;
ReorderableList m_FilenamesList;
MoviePlayerCanvas canvas;
protected override void OnEnable()
{
base.OnEnable();
canvas = target as MoviePlayerCanvas;
m_LoopProperty = serializedObject.FindProperty("loop");
m_LoopLabel = new GUIContent("Loop", "loop movie");
m_FilenamesProperty = serializedObject.FindProperty("filenames");
m_FilenamesList = new ReorderableList(serializedObject, m_FilenamesProperty, true, true, true, true);
m_FilenamesList.drawHeaderCallback = rect =>
{
EditorGUI.LabelField(rect, "Movie Filenames");
};
m_FilenamesList.drawElementCallback = (rect, index, active, focused) =>
{
#if true
SerializedProperty prefab = m_FilenamesProperty.GetArrayElementAtIndex(index);
DShowClip go = (DShowClip)prefab.objectReferenceValue;
GUIContent label;
if (go == null)
{
label = new GUIContent("Empty", "Drag a GameObject here");
}
else
{
label = new GUIContent(go.name);
}
float shrink = 0.2f;
rect.y += rect.height * shrink * 0.4f;
rect.height *= (1.0f - shrink);
var newGameObject = (DShowClip)EditorGUI.ObjectField(rect, label, go, typeof(DShowClip), true);
if (newGameObject == null)
{
canvas.filenames[index] = null;
EditorUtility.SetDirty(target);
return;
}
if (canvas.filenames[index] != newGameObject)
{
canvas.filenames[index] = newGameObject;
EditorUtility.SetDirty(target);
}
#else
SerializedProperty prefab = m_FilenamesProperty.GetArrayElementAtIndex(index);
string go = prefab.stringValue;
float shrink = 0.2f;
rect.y += rect.height * shrink * 0.4f;
rect.height *= (1.0f - shrink);
go = EditorGUI.TextField(rect, go);
if (string.IsNullOrEmpty(go))
{
canvas.filenames[index] = "";
EditorUtility.SetDirty(target);
return;
}
if (canvas.filenames[index] != go)
{
canvas.filenames[index] = go;
EditorUtility.SetDirty(target);
}
#endif
};
}
public override void OnInspectorGUI()
{
EditorGUILayout.Space();
serializedObject.Update();
EditorGUILayout.PropertyField(m_LoopProperty, m_LoopLabel);
EditorGUILayout.Space();
m_FilenamesList.DoLayoutList();
serializedObject.ApplyModifiedProperties();
DrawEventInspectorGUI();
}
}
}

@ -1,12 +0,0 @@
fileFormatVersion: 2
guid: a24b6b858e38f844f85838f9950c96f8
timeCreated: 1491019921
licenseType: Free
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

@ -1,41 +0,0 @@
using UnityEditor;
using UnityEngine;
namespace uc
{
[CanEditMultipleObjects, CustomEditor(typeof(TimerActivity), false)]
public class TimerActivityEditor : ActivityEditor
{
SerializedProperty m_TimerDurationProperty;
GUIContent m_TimerDurationLabel;
SerializedProperty m_OnTimesupProperty;
GUIContent m_OnTimesupLabel;
protected override void OnEnable()
{
base.OnEnable();
m_TimerDurationProperty = serializedObject.FindProperty("timerDuration");
m_TimerDurationLabel = new GUIContent("Timer Duration", "timer duration");
m_OnTimesupProperty = serializedObject.FindProperty("onTimesUp");
m_OnTimesupLabel = new GUIContent("On Timesup", "on timesup event");
}
public override void OnInspectorGUI()
{
EditorGUILayout.Space();
serializedObject.Update();
EditorGUILayout.PropertyField(m_TimerDurationProperty, m_TimerDurationLabel);
EditorGUILayout.PropertyField(m_OnTimesupProperty, m_OnTimesupLabel);
DrawActivityInspectorGUI();
DrawEventInspectorGUI();
serializedObject.ApplyModifiedProperties();
}
}
}

@ -1,12 +0,0 @@
fileFormatVersion: 2
guid: dc10791d168051d46bbff0ff36aa064d
timeCreated: 1491030363
licenseType: Free
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

@ -1,9 +0,0 @@
fileFormatVersion: 2
guid: f9a5140df8dee29478306dde5b5f4c68
folderAsset: yes
timeCreated: 1490674520
licenseType: Free
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

@ -1,22 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Networking;
public class ActivityNetwork : NetworkBehaviour
{
[SyncVar, SerializeField]
int queueIndex = 0;
public int QueueIndex
{
get
{
return queueIndex;
}
set
{
if (isServer) queueIndex = value;
}
}
}

@ -1,12 +0,0 @@
fileFormatVersion: 2
guid: 94437ea32a09a604ca18d59cb1e46b96
timeCreated: 1490670646
licenseType: Free
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

@ -1,53 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Networking;
namespace uc
{
public class ActivityQueueNetworkManager : NetworkManagerControl
{
[Header("Activity Queue")]
public ActivityQueueManager queueManager = null;
void SharedUpdate()
{
if (queueManager == null)
{
queueManager = FindObjectOfType<ActivityQueueManager>();
}
}
protected override void ClientUpdate()
{
//print("ClientUpdate");
SharedUpdate();
if (queueManager)
{
var identity = GetLocalPlayer();
if (identity != null)
{
var an = identity.GetComponent<ActivityNetwork>();
queueManager.SetActivityByIndex(an.QueueIndex);
}
}
}
protected override void ServerUpdate()
{
//print("ServerUpdate");
SharedUpdate();
if (queueManager)
{
foreach (var id in NetworkServer.objects.Keys)
{
var identity = NetworkServer.objects[id];
var an = identity.GetComponent<ActivityNetwork>();
an.QueueIndex = queueManager.CurrentIndex;
}
}
}
}
}

@ -1,12 +0,0 @@
fileFormatVersion: 2
guid: d937d384d2e434846892dd7821d51bc1
timeCreated: 1490626174
licenseType: Free
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

@ -1,9 +0,0 @@
fileFormatVersion: 2
guid: 64c66b819a1ee3145bb10cd094a071a2
folderAsset: yes
timeCreated: 1483947328
licenseType: Free
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

@ -1,9 +0,0 @@
fileFormatVersion: 2
guid: 351763623cb22194995f70a657be9543
folderAsset: yes
timeCreated: 1483947328
licenseType: Free
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

@ -1,9 +0,0 @@
fileFormatVersion: 2
guid: 7fdf5791c83c51940af74e6564228616
folderAsset: yes
timeCreated: 1497450698
licenseType: Pro
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

@ -1,68 +0,0 @@
fileFormatVersion: 2
guid: a523c59247f21484baaf16828acb94ef
timeCreated: 1497450717
licenseType: Pro
TextureImporter:
fileIDToRecycleName: {}
serializedVersion: 4
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
filterMode: -1
aniso: -1
mipBias: -1
wrapMode: -1
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spritePixelsToUnits: 100
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
spritePackingTag:
userData:
assetBundleName:
assetBundleVariant:

@ -1,12 +0,0 @@
fileFormatVersion: 2
guid: 5a1e7e42df661c2448b7963c3dd609ed
timeCreated: 1497423530
licenseType: Pro
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

@ -1,17 +0,0 @@
using UnityEditor;
public class PreBuildScript
{
public static void Execute()
{
//UnityEngine.Debug.Log("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ PreBuildScript @@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
}
}
public class PostBuildScript
{
public static void Execute(BuildTarget target, string pathToBuiltProject)
{
//UnityEngine.Debug.Log("OOOOOOOOOOOOOOOOOOOOOOOOOOOOO PosBuildScript OOOOOOOOOOOOOOOOOOOOOOOOOOOOO");
}
}

@ -1,12 +0,0 @@
fileFormatVersion: 2
guid: 7b63d725acaca884c98dafb7ed9a230e
timeCreated: 1483947333
licenseType: Free
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

@ -1,12 +0,0 @@
fileFormatVersion: 2
guid: ebb14c988a25efe4f837faf4d048a7be
timeCreated: 1483947335
licenseType: Free
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

@ -1,9 +0,0 @@
fileFormatVersion: 2
guid: c57759bd688d52e4ca9fe32284318df2
folderAsset: yes
timeCreated: 1483673463
licenseType: Free
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

@ -1,21 +0,0 @@
fileFormatVersion: 2
guid: dd37194bb610ee849a8ad93d919d78a5
timeCreated: 1490343088
licenseType: Free
TrueTypeFontImporter:
serializedVersion: 4
fontSize: 14
forceTextureCase: -2
characterSpacing: 0
characterPadding: 1
includeFontData: 1
fontName: Noto Mono
fontNames:
- Noto Mono
fallbackFontReferences: []
customCharacters:
fontRenderingMode: 0
ascentCalculationMode: 1
userData:
assetBundleName:
assetBundleVariant:

@ -1,21 +0,0 @@
fileFormatVersion: 2
guid: 23b28a72785e5ec4f9904a899e9c7c4c
timeCreated: 1483673463
licenseType: Free
TrueTypeFontImporter:
serializedVersion: 4
fontSize: 16
forceTextureCase: -2
characterSpacing: 0
characterPadding: 1
includeFontData: 1
fontName: Noto Sans
fontNames:
- Noto Sans
fallbackFontReferences: []
customCharacters:
fontRenderingMode: 0
ascentCalculationMode: 1
userData:
assetBundleName:
assetBundleVariant:

@ -1,22 +0,0 @@
fileFormatVersion: 2
guid: 26d8e9f24d0797c45b118a6f9d473463
timeCreated: 1483673463
licenseType: Free
TrueTypeFontImporter:
serializedVersion: 4
fontSize: 16
forceTextureCase: -2
characterSpacing: 0
characterPadding: 1
includeFontData: 1
fontName: Noto Sans
fontNames:
- Noto Sans
fallbackFontReferences:
- {fileID: 12800000, guid: 23b28a72785e5ec4f9904a899e9c7c4c, type: 3}
customCharacters:
fontRenderingMode: 0
ascentCalculationMode: 1
userData:
assetBundleName:
assetBundleVariant:

@ -1,9 +0,0 @@
fileFormatVersion: 2
guid: 65b999bfd191a794785b35e6dbea25bb
folderAsset: yes
timeCreated: 1484638965
licenseType: Free
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

@ -1,9 +0,0 @@
fileFormatVersion: 2
guid: 179c72294bf43e043b57b2714b5d08f6
folderAsset: yes
timeCreated: 1486957418
licenseType: Pro
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

@ -1,247 +0,0 @@
Shader "Unlit/PrettySkin 2.0"
{
Properties
{
_Bilateral("Texture", 2D) = "white" {}
_Canny("Texture", 2D) = "white" {}
_MainTex ("Texture", 2D) = "white" {}
_smoothDegree("smoothDegree" ,Range(0,1)) = 0.5
_Log("Log",Range(0,3)) = 0
_BSIGMA("BSIGMA",Range(0,1)) = 0.1
_SIGMA("SIGMA",Range(3,15)) = 7
}
SubShader
{
Tags { "RenderType"="Opaque" }
LOD 100
Pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
// make fog work
#pragma multi_compile_fog
#include "UnityCG.cginc"
struct appdata
{
float4 vertex : POSITION;
float2 uv : TEXCOORD0;
};
struct v2f
{
float2 uv : TEXCOORD0;
UNITY_FOG_COORDS(1)
float4 vertex : SV_POSITION;
};
sampler2D _MainTex;
float4 _MainTex_TexelSize;
float4 _MainTex_ST;
float _SIGMA;
float _BSIGMA;
#define MSIZE 15
v2f vert(appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.uv = TRANSFORM_TEX(v.uv, _MainTex);
UNITY_TRANSFER_FOG(o,o.vertex);
return o;
}
float normpdf(in float x, in float sigma)
{
return 0.39894*exp(-0.5*x*x / (sigma*sigma)) / sigma;
}
float3 normpdf3v3(in float3 origin, in float sigma)
{
float x = 0.39894*exp(-0.5*origin.x*origin.x / (sigma*sigma)) / sigma;
float y = 0.39894*exp(-0.5*origin.y*origin.y / (sigma*sigma)) / sigma;
float z = 0.39894*exp(-0.5*origin.z*origin.z / (sigma*sigma)) / sigma;
return float3(x, y, z);
}
float normpdf3(in float3 v, in float sigma)
{
return 0.39894*exp(-0.5*dot(v, v) / (sigma*sigma)) / sigma;
}
fixed4 frag(v2f i) : SV_Target
{
#if UNITY_UV_STARTS_AT_TOP
if (_MainTex_TexelSize.y < 0)
i.uv.y = 1 - i.uv.y;
#endif
// sample the texture
fixed4 col = tex2D(_MainTex, i.uv);
float3 final_colour = float3(0.0, 0.0, 0.0);
int kSize = (MSIZE - 1) / 2;
float kernel[MSIZE];
float Z = 0.0;
for (int j = 0; j <= kSize; ++j)
{
kernel[kSize + j] = kernel[kSize - j] = normpdf(float(j), _SIGMA);
}
float3 cc;
float factor;
float2 UV = i.uv;
for (int i = -kSize; i <= kSize; ++i)
{
for (int j = -kSize; j <= kSize; ++j)
{
float2 newUV = (float2(UV)) + (float2(float(i), float(j)) / _MainTex_TexelSize.zw);
cc = tex2D(_MainTex, newUV).rgb;
factor = normpdf3(cc - col, _BSIGMA) * kernel[kSize + j] * kernel[kSize + i];
Z += factor;
final_colour += factor*cc;
}
}
// apply fog
//UNITY_APPLY_FOG(i.fogCoord, col);
return float4(final_colour / (Z), 1.0);
}
ENDCG
}
Pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
// make fog work
#pragma multi_compile_fog
#include "UnityCG.cginc"
#define iResolution _ScreenParams
struct appdata
{
float4 vertex : POSITION;
float2 uv : TEXCOORD0;
};
struct v2f
{
float2 uv : TEXCOORD0;
UNITY_FOG_COORDS(1)
float4 vertex : SV_POSITION;
};
sampler2D _MainTex;
float4 _MainTex_ST;
float4 _MainTex_TexelSize;
v2f vert(appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.uv = TRANSFORM_TEX(v.uv, _MainTex);
UNITY_TRANSFER_FOG(o,o.vertex);
return o;
}
fixed4 frag(v2f i) : SV_Target
{
#if UNITY_UV_STARTS_AT_TOP
if (_MainTex_TexelSize.y < 0)
i.uv.y = 1 - i.uv.y;
#endif
// sample the texture
fixed4 col = tex2D(_MainTex, i.uv);
float2 uv = i.uv;
float4 a = tex2D(_MainTex, float2(uv.x - 1.0 / iResolution.x, uv.y + 1.0 / iResolution.y));
float4 b = tex2D(_MainTex, float2(uv.x, uv.y + 1.0 / iResolution.y));
float4 c = tex2D(_MainTex, float2(uv.x + 1.0 / iResolution.x, uv.y + 1.0 / iResolution.y));
float4 d = tex2D(_MainTex, float2(uv.x - 1.0 / iResolution.x, uv.y));
float4 e = tex2D(_MainTex, float2(uv.x + 1.0 / iResolution.x, uv.y));
float4 f = tex2D(_MainTex, float2(uv.x - 1.0 / iResolution.x, uv.y - 1.0 / iResolution.y));
float4 g = tex2D(_MainTex, float2(uv.x, uv.y - 1.0 / iResolution.y));
float4 h = tex2D(_MainTex, float2(uv.x + 1.0 / iResolution.x, uv.y - 1.0 / iResolution.y));
float4 sobelX = a*(-1.0) + c*(1.0) + d*(-2.0) + e*(2.0) + f*(-1.0) + h*(1.0);
float4 sobelY = a*(-1.0) + b*(-2.0) + c*(-1.0) + f*(1.0) + g*(2.0) + h*(1.0);
col = sobelX + sobelY;
// apply fog
UNITY_APPLY_FOG(i.fogCoord, col);
return col;
}
ENDCG
}
Pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
// make fog work
#pragma multi_compile_fog
#include "UnityCG.cginc"
struct appdata
{
float4 vertex : POSITION;
float2 uv : TEXCOORD0;
};
struct v2f
{
float2 uv : TEXCOORD0;
UNITY_FOG_COORDS(1)
float4 vertex : SV_POSITION;
};
sampler2D _MainTex;
sampler2D _Bilateral;
sampler2D _Canny;
float4 _MainTex_ST;
float _smoothDegree;
float _Log;
v2f vert (appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.uv = TRANSFORM_TEX(v.uv, _MainTex);
UNITY_TRANSFER_FOG(o,o.vertex);
return o;
}
fixed4 frag (v2f i) : SV_Target
{
// sample the texture
fixed4 source = tex2D(_MainTex, i.uv);
fixed4 bilateral = tex2D(_Bilateral, i.uv);
fixed4 canny = tex2D(_Canny, i.uv);
float4 smooth;
float r = source.r;
float g = source.g;
float b = source.b;
//if (canny.r < 0.2 && r> 0.3725 && g > 0.1568 && b > 0.0784 && r > b && (max(max(r, g), b) - min(min(r, g), b) > 0.0588 && abs(r - g) > 0.0588))
if(canny.r < 0.2 && r> 0.3725 && g > 0.1568 && b > 0.0784 && r > b && (max(max(r, g), b) - min(min(r, g), b) > 0.0588 && abs(r - g) > 0.0588))
{
smooth = (1.0 - _smoothDegree) * (source - bilateral) + bilateral;
}
else
{
smooth = source;
}
smooth.r = log(1.0 + (0.2+ _Log) * smooth.r) / log(1.2+ _Log);
smooth.g = log(1.0 + (0.2+ _Log) * smooth.g) / log(1.2+ _Log);
smooth.b = log(1.0 + (0.2+ _Log) * smooth.b) / log(1.2+ _Log);
//smooth = (1.0 - _smoothDegree) * (source - bilateral) + bilateral;
// apply fog
//UNITY_APPLY_FOG(i.fogCoord, smooth);
return smooth;
}
ENDCG
}
}
}

@ -1,9 +0,0 @@
fileFormatVersion: 2
guid: c19cd9ce6c2e8544398f0e77749a3974
timeCreated: 1486957418
licenseType: Pro
ShaderImporter:
defaultTextures: []
userData:
assetBundleName:
assetBundleVariant:

@ -1,91 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using UC;
using UnityEngine;
[ExecuteInEditMode]
[RequireComponent(typeof(Camera))]
public class PrettySkin : MonoBehaviour {
[AutoUI]
[SerializeField]
[Range(0.001f,1)]
private float Bsigma;
[AutoUI]
[SerializeField]
[Range(0, 15)]
private float Sigma;
[AutoUI]
[SerializeField]
[Range(0,3)]
private float log;
[AutoUI]
[SerializeField]
[Range(0,1)]
private float smoothDegree;
[SerializeField]
private Shader m_PrettyShader;
public Shader PrettyShader
{
get
{
if (m_PrettyShader == null)
m_PrettyShader = Shader.Find("Unlit/PrettySkin 2.0");
return m_PrettyShader;
}
}
[SerializeField]
private Material m_PrettyMaterial;
public Material PrettyMaterial
{
get
{
if (m_PrettyMaterial == null)
m_PrettyMaterial = ImageEffectHelper.CheckShaderAndCreateMaterial(PrettyShader);
return m_PrettyMaterial;
}
}
private void OnEnable()
{
GetComponent<Camera>().depthTextureMode = DepthTextureMode.DepthNormals;
}
private void OnDisable()
{
}
private void DestroyMaterial(Material mat)
{
if (mat != null)
DestroyImmediate(mat);
mat = null;
}
private void OnRenderImage(RenderTexture source, RenderTexture destination)
{
RenderTexture rt1 = RenderTexture.GetTemporary(source.width, source.height);
RenderTexture rt2 = RenderTexture.GetTemporary(source.width, source.height);
PrettyMaterial.SetFloat("_BSIGMA", Bsigma);
PrettyMaterial.SetFloat("_SIGMA", Sigma);
Graphics.Blit(source, rt1, PrettyMaterial, 0);
Graphics.Blit(source, rt2, PrettyMaterial, 1);
PrettyMaterial.SetFloat("_smoothDegree", smoothDegree);
PrettyMaterial.SetFloat("_Log", log);
PrettyMaterial.SetTexture("_Bilateral",rt1);
PrettyMaterial.SetTexture("_Canny", rt2);
Graphics.Blit(source, destination, PrettyMaterial, 2);
RenderTexture.ReleaseTemporary(rt1);
RenderTexture.ReleaseTemporary(rt2);
}
}

@ -1,13 +0,0 @@
fileFormatVersion: 2
guid: 8104c9527b3508a4fb573a33902df2fc
timeCreated: 1484639477
licenseType: Free
MonoImporter:
serializedVersion: 2
defaultReferences:
- m_Shader: {fileID: 4800000, guid: e43ca745eb0a75c4aa13b6f251d54071, type: 3}
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

@ -1,150 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1001 &100100000
Prefab:
m_ObjectHideFlags: 1
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications: []
m_RemovedComponents: []
m_ParentPrefab: {fileID: 0}
m_RootGameObject: {fileID: 1424437803216390}
m_IsPrefabParent: 1
--- !u!1 &1424437803216390
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
serializedVersion: 5
m_Component:
- component: {fileID: 4443635060613428}
- component: {fileID: 114802992808559142}
- component: {fileID: 114728758959715684}
- component: {fileID: 114138388109636548}
- component: {fileID: 114732591483414756}
- component: {fileID: 114187194994170604}
m_Layer: 0
m_Name: BigHelper
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4443635060613428
Transform:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1424437803216390}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &114138388109636548
MonoBehaviour:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1424437803216390}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 7163373e23f1df24791192fe7e6535c1, type: 3}
m_Name:
m_EditorClassIdentifier:
dataRoot: PixelSaver
--- !u!114 &114187194994170604
MonoBehaviour:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1424437803216390}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 8a1a9f829fed3c247b27d64c556da6e0, type: 3}
m_Name:
m_EditorClassIdentifier:
hotkeys:
- enable: 1
m_CallState: 0
_keyCode: 27
_keyDownEvent:
m_PersistentCalls:
m_Calls:
- m_Target: {fileID: 114187194994170604}
m_MethodName: ExitApplication
m_Mode: 1
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
m_TypeName: UnityEngine.Events.UnityEvent, UnityEngine, Version=0.0.0.0, Culture=neutral,
PublicKeyToken=null
- enable: 1
m_CallState: 2
_keyCode: 293
_keyDownEvent:
m_PersistentCalls:
m_Calls:
- m_Target: {fileID: 114732591483414756}
m_MethodName: enableFPS
m_Mode: 1
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
m_TypeName: UnityEngine.Events.UnityEvent, UnityEngine, Version=0.0.0.0, Culture=neutral,
PublicKeyToken=null
--- !u!114 &114728758959715684
MonoBehaviour:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1424437803216390}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 8a1a9f829fed3c247b27d64c556da6e0, type: 3}
m_Name:
m_EditorClassIdentifier:
hotkeys: []
--- !u!114 &114732591483414756
MonoBehaviour:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1424437803216390}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e62bbdabeba2884a811ff6914d1a343, type: 3}
m_Name:
m_EditorClassIdentifier:
duration: 3
color: {r: 1, g: 1, b: 1, a: 1}
updateInterval: 0.5
--- !u!114 &114802992808559142
MonoBehaviour:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1424437803216390}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 022338fc4c683e749b2da8ff495f4b99, type: 3}
m_Name:
m_EditorClassIdentifier:
hideCursorInStandalone: 1
fullScreen: 1
preferredRefreshRate: 60
resolutions:
- {x: 1920, y: 1080}

@ -1,9 +0,0 @@
fileFormatVersion: 2
guid: 65310f6d57df29045b6fa71ac0ceb175
timeCreated: 1496649702
licenseType: Free
NativeFormatImporter:
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:

@ -1,172 +0,0 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Reflection;
using UltraCombos;
#if UNITY_EDITOR
using UnityEditor;
#endif
using UnityEngine;
[ExecuteInEditMode]
public class DisplayControl : MonoBehaviour
{
[AutoUI]
public bool hideCursorInStandalone = true;
public bool fullScreen = true;
public int preferredRefreshRate = 60;
public List<Vector2> resolutions = new List<Vector2>();
object gameViewSizesInstance;
MethodInfo getGroup;
public enum GameViewSizeType
{
AspectRatio, FixedResolution
}
void Start()
{
#if UNITY_EDITOR
var sizesType = typeof(Editor).Assembly.GetType("UnityEditor.GameViewSizes");
var singleType = typeof(ScriptableSingleton<>).MakeGenericType(sizesType);
var instanceProp = singleType.GetProperty("instance");
getGroup = sizesType.GetMethod("GetGroup");
gameViewSizesInstance = instanceProp.GetValue(null, null);
getGroup = sizesType.GetMethod("GetGroup");
gameViewSizesInstance = instanceProp.GetValue(null, null);
#endif
int num = Mathf.Min(resolutions.Count, Display.displays.Length);
int width, height;
if (num == 1)
{
width = (int)resolutions[0].x;
height = (int)resolutions[0].y;
string input;
if (Misc.GetCommandLineArgument("-width", out input))
{
int res;
if (int.TryParse(input, out res))
{
Misc.Verbose("Display Control", "get arg -width " + res);
width = res;
}
}
if (Misc.GetCommandLineArgument("-height", out input))
{
int res;
if (int.TryParse(input, out res))
{
Misc.Verbose("Display Control", "get arg -height " + res);
height = res;
}
}
if (Misc.GetCommandLineArgument("-fullscreen", out input))
{
bool res;
if (bool.TryParse(input, out res))
{
Misc.Verbose("Display Control", "get arg -fullscreen " + res);
fullScreen = res;
}
}
Screen.SetResolution(width, height, fullScreen, preferredRefreshRate);
#if UNITY_EDITOR
SetGameViewResolution(width, height);
/*
UnityEditorInternal.InternalEditorUtility.RepaintAllViews();
System.Reflection.Assembly assembly = typeof(UnityEditor.EditorWindow).Assembly;
System.Type type = assembly.GetType("UnityEditor.GameView");
EditorWindow gameview = EditorWindow.GetWindow(type);
EditorApplication.Step();
EditorApplication.update();
*/
#endif
}
else if (num > 1)
{
for (int i = 0; i < num; i++)
{
var display = Display.displays[i];
width = (int)resolutions[i].x;
height = (int)resolutions[i].y;
display.Activate(width, height, preferredRefreshRate);
display.SetParams(width, height, 0, 0);
}
}
if (Application.isEditor == false)
Cursor.visible = !hideCursorInStandalone;
}
#if UNITY_EDITOR
void SetGameViewResolution(int width,int height)
{
int idx = FindSize(GameViewSizeGroupType.Standalone, width, height);
if(idx == -1)
{
AddCustomSize(GameViewSizeType.AspectRatio, GameViewSizeGroupType.Standalone, width, height, "");
}
SetSize(idx);
}
public int FindSize(GameViewSizeGroupType sizeGroupType, int width, int height)
{
// goal:
// GameViewSizes group = gameViewSizesInstance.GetGroup(sizeGroupType);
// int sizesCount = group.GetBuiltinCount() + group.GetCustomCount();
// iterate through the sizes via group.GetGameViewSize(int index)
var group = GetGroup(sizeGroupType);
var groupType = group.GetType();
var getBuiltinCount = groupType.GetMethod("GetBuiltinCount");
var getCustomCount = groupType.GetMethod("GetCustomCount");
int sizesCount = (int)getBuiltinCount.Invoke(group, null) + (int)getCustomCount.Invoke(group, null);
var getGameViewSize = groupType.GetMethod("GetGameViewSize");
var gvsType = getGameViewSize.ReturnType;
var widthProp = gvsType.GetProperty("width");
var heightProp = gvsType.GetProperty("height");
var indexValue = new object[1];
for (int i = 0; i < sizesCount; i++)
{
indexValue[0] = i;
var size = getGameViewSize.Invoke(group, indexValue);
int sizeWidth = (int)widthProp.GetValue(size, null);
int sizeHeight = (int)heightProp.GetValue(size, null);
if (sizeWidth == width && sizeHeight == height)
return i;
}
return -1;
}
public void AddCustomSize(GameViewSizeType viewSizeType, GameViewSizeGroupType sizeGroupType, int width, int height, string text)
{
// GameViewSizes group = gameViewSizesInstance.GetGroup(sizeGroupTyge);
// group.AddCustomSize(new GameViewSize(viewSizeType, width, height, text);
var group = GetGroup(sizeGroupType);
var addCustomSize = getGroup.ReturnType.GetMethod("AddCustomSize"); // or group.GetType().
var gvsType = typeof(Editor).Assembly.GetType("UnityEditor.GameViewSize");
var ctor = gvsType.GetConstructor(new Type[] { typeof(int), typeof(int), typeof(int), typeof(string) });
var newSize = ctor.Invoke(new object[] { (int)viewSizeType, width, height, text });
addCustomSize.Invoke(group, new object[] { newSize });
}
object GetGroup(GameViewSizeGroupType type)
{
return getGroup.Invoke(gameViewSizesInstance, new object[] { (int)type });
}
public void SetSize(int index)
{
var gvWndType = typeof(Editor).Assembly.GetType("UnityEditor.GameView");
var selectedSizeIndexProp = gvWndType.GetProperty("selectedSizeIndex",
BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
var gvWnd = EditorWindow.GetWindow(gvWndType);
selectedSizeIndexProp.SetValue(gvWnd, index, null);
}
#endif
}

@ -1,12 +0,0 @@
fileFormatVersion: 2
guid: 022338fc4c683e749b2da8ff495f4b99
timeCreated: 1487312217
licenseType: Free
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

@ -1,59 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class DrawTrail : MonoBehaviour {
[Header("Trail")]
public float framerate = 30.0f;
public float duration = 30.0f;
List<Vector3> trail_positions;
float stamp;
// Use this for initialization
void Start () {
trail_positions = new List<Vector3>();
stamp = Time.time;
}
// Update is called once per frame
void Update () {
float dt = Time.time - stamp;
if (dt > 1.0f / framerate)
{
stamp = Time.time;
trail_positions.Add(transform.position);
int max_count = (int)(duration * framerate);
while (trail_positions.Count > max_count)
trail_positions.RemoveAt(0);
}
}
void OnDrawGizmos()
{
Color hex_color;
// Trail
if (trail_positions == null)
return;
if (ColorUtility.TryParseHtmlString("#F29F05", out hex_color))
{
Gizmos.color = hex_color;
if (trail_positions.Count > 1)
{
for (int i = 1; i < trail_positions.Count; i++)
{
float alpha = (float)i / trail_positions.Count;
Gizmos.color = new Color(hex_color.r, hex_color.g, hex_color.b, alpha);
Gizmos.DrawLine(trail_positions[i], trail_positions[i - 1]);
}
}
Gizmos.DrawSphere(transform.position, 0.1f);
Gizmos.color = Color.red;
Gizmos.DrawLine(transform.position, transform.position + transform.right);
Gizmos.color = Color.green;
Gizmos.DrawLine(transform.position, transform.position + transform.up);
Gizmos.color = Color.blue;
Gizmos.DrawLine(transform.position, transform.position + transform.forward);
}
}
}

@ -1,12 +0,0 @@
fileFormatVersion: 2
guid: 66fc59cb023bd5b4c80af559b0a76432
timeCreated: 1493003782
licenseType: Free
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

@ -1,9 +0,0 @@
fileFormatVersion: 2
guid: ec6504a91c6ab1449a88da48235edcbf
folderAsset: yes
timeCreated: 1496472676
licenseType: Free
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

@ -1,15 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
public static class CreateBigHelper {
[MenuItem("GameObject/UC/Big Helper", false, 0)]
private static void CreateUceventSystem()
{
GameObject temp = AssetDatabase.LoadAssetAtPath("Assets/UC/Misc/BigHelper.prefab", typeof(GameObject)) as GameObject;
if (PrefabUtility.GetPrefabType(temp) == PrefabType.Prefab || PrefabUtility.GetPrefabType(temp) == PrefabType.ModelPrefab)
PrefabUtility.InstantiatePrefab(temp);
}
}

@ -1,12 +0,0 @@
fileFormatVersion: 2
guid: 106fcccb5ef92844ebe59fcef387b21c
timeCreated: 1503554703
licenseType: Free
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

@ -1,97 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
namespace uc
{
[CustomEditor(typeof(HotKeyManager))]
public class HotKeyManagerEditor : Editor
{
SerializedProperty hotkeysProperty;
//private Editor _editor;
//HotKeyManager hotkeyMamager;
GUIContent m_IconToolbarMinus;
GUIContent m_AddButonContent;
//int index = 0;
protected void OnEnable()
{
if (target == null)
return;
//hotkeyMamager = target as HotKeyManager;
hotkeysProperty = serializedObject.FindProperty("hotkeys");
m_AddButonContent = new GUIContent("Add New Key");
m_IconToolbarMinus = new GUIContent(EditorGUIUtility.IconContent("Toolbar Minus"));
//m_IconToolbarMinus = new GUIContent("remove");
m_IconToolbarMinus.tooltip = "Remove this key.";
}
public override void OnInspectorGUI()
{
if (target == null)
return;
serializedObject.Update();
int toBeRemovedEntry = -1;
EditorGUILayout.Space();
Vector2 removeButtonSize = GUIStyle.none.CalcSize(m_IconToolbarMinus);
for (int i = 0; i < hotkeysProperty.arraySize; ++i)
{
SerializedProperty delegateProperty = hotkeysProperty.GetArrayElementAtIndex(i);
SerializedProperty enableProperty = delegateProperty.FindPropertyRelative("enable");
SerializedProperty m_CallStateProperty = delegateProperty.FindPropertyRelative("m_CallState");
SerializedProperty _keyCodeProperty = delegateProperty.FindPropertyRelative("_keyCode");
SerializedProperty _keyDownEvent = delegateProperty.FindPropertyRelative("_keyDownEvent");
EditorGUILayout.BeginHorizontal();
enableProperty.boolValue = EditorGUILayout.ToggleLeft(enableProperty.displayName, enableProperty.boolValue);
Rect callbackRect = GUILayoutUtility.GetRect(removeButtonSize.y, removeButtonSize.y, GUI.skin.button);
if (GUI.Button(callbackRect, m_IconToolbarMinus, GUI.skin.button))
{
toBeRemovedEntry = i;
}
EditorGUILayout.EndHorizontal();
EditorGUI.BeginDisabledGroup(enableProperty.boolValue == false);
{
EditorGUILayout.BeginHorizontal();
EditorGUILayout.PropertyField(m_CallStateProperty, new GUIContent(""));
EditorGUILayout.PropertyField(_keyCodeProperty, new GUIContent(""));
EditorGUILayout.EndHorizontal();
EditorGUILayout.PropertyField(_keyDownEvent);
}
EditorGUI.EndDisabledGroup();
EditorGUILayout.Space();
}
if (toBeRemovedEntry > -1)
{
RemoveEntry(toBeRemovedEntry);
}
Rect btPosition = GUILayoutUtility.GetRect(m_AddButonContent, GUI.skin.button);
const float addButonWidth = 200f;
btPosition.x = btPosition.x + (btPosition.width - addButonWidth) / 2;
btPosition.width = addButonWidth;
if (GUI.Button(btPosition, m_AddButonContent))
{
hotkeysProperty.arraySize += 1;
}
serializedObject.ApplyModifiedProperties();
}
private void RemoveEntry(int toBeRemovedEntry)
{
hotkeysProperty.DeleteArrayElementAtIndex(toBeRemovedEntry);
}
}
}

@ -1,12 +0,0 @@
fileFormatVersion: 2
guid: 7a64b07148764d045ad02734334fbc94
timeCreated: 1496735086
licenseType: Free
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

@ -1,339 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;
namespace uc
{
[InitializeOnLoad]
class StartUpProjectSettingChecker
{
static StartUpProjectSettingChecker()
{
if (ProjectSettingChecker.IsSkipAtStartUp())
{
return;
}
EditorApplication.delayCall += DelayStartUp;
}
public static void DelayStartUp()
{
ProjectSettingChecker.StartUp();
}
}
public class ProjectSettingChecker : EditorWindow
{
internal class Settings
{
public SerializationMode serializationMode;
public bool runInBackground;
public ApiCompatibilityLevel apiCompatibilityLevel;
public ColorSpace colorSpace;
public ResolutionDialogSetting displayResolutionDialog;
public Settings()
{ }
public Settings(Settings s)
{
Set(s);
}
public void Set(Settings s)
{
serializationMode = s.serializationMode;
runInBackground = s.runInBackground;
apiCompatibilityLevel = s.apiCompatibilityLevel;
colorSpace = s.colorSpace;
displayResolutionDialog = s.displayResolutionDialog;
}
public void SaveToProject()
{
EditorSettings.serializationMode = serializationMode;
PlayerSettings.runInBackground = runInBackground;
PlayerSettings.SetApiCompatibilityLevel(BuildTargetGroup.Standalone, apiCompatibilityLevel);
PlayerSettings.colorSpace = colorSpace;
PlayerSettings.displayResolutionDialog = displayResolutionDialog;
}
public void LoadFromProject()
{
serializationMode = EditorSettings.serializationMode;
runInBackground = PlayerSettings.runInBackground;
apiCompatibilityLevel = PlayerSettings.GetApiCompatibilityLevel(BuildTargetGroup.Standalone);
colorSpace = PlayerSettings.colorSpace;
displayResolutionDialog = PlayerSettings.displayResolutionDialog;
}
public static bool operator ==(Settings s1, Settings s2)
{
return (s1.serializationMode == s2.serializationMode) &&
(s1.runInBackground == s2.runInBackground) &&
(s1.apiCompatibilityLevel == s2.apiCompatibilityLevel) &&
(s1.colorSpace == s2.colorSpace) &&
(s1.displayResolutionDialog == s2.displayResolutionDialog);
}
public static bool operator !=(Settings s1, Settings s2)
{
return !(s1 == s2);
}
public override bool Equals(object other)
{
Settings s = other as Settings;
if (s == null)
{
return false;
}
return this == s;
}
public override int GetHashCode()
{
return 0;
}
}
const float label_width = 192;
const float row_height = 48;
const float enum_width = 128;
const float btn_recommendation_width = 128;
const float btn_resotre_width = 64;
const float win_width = 660;
const float win_height = 300;
[MenuItem("Window/UC/ProjectSettingChecker _F11")]
internal static void StartUp()
{
ProjectSettingChecker checker = GetWindow<ProjectSettingChecker>(true, "ProjectSettingChecker", true);
checker.minSize = new Vector2(win_width, win_height);
checker.maxSize = checker.minSize;
s_settings_recommendation = new Settings();
s_settings_recommendation.serializationMode = SerializationMode.ForceText;
s_settings_recommendation.runInBackground = true;
#if NET_4_6
s_settings_recommendation.apiCompatibilityLevel = ApiCompatibilityLevel.NET_4_6;
#else
s_settings_recommendation.apiCompatibilityLevel = ApiCompatibilityLevel.NET_2_0;
#endif
s_settings_recommendation.colorSpace = ColorSpace.Linear;
s_settings_recommendation.displayResolutionDialog = ResolutionDialogSetting.Disabled;
checker.mf_Init();
}
internal static bool IsSkipAtStartUp()
{
return s_is_skip_at_start_up;
}
static Settings s_settings_recommendation;
Settings m_settings_origin;
Settings m_settings_changed;
Settings m_settings_current;
bool m_is_skip_at_startup;
void mf_Init()
{
m_is_skip_at_startup = s_is_skip_at_start_up;
m_settings_origin = new Settings();
m_settings_origin.LoadFromProject();
m_settings_changed = new Settings(m_settings_origin);
m_settings_current = new Settings(m_settings_origin);
}
void OnGUI()
{
using (new EditorGUILayout.HorizontalScope("Box", GUILayout.Height(row_height)))
{
EditorGUILayout.LabelField("Asset Serialization Mode", GUILayout.Width(label_width));
m_settings_changed.serializationMode = (SerializationMode)EditorGUILayout.EnumPopup(m_settings_changed.serializationMode, GUILayout.MaxWidth(enum_width));
GUILayout.FlexibleSpace();
if (m_settings_changed.serializationMode != s_settings_recommendation.serializationMode)
{
EditorGUILayout.HelpBox("", MessageType.Warning, true);
}
if (GUILayout.Button("Origin", GUILayout.MaxWidth(btn_resotre_width)))
{
m_settings_changed.serializationMode = m_settings_origin.serializationMode;
}
if (GUILayout.Button("Recommendation", GUILayout.MaxWidth(btn_recommendation_width)))
{
m_settings_changed.serializationMode = s_settings_recommendation.serializationMode;
}
}
using (new EditorGUILayout.HorizontalScope("Box", GUILayout.Height(row_height)))
{
EditorGUILayout.LabelField("Application Run In Background", GUILayout.Width(label_width));
m_settings_changed.runInBackground = EditorGUILayout.Toggle(m_settings_changed.runInBackground);
GUILayout.FlexibleSpace();
if (m_settings_changed.runInBackground != s_settings_recommendation.runInBackground)
{
EditorGUILayout.HelpBox("", MessageType.Warning, true);
}
if (GUILayout.Button("Origin", GUILayout.Width(btn_resotre_width)))
{
m_settings_changed.runInBackground = m_settings_origin.runInBackground;
}
if (GUILayout.Button("Recommendation", GUILayout.Width(btn_recommendation_width)))
{
m_settings_changed.runInBackground = s_settings_recommendation.runInBackground;
}
}
using (new EditorGUILayout.HorizontalScope("Box", GUILayout.Height(row_height)))
{
EditorGUILayout.LabelField("Api Compatibility Level", GUILayout.Width(label_width));
m_settings_changed.apiCompatibilityLevel = (ApiCompatibilityLevel)EditorGUILayout.EnumPopup(m_settings_changed.apiCompatibilityLevel, GUILayout.MaxWidth(enum_width));
GUILayout.FlexibleSpace();
if (m_settings_changed.apiCompatibilityLevel != s_settings_recommendation.apiCompatibilityLevel)
{
EditorGUILayout.HelpBox("", MessageType.Warning, true);
}
if (GUILayout.Button("Origin", GUILayout.Width(btn_resotre_width)))
{
m_settings_changed.apiCompatibilityLevel = m_settings_origin.apiCompatibilityLevel;
}
if (GUILayout.Button("Recommendation", GUILayout.Width(btn_recommendation_width)))
{
m_settings_changed.apiCompatibilityLevel = s_settings_recommendation.apiCompatibilityLevel;
}
}
using (new EditorGUILayout.HorizontalScope("Box", GUILayout.Height(row_height)))
{
EditorGUILayout.LabelField("Color Space", GUILayout.Width(label_width));
m_settings_changed.colorSpace = (ColorSpace)EditorGUILayout.EnumPopup(m_settings_changed.colorSpace, GUILayout.MaxWidth(enum_width));
GUILayout.FlexibleSpace();
if (m_settings_changed.colorSpace != s_settings_recommendation.colorSpace)
{
EditorGUILayout.HelpBox("", MessageType.Warning, true);
}
if (GUILayout.Button("Origin", GUILayout.Width(btn_resotre_width)))
{
m_settings_changed.colorSpace = m_settings_origin.colorSpace;
}
if (GUILayout.Button("Recommendation", GUILayout.Width(btn_recommendation_width)))
{
m_settings_changed.colorSpace = s_settings_recommendation.colorSpace;
}
}
using (new EditorGUILayout.HorizontalScope("Box", GUILayout.Height(row_height)))
{
EditorGUILayout.LabelField("Display Resolution Dialog", GUILayout.Width(label_width));
m_settings_changed.displayResolutionDialog = (ResolutionDialogSetting)EditorGUILayout.EnumPopup(m_settings_changed.displayResolutionDialog, GUILayout.MaxWidth(enum_width));
GUILayout.FlexibleSpace();
if (m_settings_changed.displayResolutionDialog != s_settings_recommendation.displayResolutionDialog)
{
EditorGUILayout.HelpBox("", MessageType.Warning, true);
}
if (GUILayout.Button("Origin", GUILayout.Width(btn_resotre_width)))
{
m_settings_changed.displayResolutionDialog = m_settings_origin.displayResolutionDialog;
}
if (GUILayout.Button("Recommendation", GUILayout.Width(btn_recommendation_width)))
{
m_settings_changed.displayResolutionDialog = s_settings_recommendation.displayResolutionDialog;
}
}
EditorGUILayout.Separator();
using (new EditorGUILayout.HorizontalScope())
{
bool is_skip_at_startup = EditorGUILayout.ToggleLeft("Skip this window at startup", m_is_skip_at_startup);
if (is_skip_at_startup != m_is_skip_at_startup)
{
m_is_skip_at_startup = is_skip_at_startup;
s_is_skip_at_start_up = m_is_skip_at_startup;
}
EditorGUI.BeginDisabledGroup(m_settings_changed == s_settings_recommendation);
if (GUILayout.Button("All Recommendation", GUILayout.Width(btn_recommendation_width + 16)))
{
m_settings_changed.Set(s_settings_recommendation);
}
EditorGUI.EndDisabledGroup();
GUILayout.FlexibleSpace();
EditorGUI.BeginDisabledGroup(m_settings_changed == m_settings_current);
if (GUILayout.Button("Apply", GUILayout.Width(btn_resotre_width)))
{
m_settings_changed.SaveToProject();
m_settings_current.Set(m_settings_changed);
}
if (GUILayout.Button("Restore", GUILayout.Width(btn_resotre_width)))
{
m_settings_changed.Set(m_settings_current);
}
EditorGUI.EndDisabledGroup();
}
GUILayout.FlexibleSpace();
}
void OnDestroy()
{
if (m_settings_changed != m_settings_current)
{
bool yes = EditorUtility.DisplayDialog("[WARNING] Project Settings Changed", "The ProjectSettingChecker will be closed, \nbut some values are modified.\nDo you want to apply those changed?", "Apply", "Give up");
if (yes)
{
m_settings_changed.SaveToProject();
}
}
}
private static string s_str_hash_code
{
get
{
return UnityEngine.Animator.StringToHash(UnityEngine.Application.dataPath).ToString();
}
}
private static bool s_is_skip_at_start_up
{
get
{
return EditorPrefs.GetBool("ProjectSettingChecker_is_skip_at_start_up_" + s_str_hash_code);
}
set
{
EditorPrefs.SetBool("ProjectSettingChecker_is_skip_at_start_up_" + s_str_hash_code, value);
}
}
}
}

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save