diff --git a/Assets/Art/AwarenessGradient.png b/Assets/Art/AwarenessGradient.png new file mode 100644 index 0000000..9dbebd1 Binary files /dev/null and b/Assets/Art/AwarenessGradient.png differ diff --git a/Assets/Art/AwarenessGradient.png.meta b/Assets/Art/AwarenessGradient.png.meta new file mode 100644 index 0000000..eddbb79 --- /dev/null +++ b/Assets/Art/AwarenessGradient.png.meta @@ -0,0 +1,55 @@ +fileFormatVersion: 2 +guid: a023c2b27dbaaec45ae34c278711bc24 +timeCreated: 1439697534 +licenseType: Free +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: 16 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 8 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Materials/AwarenessLevel.mat b/Assets/Materials/AwarenessLevel.mat new file mode 100644 index 0000000..3432091 --- /dev/null +++ b/Assets/Materials/AwarenessLevel.mat @@ -0,0 +1,161 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 5 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: AwarenessLevel + m_Shader: {fileID: 4800000, guid: dc0fe2d53692d3a4288028f8d5372963, type: 3} + m_ShaderKeywords: + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + data: + first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _BumpMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _DetailNormalMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _ParallaxMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _OcclusionMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _EmissionMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _DetailMask + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _DetailAlbedoMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _MetallicGlossMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + data: + first: + name: _Cutoff + second: .5 + data: + first: + name: _SrcBlend + second: 1 + data: + first: + name: _DstBlend + second: 0 + data: + first: + name: _Parallax + second: .0199999996 + data: + first: + name: _ZWrite + second: 1 + data: + first: + name: _Glossiness + second: .5 + data: + first: + name: _BumpScale + second: 1 + data: + first: + name: _OcclusionStrength + second: 1 + data: + first: + name: _DetailNormalMapScale + second: 1 + data: + first: + name: _UVSec + second: 0 + data: + first: + name: _EmissionScaleUI + second: 0 + data: + first: + name: _Mode + second: 0 + data: + first: + name: _Metallic + second: 0 + data: + first: + name: _Stencil + second: 0 + data: + first: + name: _Ratio + second: 0 + m_Colors: + data: + first: + name: _EmissionColor + second: {r: 0, g: 0, b: 0, a: 1} + data: + first: + name: _Color + second: {r: 1, g: 1, b: 1, a: 1} + data: + first: + name: _EmissionColorUI + second: {r: 1, g: 1, b: 1, a: 1} + data: + first: + name: _CompletedColor + second: {r: 1, g: 1, b: 1, a: 1} + data: + first: + name: _RemainingColor + second: {r: 0, g: 0, b: 0, a: .137254909} diff --git a/Assets/Materials/AwarenessLevel.mat.meta b/Assets/Materials/AwarenessLevel.mat.meta new file mode 100644 index 0000000..d2ef574 --- /dev/null +++ b/Assets/Materials/AwarenessLevel.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 085386af6af570a47b29380efacfa18d +timeCreated: 1439697617 +licenseType: Free +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Materials/FriendAwarenessLevel.mat b/Assets/Materials/FriendAwarenessLevel.mat new file mode 100644 index 0000000..c4e794b --- /dev/null +++ b/Assets/Materials/FriendAwarenessLevel.mat @@ -0,0 +1,161 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 5 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: FriendAwarenessLevel + m_Shader: {fileID: 4800000, guid: a3a1c69b0135240439146d369cea2dbb, type: 3} + m_ShaderKeywords: + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + data: + first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _BumpMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _DetailNormalMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _ParallaxMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _OcclusionMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _EmissionMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _DetailMask + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _DetailAlbedoMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _MetallicGlossMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + data: + first: + name: _Cutoff + second: .5 + data: + first: + name: _SrcBlend + second: 1 + data: + first: + name: _DstBlend + second: 0 + data: + first: + name: _Parallax + second: .0199999996 + data: + first: + name: _ZWrite + second: 1 + data: + first: + name: _Glossiness + second: .5 + data: + first: + name: _BumpScale + second: 1 + data: + first: + name: _OcclusionStrength + second: 1 + data: + first: + name: _DetailNormalMapScale + second: 1 + data: + first: + name: _UVSec + second: 0 + data: + first: + name: _EmissionScaleUI + second: 0 + data: + first: + name: _Mode + second: 0 + data: + first: + name: _Metallic + second: 0 + data: + first: + name: _Stencil + second: 0 + data: + first: + name: _Ratio + second: 0 + m_Colors: + data: + first: + name: _EmissionColor + second: {r: 0, g: 0, b: 0, a: 1} + data: + first: + name: _Color + second: {r: 1, g: 1, b: 1, a: 1} + data: + first: + name: _EmissionColorUI + second: {r: 1, g: 1, b: 1, a: 1} + data: + first: + name: _CompletedColor + second: {r: 1, g: 1, b: 1, a: 1} + data: + first: + name: _RemainingColor + second: {r: 0, g: 0, b: 0, a: .137254909} diff --git a/Assets/Materials/FriendAwarenessLevel.mat.meta b/Assets/Materials/FriendAwarenessLevel.mat.meta new file mode 100644 index 0000000..e8c170d --- /dev/null +++ b/Assets/Materials/FriendAwarenessLevel.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 52cd241b11349d24f97ee7f4ea93a967 +timeCreated: 1439704187 +licenseType: Free +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Materials/UIMask.mat b/Assets/Materials/UIMask.mat new file mode 100644 index 0000000..d0aaa0e --- /dev/null +++ b/Assets/Materials/UIMask.mat @@ -0,0 +1,195 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 5 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: UIMask + m_Shader: {fileID: 4800000, guid: 705181f423730b9468fdb10a3b99c156, type: 3} + m_ShaderKeywords: + m_LightmapFlags: 5 + m_CustomRenderQueue: -1 + m_SavedProperties: + serializedVersion: 2 + m_TexEnvs: + data: + first: + name: _MainTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _BumpMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _DetailNormalMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _DecalTex + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _ParallaxMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _OcclusionMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _EmissionMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _DetailMask + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _DetailAlbedoMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _MetallicGlossMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + data: + first: + name: _SpecGlossMap + second: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + data: + first: + name: _Cutoff + second: .899999976 + data: + first: + name: _Shininess + second: 1 + data: + first: + name: _SrcBlend + second: 1 + data: + first: + name: _DstBlend + second: 0 + data: + first: + name: _Parallax + second: .0199999996 + data: + first: + name: _ZWrite + second: 1 + data: + first: + name: _Glossiness + second: .5 + data: + first: + name: _BumpScale + second: 1 + data: + first: + name: _OcclusionStrength + second: 1 + data: + first: + name: _DetailNormalMapScale + second: 1 + data: + first: + name: _UVSec + second: 0 + data: + first: + name: _EmissionScaleUI + second: 0 + data: + first: + name: _Mode + second: 0 + data: + first: + name: _Metallic + second: 0 + data: + first: + name: _Stencil + second: 33.2599983 + data: + first: + name: _StencilComp + second: 205.600006 + data: + first: + name: _StencilOp + second: -50 + data: + first: + name: _StencilReadMask + second: 196.050003 + data: + first: + name: _StencilWriteMask + second: 489 + data: + first: + name: _ColorMask + second: 160 + m_Colors: + data: + first: + name: _EmissionColor + second: {r: 0, g: 0, b: 0, a: 0} + data: + first: + name: _Color + second: {r: .448529422, g: .29022491, b: .29022491, a: 1} + data: + first: + name: _SpecColor + second: {r: .200000003, g: .200000003, b: .200000003, a: 1} + data: + first: + name: _EmissionColorUI + second: {r: 1, g: 1, b: 1, a: 1} + data: + first: + name: _Emission + second: {r: 0, g: 0, b: 0, a: 0} diff --git a/Assets/Materials/UIMask.mat.meta b/Assets/Materials/UIMask.mat.meta new file mode 100644 index 0000000..0e1eb91 --- /dev/null +++ b/Assets/Materials/UIMask.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c22c190fd4877414fa5e862acdae3e64 +timeCreated: 1439699720 +licenseType: Free +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/AwarenessBar.prefab b/Assets/Prefabs/AwarenessBar.prefab new file mode 100644 index 0000000..4ced324 --- /dev/null +++ b/Assets/Prefabs/AwarenessBar.prefab @@ -0,0 +1,86 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &195468 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22454528} + - 222: {fileID: 22255394} + - 114: {fileID: 11430582} + - 114: {fileID: 11478878} + m_Layer: 5 + m_Name: AwarenessBar + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &11430582 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195468} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 2100000, guid: 085386af6af570a47b29380efacfa18d, type: 2} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Sprite: {fileID: 21300000, guid: a023c2b27dbaaec45ae34c278711bc24, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &11478878 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195468} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 51e725985a0e317458c006132d935c25, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!222 &22255394 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195468} +--- !u!224 &22454528 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195468} + 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_AnchorMin: {x: .185000002, y: .147} + m_AnchorMax: {x: .464206487, y: .5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: .5, y: .5} +--- !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: 195468} + m_IsPrefabParent: 1 diff --git a/Assets/Prefabs/AwarenessBar.prefab.meta b/Assets/Prefabs/AwarenessBar.prefab.meta new file mode 100644 index 0000000..1a1ec99 --- /dev/null +++ b/Assets/Prefabs/AwarenessBar.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 926fe94f393f0e540bb2f1c5678ecc08 +timeCreated: 1439698905 +licenseType: Free +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/FriendAwarenessBar.prefab b/Assets/Prefabs/FriendAwarenessBar.prefab new file mode 100644 index 0000000..7ab75ca --- /dev/null +++ b/Assets/Prefabs/FriendAwarenessBar.prefab @@ -0,0 +1,86 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &195468 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22454528} + - 222: {fileID: 22255394} + - 114: {fileID: 11430582} + - 114: {fileID: 11478878} + m_Layer: 5 + m_Name: FriendAwarenessBar + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &11430582 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195468} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 2100000, guid: 52cd241b11349d24f97ee7f4ea93a967, type: 2} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Sprite: {fileID: 21300000, guid: a023c2b27dbaaec45ae34c278711bc24, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!114 &11478878 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195468} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 51e725985a0e317458c006132d935c25, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!222 &22255394 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195468} +--- !u!224 &22454528 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 195468} + 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_AnchorMin: {x: .185000002, y: .147} + m_AnchorMax: {x: .464206487, y: .5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: .5, y: .5} +--- !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: 195468} + m_IsPrefabParent: 1 diff --git a/Assets/Prefabs/FriendAwarenessBar.prefab.meta b/Assets/Prefabs/FriendAwarenessBar.prefab.meta new file mode 100644 index 0000000..ccc93bf --- /dev/null +++ b/Assets/Prefabs/FriendAwarenessBar.prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 62ba8147df32d4e42883e8204d32c66c +timeCreated: 1439704172 +licenseType: Free +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/PersonDetailsPanel.prefab b/Assets/Prefabs/PersonDetailsPanel.prefab index 1723fdd..c84ec28 100644 --- a/Assets/Prefabs/PersonDetailsPanel.prefab +++ b/Assets/Prefabs/PersonDetailsPanel.prefab @@ -273,6 +273,7 @@ GameObject: serializedVersion: 4 m_Component: - 224: {fileID: 22458514} + - 222: {fileID: 22286240} m_Layer: 5 m_Name: Content m_TagString: Untagged @@ -280,6 +281,24 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!1 &163070 +GameObject: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 4 + m_Component: + - 224: {fileID: 22454288} + - 222: {fileID: 22205402} + - 114: {fileID: 11478634} + - 114: {fileID: 11476856} + m_Layer: 5 + m_Name: AwarenessBar + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 --- !u!1 &189194 GameObject: m_ObjectHideFlags: 1 @@ -469,8 +488,8 @@ MonoBehaviour: m_TargetGraphic: {fileID: 11431992} m_HandleRect: {fileID: 22417254} m_Direction: 2 - m_Value: .999378026 - m_Size: .427392036 + m_Value: 0 + m_Size: 1 m_NumberOfSteps: 0 m_OnValueChanged: m_PersistentCalls: @@ -652,12 +671,47 @@ MonoBehaviour: m_EditorClassIdentifier: ProfilePicture: {fileID: 11440110} Name: {fileID: 11472562} + FriendsTitle: {fileID: 11400246} FriendsPanel: {fileID: 159508} KillButton: {fileID: 11400492} WatchButton: {fileID: 11491412} XButton: {fileID: 11494666} Container: {fileID: 147852} + AwarenessBar: {fileID: 11476856} + FriendAwarenessBar: {fileID: 11478878, guid: 62ba8147df32d4e42883e8204d32c66c, type: 2} FriendPicture: {fileID: 11469406, guid: 16a1d168f1ef75b4690435675a9e69b0, type: 2} +--- !u!114 &11476856 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 163070} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 51e725985a0e317458c006132d935c25, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &11478634 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 163070} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 2100000, guid: 085386af6af570a47b29380efacfa18d, type: 2} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Sprite: {fileID: 21300000, guid: a023c2b27dbaaec45ae34c278711bc24, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 --- !u!114 &11478962 MonoBehaviour: m_ObjectHideFlags: 1 @@ -864,6 +918,12 @@ CanvasRenderer: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} m_GameObject: {fileID: 125710} +--- !u!222 &22205402 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 163070} --- !u!222 &22213958 CanvasRenderer: m_ObjectHideFlags: 1 @@ -930,6 +990,12 @@ CanvasRenderer: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 100100000} m_GameObject: {fileID: 113502} +--- !u!222 &22286240 +CanvasRenderer: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 159508} --- !u!224 &22404366 RectTransform: m_ObjectHideFlags: 1 @@ -1074,6 +1140,23 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: .5, y: .5} +--- !u!224 &22454288 +RectTransform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 163070} + 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: 22471300} + m_RootOrder: 1 + m_AnchorMin: {x: .465619415, y: 0} + m_AnchorMax: {x: .857309759, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: .5, y: .5} --- !u!224 &22456054 RectTransform: m_ObjectHideFlags: 1 @@ -1103,10 +1186,10 @@ RectTransform: m_Children: [] m_Father: {fileID: 22464522} m_RootOrder: 0 - m_AnchorMin: {x: .5, y: 1} - m_AnchorMax: {x: .5, y: 1} - m_AnchoredPosition: {x: 0, y: -65.95298} - m_SizeDelta: {x: 90, y: 132} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: .5, y: .5} --- !u!224 &22462244 RectTransform: @@ -1155,6 +1238,7 @@ RectTransform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: - {fileID: 22456054} + - {fileID: 22454288} - {fileID: 22483690} - {fileID: 22486224} m_Father: {fileID: 22404366} @@ -1212,9 +1296,9 @@ RectTransform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 22471300} - m_RootOrder: 1 - m_AnchorMin: {x: .185000002, y: .546483397} - m_AnchorMax: {x: 1, y: .877516687} + m_RootOrder: 2 + m_AnchorMin: {x: .185000002, y: 0} + m_AnchorMax: {x: .450309694, y: .877516687} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: .5, y: .5} @@ -1247,7 +1331,7 @@ RectTransform: m_Children: - {fileID: 22489830} m_Father: {fileID: 22471300} - m_RootOrder: 2 + m_RootOrder: 3 m_AnchorMin: {x: .901000023, y: .546483397} m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} diff --git a/Assets/Scenes/Gameplay.unity b/Assets/Scenes/Gameplay.unity index 4814948..5f20a6f 100644 --- a/Assets/Scenes/Gameplay.unity +++ b/Assets/Scenes/Gameplay.unity @@ -159,7 +159,6 @@ Camera: m_OcclusionCulling: 1 m_StereoConvergence: 10 m_StereoSeparation: .0219999999 - m_StereoMirrorMode: 0 --- !u!4 &61719365 Transform: m_ObjectHideFlags: 0 @@ -197,6 +196,8 @@ RectTransform: m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: + - {fileID: 1728657169} + - {fileID: 919656932} - {fileID: 403748470} - {fileID: 350457696} - {fileID: 906703074} @@ -335,7 +336,7 @@ RectTransform: m_Children: - {fileID: 1366676553} m_Father: {fileID: 122634401} - m_RootOrder: 1 + m_RootOrder: 3 m_AnchorMin: {x: 0, y: .550000012} m_AnchorMax: {x: 1, y: .699999988} m_AnchoredPosition: {x: 0, y: 0} @@ -397,7 +398,7 @@ RectTransform: m_Children: - {fileID: 724929356} m_Father: {fileID: 122634401} - m_RootOrder: 0 + m_RootOrder: 2 m_AnchorMin: {x: 0, y: .699999988} m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} @@ -617,7 +618,7 @@ RectTransform: - {fileID: 2009587059} - {fileID: 1197925314} m_Father: {fileID: 122634401} - m_RootOrder: 2 + m_RootOrder: 4 m_AnchorMin: {x: 0, y: .200000003} m_AnchorMax: {x: 1, y: .550000012} m_AnchoredPosition: {x: 0, y: 0} @@ -650,6 +651,67 @@ CanvasRenderer: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 906703073} +--- !u!1 &919656931 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 919656932} + - 222: {fileID: 919656934} + - 114: {fileID: 919656933} + m_Layer: 5 + m_Name: MaskBot + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &919656932 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 919656931} + 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: 122634401} + m_RootOrder: 1 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: .224000007} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: .5, y: .5} +--- !u!114 &919656933 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 919656931} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 2100000, guid: c22c190fd4877414fa5e862acdae3e64, type: 2} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &919656934 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 919656931} --- !u!1 &1126063559 GameObject: m_ObjectHideFlags: 0 @@ -789,34 +851,45 @@ Prefab: propertyPath: m_Pivot.y value: .5 objectReference: {fileID: 0} - - target: {fileID: 22417254, guid: c993e87661906234fba410e55ed66832, type: 2} - propertyPath: m_AnchorMin.y - value: .578712046 - objectReference: {fileID: 0} - target: {fileID: 22417254, guid: c993e87661906234fba410e55ed66832, type: 2} propertyPath: m_AnchorMax.x value: 1 objectReference: {fileID: 0} - target: {fileID: 22417254, guid: c993e87661906234fba410e55ed66832, type: 2} propertyPath: m_AnchorMax.y - value: .999643743 + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 11452870, guid: c993e87661906234fba410e55ed66832, type: 2} + propertyPath: m_ScrollSensitivity + value: 15 objectReference: {fileID: 0} - target: {fileID: 11414010, guid: c993e87661906234fba410e55ed66832, type: 2} - propertyPath: m_Value - value: .999384761 + propertyPath: m_Colors.m_NormalColor.r + value: .309803933 objectReference: {fileID: 0} - target: {fileID: 11414010, guid: c993e87661906234fba410e55ed66832, type: 2} - propertyPath: m_Size - value: .420931697 + propertyPath: m_Colors.m_NormalColor.g + value: .505882382 objectReference: {fileID: 0} - - target: {fileID: 11476684, guid: c993e87661906234fba410e55ed66832, type: 2} - propertyPath: FriendPicture - value: - objectReference: {fileID: 11469406, guid: 16a1d168f1ef75b4690435675a9e69b0, - type: 2} - - target: {fileID: 22458514, guid: c993e87661906234fba410e55ed66832, type: 2} - propertyPath: m_AnchoredPosition.y - value: -65.9662552 + - target: {fileID: 11414010, guid: c993e87661906234fba410e55ed66832, type: 2} + propertyPath: m_Colors.m_NormalColor.b + value: .741176486 + objectReference: {fileID: 0} + - target: {fileID: 11414010, guid: c993e87661906234fba410e55ed66832, type: 2} + propertyPath: m_Transition + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 11431992, guid: c993e87661906234fba410e55ed66832, type: 2} + propertyPath: m_Color.r + value: .309803933 + objectReference: {fileID: 0} + - target: {fileID: 11431992, guid: c993e87661906234fba410e55ed66832, type: 2} + propertyPath: m_Color.g + value: .505882382 + objectReference: {fileID: 0} + - target: {fileID: 11431992, guid: c993e87661906234fba410e55ed66832, type: 2} + propertyPath: m_Color.b + value: .741176486 objectReference: {fileID: 0} m_RemovedComponents: [] m_ParentPrefab: {fileID: 100100000, guid: c993e87661906234fba410e55ed66832, type: 2} @@ -928,7 +1001,7 @@ RectTransform: - {fileID: 268520030} - {fileID: 142867288} m_Father: {fileID: 122634401} - m_RootOrder: 3 + m_RootOrder: 5 m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: .200000003} m_AnchoredPosition: {x: 0, y: 0} @@ -961,6 +1034,67 @@ CanvasRenderer: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 1411243505} +--- !u!1 &1728657168 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1728657169} + - 222: {fileID: 1728657171} + - 114: {fileID: 1728657170} + m_Layer: 5 + m_Name: MaskTop + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1728657169 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1728657168} + 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: 122634401} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: .367000014} + m_AnchorMax: {x: .455000013, y: 1} + m_AnchoredPosition: {x: 0, y: -1.90734863e-06} + m_SizeDelta: {x: 0, y: -3.81469727e-06} + m_Pivot: {x: .5, y: .5} +--- !u!114 &1728657170 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1728657168} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 2100000, guid: c22c190fd4877414fa5e862acdae3e64, type: 2} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1728657171 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1728657168} --- !u!1 &1858163984 GameObject: m_ObjectHideFlags: 0 @@ -1068,7 +1202,6 @@ MonoBehaviour: m_SubmitButton: Submit m_CancelButton: Cancel m_InputActionsPerSecond: 10 - m_RepeatDelay: .5 m_AllowActivationOnMobileDevice: 0 --- !u!114 &1999982086 MonoBehaviour: diff --git a/Assets/Scripts/Models/Friendship.cs b/Assets/Scripts/Models/Friendship.cs index 9106811..e25cc5c 100644 --- a/Assets/Scripts/Models/Friendship.cs +++ b/Assets/Scripts/Models/Friendship.cs @@ -5,7 +5,7 @@ using DeathBook.Util; namespace DeathBook.Model { - public class Friendship : Updatable + public class Friendship : Updatable, IComparable { private Person self; public Person Self { get { return self; } } @@ -59,6 +59,22 @@ namespace DeathBook.Model return weight * 0.1f; } + public int CompareTo(Friendship other) + { + int value = 0; + + if (this.Friend.AwarenessLevel < other.Friend.AwarenessLevel) + { + value = 1; + } + else if (this.Friend.AwarenessLevel > other.Friend.AwarenessLevel) + { + value = -1; + } + + return value; + } + /*internal enum Knowledge { Alive, Doubt, Dead diff --git a/Assets/Scripts/NetworkingSphere.cs b/Assets/Scripts/NetworkingSphere.cs index ae1d579..4daabaa 100644 --- a/Assets/Scripts/NetworkingSphere.cs +++ b/Assets/Scripts/NetworkingSphere.cs @@ -39,6 +39,7 @@ public class NetworkingSphere : MonoBehaviour private PersonNode[] peopleNodes; private PersonNode _selectedNode; + private float _timeSinceLastClick; // Used to disable the physics when the user has clicked on a node private bool _isRotatingTowardsNode = false; @@ -62,6 +63,11 @@ public class NetworkingSphere : MonoBehaviour void Update() { + if (_timeSinceLastClick < 2f) + { + _timeSinceLastClick += Time.deltaTime; + } + manager.GameLevel.Update(Time.deltaTime); //TEMPORARY QUICK FIX: Even though we are never moving the sphere, it starts moving as soon as it stops rotating @@ -143,20 +149,23 @@ public class NetworkingSphere : MonoBehaviour private void OnNodeClicked(PersonNode node) { - if (node == _selectedNode) return; - if (_selectedNode != null) { _selectedNode.Select(false); } + if (_timeSinceLastClick < 0.5f && node == _selectedNode) + { + // We focus on the node if double clicked + FocusOnNode(node); + } + + _timeSinceLastClick = 0f; + DetailsPanel.SetNode(node); node.Select(true); _selectedNode = node; - - // Testing to see how it looks and feels like - FocusOnNode(node); } private void AssignLinks(Level lvl) @@ -224,7 +233,7 @@ public class NetworkingSphere : MonoBehaviour float ratio = 0f; - while (ratio < 1f) + while (ratio < 1f && transform.localRotation != finalRot) { ratio += Time.deltaTime / 1.5f; diff --git a/Assets/Scripts/PersonDetailsPanel.cs b/Assets/Scripts/PersonDetailsPanel.cs index ee31868..c38d63d 100644 --- a/Assets/Scripts/PersonDetailsPanel.cs +++ b/Assets/Scripts/PersonDetailsPanel.cs @@ -3,16 +3,20 @@ using System.Collections; using UnityEngine.UI; using DeathBook.Model; using DeathBook.Util; +using System.Collections.Generic; public class PersonDetailsPanel : MonoBehaviour, IObserver { public Image ProfilePicture; public Text Name; + public Text FriendsTitle; public GameObject FriendsPanel; public Button KillButton; public Button WatchButton; public Button XButton; public GameObject Container; + public RatioProgression AwarenessBar; + public RatioProgression FriendAwarenessBar; public UIFriendPicture FriendPicture; @@ -53,6 +57,8 @@ public class PersonDetailsPanel : MonoBehaviour, IObserver KillButton.gameObject.SetActive(_model.Alive); WatchButton.gameObject.SetActive(_model.Alive); + AwarenessBar.SetCompletedRatio(_model.AwarenessLevel); + foreach (Transform picture in FriendsPanel.transform) { Destroy(picture.gameObject); @@ -69,23 +75,42 @@ public class PersonDetailsPanel : MonoBehaviour, IObserver float height = 1f / _model.FriendList.Count; - for (int i = 0; i < _model.FriendList.Count; i++) + // We copy the list so we can sort it without affecting the model data + List list = new List(_model.FriendList); + list.Sort(); + + FriendsTitle.text = string.Concat("Friends (", list.Count, ")"); + + for (int i = 0; i < list.Count; i++) { - Person friend = _model.FriendList[i].Friend; + Person friend = list[i].Friend; + float minY = 1f - (height - 0.01f) * (i + 1) - i * 0.01f; + float maxY = 1f - height * i; + + // Friend picture UIFriendPicture friendPicture = Instantiate(FriendPicture) as UIFriendPicture; - - friendPicture.Model = friend; - Image picture = friendPicture.Picture; + friendPicture.Model = friend; picture.sprite = friend.Picture; - picture.transform.SetParent(FriendsPanel.transform); - picture.rectTransform.anchorMin = new Vector2(0.022f, 1f - (height - 0.01f) * (i + 1) - i * 0.01f); - picture.rectTransform.anchorMax = new Vector2(0.26f, (1f - height * i)); + picture.rectTransform.anchorMin = new Vector2(0.022f, minY); + picture.rectTransform.anchorMax = new Vector2(0.26f, maxY); picture.rectTransform.offsetMin = Vector2.zero; picture.rectTransform.offsetMax = Vector2.zero; + + // Awareness bar + RatioProgression awarenessBar = Instantiate(FriendAwarenessBar) as RatioProgression; + RectTransform barRectTrans = awarenessBar.GetComponent(); + + awarenessBar.SetCompletedRatio(friend.AwarenessLevel); + + awarenessBar.transform.SetParent(FriendsPanel.transform); + barRectTrans.anchorMin = new Vector2(0.28f, minY); + barRectTrans.anchorMax = new Vector2(1f, maxY); + barRectTrans.offsetMin = Vector2.zero; + barRectTrans.offsetMax = Vector2.zero; } } diff --git a/Assets/Scripts/PersonNode.cs b/Assets/Scripts/PersonNode.cs index 71b3def..3c79943 100644 --- a/Assets/Scripts/PersonNode.cs +++ b/Assets/Scripts/PersonNode.cs @@ -30,7 +30,6 @@ public class PersonNode : MonoBehaviour, IObserver private Renderer _renderer; private Transform _transform; - public Person Model { get { return _model; } diff --git a/Assets/Scripts/RatioProgression.meta b/Assets/Scripts/RatioProgression.meta new file mode 100644 index 0000000..0617045 --- /dev/null +++ b/Assets/Scripts/RatioProgression.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 32f37163e04c7e04cb5e5272d4ae8f07 +folderAsset: yes +timeCreated: 1434607146 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/RatioProgression/RatioProgression.cs b/Assets/Scripts/RatioProgression/RatioProgression.cs new file mode 100644 index 0000000..8612c50 --- /dev/null +++ b/Assets/Scripts/RatioProgression/RatioProgression.cs @@ -0,0 +1,28 @@ +using UnityEngine; +using System.Collections; +using UnityEngine.UI; + +public class RatioProgression : MonoBehaviour +{ + private Material _material; + + void Awake() + { + if (GetComponent() != null) + { + // GetComponent().material creates its own instance of the material, so it's not shared + _material = GetComponent().material; + } + else if (GetComponent() != null) + { + // For the UI images, GetComponent().material is a shared material, so we have to clone it + _material = Instantiate(GetComponent().material); + GetComponent().material = _material; + } + } + + public void SetCompletedRatio(float ratio) + { + _material.SetFloat("_Ratio", ratio); + } +} diff --git a/Assets/Scripts/RatioProgression/RatioProgression.cs.meta b/Assets/Scripts/RatioProgression/RatioProgression.cs.meta new file mode 100644 index 0000000..00c635c --- /dev/null +++ b/Assets/Scripts/RatioProgression/RatioProgression.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 51e725985a0e317458c006132d935c25 +timeCreated: 1434607162 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/UIFriendPicture.cs b/Assets/Scripts/UIFriendPicture.cs index 47e5196..425cfdd 100644 --- a/Assets/Scripts/UIFriendPicture.cs +++ b/Assets/Scripts/UIFriendPicture.cs @@ -29,5 +29,6 @@ public class UIFriendPicture : MonoBehaviour public void OnClick() { _model.SelectNode(); + _model.SelectNode(); } } diff --git a/Assets/Shaders.meta b/Assets/Shaders.meta new file mode 100644 index 0000000..2886261 --- /dev/null +++ b/Assets/Shaders.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: b851a2b38a8a3a449a2e7643db91fb71 +folderAsset: yes +timeCreated: 1439697098 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Shaders/RatioProgression.meta b/Assets/Shaders/RatioProgression.meta new file mode 100644 index 0000000..f6e8101 --- /dev/null +++ b/Assets/Shaders/RatioProgression.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 98bfe83c2fad00b4aafed7c7978b7365 +folderAsset: yes +timeCreated: 1434606270 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Shaders/RatioProgression/Mask.shader b/Assets/Shaders/RatioProgression/Mask.shader new file mode 100644 index 0000000..333996d --- /dev/null +++ b/Assets/Shaders/RatioProgression/Mask.shader @@ -0,0 +1,23 @@ +Shader "Custom/MaskTest" { + + Properties + { + _MainTex ("Base (RGB) Alpha (A)", 2D) = "white" {} + _Cutoff ("Base Alpha cutoff", Range (0,.9)) = .5 + _Stencil ("Stencil Ref", Float) = 0 + } + + SubShader { + Tags {"Queue" = "Transparent+1"} + Offset 0, -1 + ColorMask 0 + ZWrite On + Pass + { + AlphaTest Greater [_Cutoff] + SetTexture [_MainTex] { + combine texture * primary, texture + } + } + } + } \ No newline at end of file diff --git a/Assets/Shaders/RatioProgression/Mask.shader.meta b/Assets/Shaders/RatioProgression/Mask.shader.meta new file mode 100644 index 0000000..e56c225 --- /dev/null +++ b/Assets/Shaders/RatioProgression/Mask.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 705181f423730b9468fdb10a3b99c156 +timeCreated: 1439703308 +licenseType: Free +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Shaders/RatioProgression/RatioProgression.shader b/Assets/Shaders/RatioProgression/RatioProgression.shader new file mode 100644 index 0000000..9e6d21e --- /dev/null +++ b/Assets/Shaders/RatioProgression/RatioProgression.shader @@ -0,0 +1,86 @@ +// http://wiki.unity3d.com/index.php?title=Shader_Code + +Shader "Pat Shaders/RatioProgression" +{ + Properties + { + _CompletedColor ("Completed Tint", Color) = (0,0,0,0) + _RemainingColor ("Remaining Tint", Color) = (1,1,1,1) + + _MainTex ("Texture", 2D) = "white" {} + + _Ratio ("Ratio", Range(0,1)) = 0.5 + } + + SubShader + { + // http://docs.unity3d.com/460/Documentation/Manual/SL-SubshaderTags.html + Tags + { + "Queue"="Transparent-1" + + } + + // http://docs.unity3d.com/Manual/SL-Blend.html + Blend One OneMinusSrcAlpha + + Pass + { + CGPROGRAM + + #pragma vertex vert + #pragma fragment frag + + fixed4 _CompletedColor; + fixed4 _RemainingColor; + float _Ratio; + sampler2D _MainTex; + + // Data transferred from application to vertex program + struct vertexInput + { + float4 vertex : POSITION; + float2 texcoord0 : TEXCOORD0; // Normalized, from 0 to 1 + }; + + // Data transferred from vertex program to fragment program + struct fragmentInput + { + float4 position : SV_POSITION; + float2 texcoord0 : TEXCOORD0; // Normalized, from 0 to 1 + }; + + // Vertex program + fragmentInput vert(vertexInput i) + { + fragmentInput o; + + o.position = mul(UNITY_MATRIX_MVP, i.vertex); // Model*View*Projection matrix + o.texcoord0 = i.texcoord0; + + return o; + } + + // Fragment program + fixed4 frag(fragmentInput i) : COLOR + { + float4 color; + + if (i.texcoord0.x <= _Ratio) + { + color = tex2D(_MainTex, i.texcoord0) * _CompletedColor; + } + else + { + color = tex2D(_MainTex, i.texcoord0) * _RemainingColor; + } + + color.rgb = color.rgb * color.a; + + return color; + } + + ENDCG + } + } +} diff --git a/Assets/Shaders/RatioProgression/RatioProgression.shader.meta b/Assets/Shaders/RatioProgression/RatioProgression.shader.meta new file mode 100644 index 0000000..7b70031 --- /dev/null +++ b/Assets/Shaders/RatioProgression/RatioProgression.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: dc0fe2d53692d3a4288028f8d5372963 +timeCreated: 1434590948 +licenseType: Free +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Shaders/RatioProgression/RatioProgressionMasked.shader b/Assets/Shaders/RatioProgression/RatioProgressionMasked.shader new file mode 100644 index 0000000..ac54858 --- /dev/null +++ b/Assets/Shaders/RatioProgression/RatioProgressionMasked.shader @@ -0,0 +1,96 @@ +// http://wiki.unity3d.com/index.php?title=Shader_Code + +Shader "Pat Shaders/RatioProgressionMasked" +{ + Properties + { + _CompletedColor ("Completed Tint", Color) = (0,0,0,0) + _RemainingColor ("Remaining Tint", Color) = (1,1,1,1) + + _MainTex ("Texture", 2D) = "white" {} + + _Ratio ("Ratio", Range(0,1)) = 0.5 + + // To avoid "Material doesn't have stencil properties" message + _Stencil ("Stencil Ref", Float) = 0 + } + + SubShader + { + // http://docs.unity3d.com/460/Documentation/Manual/SL-SubshaderTags.html + Tags + { + "Queue"="Transparent+2" + + } + + // http://docs.unity3d.com/Manual/SL-Blend.html + Blend One OneMinusSrcAlpha + + Pass + { + Stencil { + Ref 2 + Comp always + Pass replace + ZFail decrWrap + } + + CGPROGRAM + + #pragma vertex vert + #pragma fragment frag + + fixed4 _CompletedColor; + fixed4 _RemainingColor; + float _Ratio; + sampler2D _MainTex; + + // Data transferred from application to vertex program + struct vertexInput + { + float4 vertex : POSITION; + float2 texcoord0 : TEXCOORD0; // Normalized, from 0 to 1 + }; + + // Data transferred from vertex program to fragment program + struct fragmentInput + { + float4 position : SV_POSITION; + float2 texcoord0 : TEXCOORD0; // Normalized, from 0 to 1 + }; + + // Vertex program + fragmentInput vert(vertexInput i) + { + fragmentInput o; + + o.position = mul(UNITY_MATRIX_MVP, i.vertex); // Model*View*Projection matrix + o.texcoord0 = i.texcoord0; + + return o; + } + + // Fragment program + fixed4 frag(fragmentInput i) : COLOR + { + float4 color; + + if (i.texcoord0.x <= _Ratio) + { + color = tex2D(_MainTex, i.texcoord0) * _CompletedColor; + } + else + { + color = tex2D(_MainTex, i.texcoord0) * _RemainingColor; + } + + color.rgb = color.rgb * color.a; + + return color; + } + + ENDCG + } + } +} diff --git a/Assets/Shaders/RatioProgression/RatioProgressionMasked.shader.meta b/Assets/Shaders/RatioProgression/RatioProgressionMasked.shader.meta new file mode 100644 index 0000000..3eacb39 --- /dev/null +++ b/Assets/Shaders/RatioProgression/RatioProgressionMasked.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: a3a1c69b0135240439146d369cea2dbb +timeCreated: 1439704164 +licenseType: Free +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: