Commit ce76df92 authored by Abdulrahman Mohammed's avatar Abdulrahman Mohammed

Polich the game and add UI Toolkit for game page

parent badace67
......@@ -71,12 +71,12 @@ Material:
m_Ints: []
m_Floats:
- Vector1_17E53C12: 0.62
- Vector1_244B0600: 1.2
- Vector1_244B0600: 1.95
- Vector1_34CF798A: 1.75
- Vector1_36E8227: 0.65
- Vector1_36E8227: 0.8
- Vector1_3D886DA1: 0.05
- Vector1_46E42935: 0.25
- Vector1_47683D42: 0.875
- Vector1_47683D42: 1
- Vector1_A0EAD698: 0.6
- Vector1_A6A0BC26: 0.035
- Vector1_B9F56378: 0.35
......@@ -84,7 +84,7 @@ Material:
- Vector1_DF445019: 1.5
- Vector1_E03AB928: 0.05
- Vector1_E5C51606: 0.71
- Vector1_F38B44AA: 0.4
- Vector1_F38B44AA: 1
- _AlphaClip: 0
- _Blend: 0
- _BumpScale: 1
......@@ -105,15 +105,15 @@ Material:
- _SpecularHighlights: 1
- _SrcBlend: 1
- _Surface: 0
- _WaveFrequency: 1.75
- _WaveFrequency: 5.91
- _WaveScale: 0.05
- _WaveSpeed: 1.5
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- Color_7D9A58EC: {r: 0.090196066, g: 0.28983343, b: 0.5372549, a: 1}
- Color_F01C36BF: {r: 0.09803916, g: 0.5387899, b: 0.65882355, a: 0.29803923}
- Vector2_37B21477: {r: 0.3, g: 0.3, b: 1, a: 1}
- Color_7D9A58EC: {r: 0.2775454, g: 0.4795369, b: 0.7264151, a: 1}
- Color_F01C36BF: {r: 0, g: 0.7832167, b: 1, a: 0.29803923}
- Vector2_37B21477: {r: 0.3, g: 1.17, b: 0, a: 0}
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
......
......@@ -23,6 +23,7 @@ Material:
disabledShaderPasses:
- MOTIONVECTORS
- DepthOnly
- SHADOWCASTER
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
......@@ -121,7 +122,7 @@ Material:
- _ZWrite: 0
m_Colors:
- _BaseColor: {r: 0.736, g: 0.09494396, b: 0.09494396, a: 0.4285649}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _Color: {r: 0.736, g: 0.09494393, b: 0.09494393, a: 0.4285649}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
m_BuildTextureStacks: []
......
fileFormatVersion: 2
guid: e24a13d5faff3c84b8e047141eb21edd
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
Quick Outline
=============
Developed by Chris Nolet (c) 2018
Instructions
------------
To add an outline to an object, drag-and-drop the Outline.cs
script onto the object. The outline materials will be loaded
at runtime.
You can also add outlines programmatically with:
var outline = gameObject.AddComponent<Outline>();
outline.OutlineMode = Outline.Mode.OutlineAll;
outline.OutlineColor = Color.yellow;
outline.OutlineWidth = 5f;
The outline script does a small amount of work in Awake().
For best results, use outline.enabled to toggle the outline.
Avoid removing and re-adding the component if possible.
For large meshes, you may also like to enable 'Precompute
Outline' in the editor. This will reduce the amount of work
performed in Awake().
Troubleshooting
---------------
If the outline appears off-center, please try the following:
1. Set 'Read/Write Enabled' on each model's import settings.
2. Disable 'Optimize Mesh Data' in the player settings.
fileFormatVersion: 2
guid: 5933bfd39d7a5b843a0ed821f85bca19
timeCreated: 1522619008
licenseType: Store
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 115488
packageName: Quick Outline
packageVersion: 1.1
assetPath: Assets/QuickOutline/Readme.txt
uploadId: 485303
fileFormatVersion: 2
guid: 70fd40674751a8042a8b9b2e8d9f915f
folderAsset: yes
timeCreated: 1522559128
licenseType: Store
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 80ac8e52d3c31a94babd161e86bc6b97
folderAsset: yes
timeCreated: 1522559139
licenseType: Store
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
%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: OutlineFill
m_Shader: {fileID: 4800000, guid: 4e76d4023d7e0411297c670f878973e2, type: 3}
m_ShaderKeywords:
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs: []
m_Floats:
- _OutlineWidth: 2
- _ZTest: 8
m_Colors:
- _OutlineColor: {r: 1, g: 1, b: 1, a: 1}
fileFormatVersion: 2
guid: 311313efa011949e98b6761d652ad13c
timeCreated: 1520576285
licenseType: Store
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 115488
packageName: Quick Outline
packageVersion: 1.1
assetPath: Assets/QuickOutline/Resources/Materials/OutlineFill.mat
uploadId: 485303
%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: OutlineMask
m_Shader: {fileID: 4800000, guid: 341b058cd7dee4f5cba5cc59a513619e, type: 3}
m_ShaderKeywords:
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs: []
m_Floats:
- _ZTest: 8
m_Colors: []
fileFormatVersion: 2
guid: 106f3ff43a17d4967a2b64c7a92e49ec
timeCreated: 1520576276
licenseType: Store
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 115488
packageName: Quick Outline
packageVersion: 1.1
assetPath: Assets/QuickOutline/Resources/Materials/OutlineMask.mat
uploadId: 485303
fileFormatVersion: 2
guid: 6a63caa2b0e993043a42c11f35ff2d1a
folderAsset: yes
timeCreated: 1522559134
licenseType: Store
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
//
// OutlineFill.shader
// QuickOutline
//
// Created by Chris Nolet on 2/21/18.
// Copyright © 2018 Chris Nolet. All rights reserved.
//
Shader "Custom/Outline Fill" {
Properties {
[Enum(UnityEngine.Rendering.CompareFunction)] _ZTest("ZTest", Float) = 0
_OutlineColor("Outline Color", Color) = (1, 1, 1, 1)
_OutlineWidth("Outline Width", Range(0, 10)) = 2
}
SubShader {
Tags {
"Queue" = "Transparent+110"
"RenderType" = "Transparent"
"DisableBatching" = "True"
}
Pass {
Name "Fill"
Cull Off
ZTest [_ZTest]
ZWrite Off
Blend SrcAlpha OneMinusSrcAlpha
ColorMask RGB
Stencil {
Ref 1
Comp NotEqual
}
CGPROGRAM
#include "UnityCG.cginc"
#pragma vertex vert
#pragma fragment frag
struct appdata {
float4 vertex : POSITION;
float3 normal : NORMAL;
float3 smoothNormal : TEXCOORD3;
UNITY_VERTEX_INPUT_INSTANCE_ID
};
struct v2f {
float4 position : SV_POSITION;
fixed4 color : COLOR;
UNITY_VERTEX_OUTPUT_STEREO
};
uniform fixed4 _OutlineColor;
uniform float _OutlineWidth;
v2f vert(appdata input) {
v2f output;
UNITY_SETUP_INSTANCE_ID(input);
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output);
float3 normal = any(input.smoothNormal) ? input.smoothNormal : input.normal;
float3 viewPosition = UnityObjectToViewPos(input.vertex);
float3 viewNormal = normalize(mul((float3x3)UNITY_MATRIX_IT_MV, normal));
output.position = UnityViewToClipPos(viewPosition + viewNormal * -viewPosition.z * _OutlineWidth / 1000.0);
output.color = _OutlineColor;
return output;
}
fixed4 frag(v2f input) : SV_Target {
return input.color;
}
ENDCG
}
}
}
fileFormatVersion: 2
guid: 4e76d4023d7e0411297c670f878973e2
timeCreated: 1520575782
licenseType: Store
ShaderImporter:
externalObjects: {}
defaultTextures: []
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 115488
packageName: Quick Outline
packageVersion: 1.1
assetPath: Assets/QuickOutline/Resources/Shaders/OutlineFill.shader
uploadId: 485303
//
// OutlineMask.shader
// QuickOutline
//
// Created by Chris Nolet on 2/21/18.
// Copyright © 2018 Chris Nolet. All rights reserved.
//
Shader "Custom/Outline Mask" {
Properties {
[Enum(UnityEngine.Rendering.CompareFunction)] _ZTest("ZTest", Float) = 0
}
SubShader {
Tags {
"Queue" = "Transparent+100"
"RenderType" = "Transparent"
}
Pass {
Name "Mask"
Cull Off
ZTest [_ZTest]
ZWrite Off
ColorMask 0
Stencil {
Ref 1
Pass Replace
}
}
}
}
fileFormatVersion: 2
guid: 341b058cd7dee4f5cba5cc59a513619e
timeCreated: 1520575773
licenseType: Store
ShaderImporter:
externalObjects: {}
defaultTextures: []
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 115488
packageName: Quick Outline
packageVersion: 1.1
assetPath: Assets/QuickOutline/Resources/Shaders/OutlineMask.shader
uploadId: 485303
fileFormatVersion: 2
guid: 932f8193e5396db4babac4756c406dee
folderAsset: yes
timeCreated: 1522559213
licenseType: Store
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 2b0040b0ed7fbd64693e9195d13d25f9
folderAsset: yes
timeCreated: 1522615600
licenseType: Store
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
%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: Plane
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
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
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _Metallic: 1
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _ZWrite: 1
m_Colors:
- _Color: {r: 0.2509804, g: 0.2509804, b: 0.5019608, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
fileFormatVersion: 2
guid: f58cf65ea995c4b45be95713bdea8134
timeCreated: 1522540975
licenseType: Store
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 115488
packageName: Quick Outline
packageVersion: 1.1
assetPath: Assets/QuickOutline/Samples/Materials/Plane.mat
uploadId: 485303
fileFormatVersion: 2
guid: 3916faa55c6a94248959031ee0ad499f
folderAsset: yes
timeCreated: 1522615614
licenseType: Store
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
This diff is collapsed.
fileFormatVersion: 2
guid: f23712c79adc910408e872b127e825cf
timeCreated: 1522615825
licenseType: Store
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 115488
packageName: Quick Outline
packageVersion: 1.1
assetPath: Assets/QuickOutline/Samples/Scenes/QuickOutline.unity
uploadId: 485303
fileFormatVersion: 2
guid: 3ddbd65d69a9f0b48bab4fe96a1fe099
folderAsset: yes
timeCreated: 1522559122
licenseType: Store
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
//
// Outline.cs
// QuickOutline
//
// Created by Chris Nolet on 3/30/18.
// Copyright © 2018 Chris Nolet. All rights reserved.
//
using System;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
[DisallowMultipleComponent]
public class Outline : MonoBehaviour {
private static HashSet<Mesh> registeredMeshes = new HashSet<Mesh>();
public enum Mode {
OutlineAll,
OutlineVisible,
OutlineHidden,
OutlineAndSilhouette,
SilhouetteOnly
}
public Mode OutlineMode {
get { return outlineMode; }
set {
outlineMode = value;
needsUpdate = true;
}
}
public Color OutlineColor {
get { return outlineColor; }
set {
outlineColor = value;
needsUpdate = true;
}
}
public float OutlineWidth {
get { return outlineWidth; }
set {
outlineWidth = value;
needsUpdate = true;
}
}
[Serializable]
private class ListVector3 {
public List<Vector3> data;
}
[SerializeField]
private Mode outlineMode;
[SerializeField]
private Color outlineColor = Color.white;
[SerializeField, Range(0f, 10f)]
private float outlineWidth = 2f;
[Header("Optional")]
[SerializeField, Tooltip("Precompute enabled: Per-vertex calculations are performed in the editor and serialized with the object. "
+ "Precompute disabled: Per-vertex calculations are performed at runtime in Awake(). This may cause a pause for large meshes.")]
private bool precomputeOutline;
[SerializeField, HideInInspector]
private List<Mesh> bakeKeys = new List<Mesh>();
[SerializeField, HideInInspector]
private List<ListVector3> bakeValues = new List<ListVector3>();
private Renderer[] renderers;
private Material outlineMaskMaterial;
private Material outlineFillMaterial;
private bool needsUpdate;
void Awake() {
// Cache renderers
renderers = GetComponentsInChildren<Renderer>();
// Instantiate outline materials
outlineMaskMaterial = Instantiate(Resources.Load<Material>(@"Materials/OutlineMask"));
outlineFillMaterial = Instantiate(Resources.Load<Material>(@"Materials/OutlineFill"));
outlineMaskMaterial.name = "OutlineMask (Instance)";
outlineFillMaterial.name = "OutlineFill (Instance)";
// Retrieve or generate smooth normals
LoadSmoothNormals();
// Apply material properties immediately
needsUpdate = true;
}
void OnEnable() {
foreach (var renderer in renderers) {
// Append outline shaders
var materials = renderer.sharedMaterials.ToList();
materials.Add(outlineMaskMaterial);
materials.Add(outlineFillMaterial);
renderer.materials = materials.ToArray();
}
}
void OnValidate() {
// Update material properties
needsUpdate = true;
// Clear cache when baking is disabled or corrupted
if (!precomputeOutline && bakeKeys.Count != 0 || bakeKeys.Count != bakeValues.Count) {
bakeKeys.Clear();
bakeValues.Clear();
}
// Generate smooth normals when baking is enabled
if (precomputeOutline && bakeKeys.Count == 0) {
Bake();
}
}
void Update() {
if (needsUpdate) {
needsUpdate = false;
UpdateMaterialProperties();
}
}
void OnDisable() {
foreach (var renderer in renderers) {
// Remove outline shaders
var materials = renderer.sharedMaterials.ToList();
materials.Remove(outlineMaskMaterial);
materials.Remove(outlineFillMaterial);
renderer.materials = materials.ToArray();
}
}
void OnDestroy() {
// Destroy material instances
Destroy(outlineMaskMaterial);
Destroy(outlineFillMaterial);
}
void Bake() {
// Generate smooth normals for each mesh
var bakedMeshes = new HashSet<Mesh>();
foreach (var meshFilter in GetComponentsInChildren<MeshFilter>()) {
// Skip duplicates
if (!bakedMeshes.Add(meshFilter.sharedMesh)) {
continue;
}
// Serialize smooth normals
var smoothNormals = SmoothNormals(meshFilter.sharedMesh);
bakeKeys.Add(meshFilter.sharedMesh);
bakeValues.Add(new ListVector3() { data = smoothNormals });
}
}
void LoadSmoothNormals() {
// Retrieve or generate smooth normals
foreach (var meshFilter in GetComponentsInChildren<MeshFilter>()) {
// Skip if smooth normals have already been adopted
if (!registeredMeshes.Add(meshFilter.sharedMesh)) {
continue;
}
// Retrieve or generate smooth normals
var index = bakeKeys.IndexOf(meshFilter.sharedMesh);
var smoothNormals = (index >= 0) ? bakeValues[index].data : SmoothNormals(meshFilter.sharedMesh);
// Store smooth normals in UV3
meshFilter.sharedMesh.SetUVs(3, smoothNormals);
// Combine submeshes
var renderer = meshFilter.GetComponent<Renderer>();
if (renderer != null) {
CombineSubmeshes(meshFilter.sharedMesh, renderer.sharedMaterials);
}
}
// Clear UV3 on skinned mesh renderers
foreach (var skinnedMeshRenderer in GetComponentsInChildren<SkinnedMeshRenderer>()) {
// Skip if UV3 has already been reset
if (!registeredMeshes.Add(skinnedMeshRenderer.sharedMesh)) {
continue;
}
// Clear UV3
skinnedMeshRenderer.sharedMesh.uv4 = new Vector2[skinnedMeshRenderer.sharedMesh.vertexCount];
// Combine submeshes
CombineSubmeshes(skinnedMeshRenderer.sharedMesh, skinnedMeshRenderer.sharedMaterials);
}
}
List<Vector3> SmoothNormals(Mesh mesh) {
// Group vertices by location
var groups = mesh.vertices.Select((vertex, index) => new KeyValuePair<Vector3, int>(vertex, index)).GroupBy(pair => pair.Key);
// Copy normals to a new list
var smoothNormals = new List<Vector3>(mesh.normals);
// Average normals for grouped vertices
foreach (var group in groups) {
// Skip single vertices
if (group.Count() == 1) {
continue;
}
// Calculate the average normal
var smoothNormal = Vector3.zero;
foreach (var pair in group) {
smoothNormal += smoothNormals[pair.Value];
}
smoothNormal.Normalize();
// Assign smooth normal to each vertex
foreach (var pair in group) {
smoothNormals[pair.Value] = smoothNormal;
}
}
return smoothNormals;
}
void CombineSubmeshes(Mesh mesh, Material[] materials) {
// Skip meshes with a single submesh
if (mesh.subMeshCount == 1) {
return;
}
// Skip if submesh count exceeds material count
if (mesh.subMeshCount > materials.Length) {
return;
}
// Append combined submesh
mesh.subMeshCount++;
mesh.SetTriangles(mesh.triangles, mesh.subMeshCount - 1);
}
void UpdateMaterialProperties() {
// Apply properties according to mode
outlineFillMaterial.SetColor("_OutlineColor", outlineColor);
switch (outlineMode) {
case Mode.OutlineAll:
outlineMaskMaterial.SetFloat("_ZTest", (float)UnityEngine.Rendering.CompareFunction.Always);
outlineFillMaterial.SetFloat("_ZTest", (float)UnityEngine.Rendering.CompareFunction.Always);
outlineFillMaterial.SetFloat("_OutlineWidth", outlineWidth);
break;
case Mode.OutlineVisible:
outlineMaskMaterial.SetFloat("_ZTest", (float)UnityEngine.Rendering.CompareFunction.Always);
outlineFillMaterial.SetFloat("_ZTest", (float)UnityEngine.Rendering.CompareFunction.LessEqual);
outlineFillMaterial.SetFloat("_OutlineWidth", outlineWidth);
break;
case Mode.OutlineHidden:
outlineMaskMaterial.SetFloat("_ZTest", (float)UnityEngine.Rendering.CompareFunction.Always);
outlineFillMaterial.SetFloat("_ZTest", (float)UnityEngine.Rendering.CompareFunction.Greater);
outlineFillMaterial.SetFloat("_OutlineWidth", outlineWidth);
break;
case Mode.OutlineAndSilhouette:
outlineMaskMaterial.SetFloat("_ZTest", (float)UnityEngine.Rendering.CompareFunction.LessEqual);
outlineFillMaterial.SetFloat("_ZTest", (float)UnityEngine.Rendering.CompareFunction.Always);
outlineFillMaterial.SetFloat("_OutlineWidth", outlineWidth);
break;
case Mode.SilhouetteOnly:
outlineMaskMaterial.SetFloat("_ZTest", (float)UnityEngine.Rendering.CompareFunction.LessEqual);
outlineFillMaterial.SetFloat("_ZTest", (float)UnityEngine.Rendering.CompareFunction.Greater);
outlineFillMaterial.SetFloat("_OutlineWidth", 0f);
break;
}
}
}
fileFormatVersion: 2
guid: 5fea29bb7c508c244a1f805a5fd3fc4d
timeCreated: 1522369084
licenseType: Store
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 115488
packageName: Quick Outline
packageVersion: 1.1
assetPath: Assets/QuickOutline/Scripts/Outline.cs
uploadId: 485303
......@@ -12,7 +12,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 0b2db86121404754db890f4c8dfe81b2, type: 3}
m_Name: Bloom
m_EditorClassIdentifier:
active: 1
active: 0
skipIterations:
m_OverrideState: 1
m_Value: 0
......@@ -34,6 +34,9 @@ MonoBehaviour:
highQualityFiltering:
m_OverrideState: 1
m_Value: 1
filter:
m_OverrideState: 0
m_Value: 0
downscale:
m_OverrideState: 0
m_Value: 0
......@@ -59,7 +62,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 899c54efeace73346a0a16faa3afe726, type: 3}
m_Name: Vignette
m_EditorClassIdentifier:
active: 1
active: 0
color:
m_OverrideState: 0
m_Value: {r: 0, g: 0, b: 0, a: 1}
......@@ -104,7 +107,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 97c23e3b12dc18c42a140437e53d3951, type: 3}
m_Name: Tonemapping
m_EditorClassIdentifier:
active: 1
active: 0
mode:
m_OverrideState: 1
m_Value: 1
......
fileFormatVersion: 2
guid: 74aff58fdbc1b1c418cf186adf5d4474
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 19101, guid: 0000000000000000e000000000000000, type: 0}
m_Name: PanelSettings
m_EditorClassIdentifier: UnityEngine.dll::UnityEngine.UIElements.PanelSettings
themeUss: {fileID: -4733365628477956816, guid: e2a60aa75a15f104ea146388c91d4d76, type: 3}
m_DisableNoThemeWarning: 0
m_TargetTexture: {fileID: 0}
m_RenderMode: 0
m_ColliderUpdateMode: 0
m_ColliderIsTrigger: 1
m_ScaleMode: 2
m_ReferenceSpritePixelsPerUnit: 100
m_PixelsPerUnit: 100
m_Scale: 1
m_ReferenceDpi: 96
m_FallbackDpi: 96
m_ReferenceResolution: {x: 1920, y: 1080}
m_ScreenMatchMode: 0
m_Match: 1
m_SortingOrder: 0
m_TargetDisplay: 0
m_BindingLogLevel: 0
m_ClearDepthStencil: 1
m_ClearColor: 0
m_ColorClearValue: {r: 0, g: 0, b: 0, a: 0}
m_VertexBudget: 0
m_TextureSlotCount: 8
m_DynamicAtlasSettings:
m_MinAtlasSize: 64
m_MaxAtlasSize: 4096
m_MaxSubTextureSize: 64
m_ActiveFilters: -1
m_AtlasBlitShader: {fileID: 9101, guid: 0000000000000000f000000000000000, type: 0}
m_DefaultShader: {fileID: 9100, guid: 0000000000000000f000000000000000, type: 0}
m_RuntimeGaussianBlurShader: {fileID: 20300, guid: 0000000000000000f000000000000000, type: 0}
m_RuntimeColorEffectShader: {fileID: 20301, guid: 0000000000000000f000000000000000, type: 0}
m_SDFShader: {fileID: 19011, guid: 0000000000000000f000000000000000, type: 0}
m_BitmapShader: {fileID: 9001, guid: 0000000000000000f000000000000000, type: 0}
m_SpriteShader: {fileID: 19012, guid: 0000000000000000f000000000000000, type: 0}
m_ICUDataAsset: {fileID: 20204, guid: 0000000000000000f000000000000000, type: 0}
forceGammaRendering: 0
textSettings: {fileID: 0}
fileFormatVersion: 2
guid: d3baed53a3ac88e48a3b13380910bff5
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 4f92da70503dea04b8a6e2bf03f8fbdb
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@import url("unity-theme://default");
\ No newline at end of file
fileFormatVersion: 2
guid: e2a60aa75a15f104ea146388c91d4d76
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 12388, guid: 0000000000000000e000000000000000, type: 0}
disableValidation: 0
unsupportedSelectorAction: 0
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 19101, guid: 0000000000000000e000000000000000, type: 0}
m_Name: World
m_EditorClassIdentifier: UnityEngine.dll::UnityEngine.UIElements.PanelSettings
themeUss: {fileID: -4733365628477956816, guid: e2a60aa75a15f104ea146388c91d4d76, type: 3}
m_DisableNoThemeWarning: 0
m_TargetTexture: {fileID: 0}
m_RenderMode: 1
m_ColliderUpdateMode: 0
m_ColliderIsTrigger: 0
m_ScaleMode: 1
m_ReferenceSpritePixelsPerUnit: 95
m_PixelsPerUnit: 100
m_Scale: 1
m_ReferenceDpi: 96
m_FallbackDpi: 96
m_ReferenceResolution: {x: 1200, y: 800}
m_ScreenMatchMode: 0
m_Match: 0
m_SortingOrder: 0
m_TargetDisplay: 0
m_BindingLogLevel: 0
m_ClearDepthStencil: 1
m_ClearColor: 0
m_ColorClearValue: {r: 0, g: 0, b: 0, a: 0}
m_VertexBudget: 0
m_TextureSlotCount: 8
m_DynamicAtlasSettings:
m_MinAtlasSize: 64
m_MaxAtlasSize: 4096
m_MaxSubTextureSize: 64
m_ActiveFilters: -1
m_AtlasBlitShader: {fileID: 9101, guid: 0000000000000000f000000000000000, type: 0}
m_DefaultShader: {fileID: 9100, guid: 0000000000000000f000000000000000, type: 0}
m_RuntimeGaussianBlurShader: {fileID: 20300, guid: 0000000000000000f000000000000000, type: 0}
m_RuntimeColorEffectShader: {fileID: 20301, guid: 0000000000000000f000000000000000, type: 0}
m_SDFShader: {fileID: 19011, guid: 0000000000000000f000000000000000, type: 0}
m_BitmapShader: {fileID: 9001, guid: 0000000000000000f000000000000000, type: 0}
m_SpriteShader: {fileID: 19012, guid: 0000000000000000f000000000000000, type: 0}
m_ICUDataAsset: {fileID: 20204, guid: 0000000000000000f000000000000000, type: 0}
forceGammaRendering: 0
textSettings: {fileID: 0}
fileFormatVersion: 2
guid: fca3c3efa7acc72468e6616b595b751b
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
......@@ -69,7 +69,7 @@ AnimatorStateTransition:
serializedVersion: 3
m_TransitionDuration: 0.25
m_TransitionOffset: 0
m_ExitTime: 0.75
m_ExitTime: 1
m_HasExitTime: 1
m_HasFixedDuration: 1
m_InterruptionSource: 0
......@@ -84,7 +84,7 @@ AnimatorController:
m_Name: Gun
serializedVersion: 5
m_AnimatorParameters:
- m_Name: GunReload
- m_Name: Reload
m_Type: 9
m_DefaultFloat: 0
m_DefaultInt: 0
......@@ -138,7 +138,7 @@ AnimatorStateTransition:
m_Name:
m_Conditions:
- m_ConditionMode: 1
m_ConditionEvent: GunReload
m_ConditionEvent: Reload
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: -1970370460849426459}
......
......@@ -10,7 +10,8 @@ AnimatorState:
m_Name: Rifle Idle
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
m_Transitions:
- {fileID: 5198256549359024712}
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 1
......@@ -26,6 +27,31 @@ AnimatorState:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1101 &-684440893281712711
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions:
- m_ConditionMode: 2
m_ConditionEvent: Run
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: -5516919947687628232}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0.1
m_TransitionOffset: 0
m_ExitTime: 0.6590909
m_HasExitTime: 0
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!91 &9100000
AnimatorController:
m_ObjectHideFlags: 0
......@@ -34,7 +60,13 @@ AnimatorController:
m_PrefabAsset: {fileID: 0}
m_Name: Human
serializedVersion: 5
m_AnimatorParameters: []
m_AnimatorParameters:
- m_Name: Run
m_Type: 4
m_DefaultFloat: 0
m_DefaultInt: 0
m_DefaultBool: 0
m_Controller: {fileID: 9100000}
m_AnimatorLayers:
- serializedVersion: 5
m_Name: Base Layer
......@@ -58,7 +90,8 @@ AnimatorState:
m_Name: Rifle Run
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
m_Transitions:
- {fileID: -684440893281712711}
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 1
......@@ -85,10 +118,10 @@ AnimatorStateMachine:
m_ChildStates:
- serializedVersion: 1
m_State: {fileID: -5516919947687628232}
m_Position: {x: 342.68927, y: 154.53004, z: 0}
m_Position: {x: 260, y: 110, z: 0}
- serializedVersion: 1
m_State: {fileID: 687293401675351064}
m_Position: {x: 423.30292, y: 92.51961, z: 0}
m_Position: {x: 520, y: 100, z: 0}
m_ChildStateMachines: []
m_AnyStateTransitions: []
m_EntryTransitions: []
......@@ -99,3 +132,28 @@ AnimatorStateMachine:
m_ExitPosition: {x: 800, y: 120, z: 0}
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
m_DefaultState: {fileID: -5516919947687628232}
--- !u!1101 &5198256549359024712
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions:
- m_ConditionMode: 1
m_ConditionEvent: Run
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: 687293401675351064}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0.1
m_TransitionOffset: 0
m_ExitTime: 0.91935486
m_HasExitTime: 0
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
fileFormatVersion: 2
guid: 890f59632e22cdc41945bcb63291dbfd
AudioImporter:
externalObjects: {}
serializedVersion: 8
defaultSettings:
serializedVersion: 2
loadType: 0
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 1
quality: 1
conversionMode: 0
preloadAudioData: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 08fd2821e7af2fa4d82040624345a21d
AudioImporter:
externalObjects: {}
serializedVersion: 8
defaultSettings:
serializedVersion: 2
loadType: 0
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 1
quality: 1
conversionMode: 0
preloadAudioData: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 895c7e4c91e1326469a1f66a81ad2b3a
AudioImporter:
externalObjects: {}
serializedVersion: 8
defaultSettings:
serializedVersion: 2
loadType: 0
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 1
quality: 1
conversionMode: 0
preloadAudioData: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: b94dbf18132bd5c43b5f4c6dda7eb222
AudioImporter:
externalObjects: {}
serializedVersion: 8
defaultSettings:
serializedVersion: 2
loadType: 0
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 1
quality: 1
conversionMode: 0
preloadAudioData: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant:
This diff is collapsed.
fileFormatVersion: 2
guid: c9e7d96b1b99c124d850ce32d0d81106
TrueTypeFontImporter:
externalObjects: {}
serializedVersion: 4
fontSize: 16
forceTextureCase: -2
characterSpacing: 0
characterPadding: 1
includeFontData: 1
fontNames:
- Font Awesome 7 Free
fallbackFontReferences: []
customCharacters:
fontRenderingMode: 0
ascentCalculationMode: 1
useLegacyBoundsCalculation: 0
shouldRoundAdvanceValue: 1
userData:
assetBundleName:
assetBundleVariant:
This diff is collapsed.
fileFormatVersion: 2
guid: 1d8d8c4775345844cbb3f40e056fc011
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
This diff is collapsed.
fileFormatVersion: 2
guid: b66a7d768ca028249a3b0f7187d16b25
guid: 577bb27bd6ca69141a62a12a1a193d44
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 23800000
......
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!850595691 &4890085278179872738
LightingSettings:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: New Lighting Settings
serializedVersion: 10
m_EnableBakedLightmaps: 1
m_EnableRealtimeLightmaps: 0
m_RealtimeEnvironmentLighting: 1
m_BounceScale: 1
m_AlbedoBoost: 1
m_IndirectOutputScale: 1
m_UsingShadowmask: 1
m_BakeBackend: 2
m_LightmapMaxSize: 1024
m_LightmapSizeFixed: 0
m_UseMipmapLimits: 1
m_BakeResolution: 40
m_Padding: 2
m_LightmapCompression: 3
m_LightmapPackingMode: 0
m_LightmapPackingMethod: 1
m_XAtlasPackingAttempts: 16384
m_XAtlasBruteForce: 0
m_XAtlasBlockAlign: 0
m_XAtlasRepackUnderutilizedLightmaps: 1
m_AO: 0
m_AOMaxDistance: 1
m_CompAOExponent: 1
m_CompAOExponentDirect: 0
m_ExtractAO: 0
m_MixedBakeMode: 2
m_LightmapsBakeMode: 1
m_FilterMode: 1
m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0}
m_ExportTrainingData: 0
m_EnableWorkerProcessBaking: 1
m_TrainingDataDestination: TrainingData
m_RealtimeResolution: 2
m_ForceWhiteAlbedo: 0
m_ForceUpdates: 0
m_PVRCulling: 1
m_PVRSampling: 1
m_PVRDirectSampleCount: 32
m_PVRSampleCount: 512
m_PVREnvironmentSampleCount: 256
m_PVREnvironmentReferencePointCount: 2048
m_LightProbeSampleCountMultiplier: 4
m_PVRBounces: 2
m_PVRMinBounces: 2
m_PVREnvironmentImportanceSampling: 1
m_PVRFilteringMode: 1
m_PVRDenoiserTypeDirect: 1
m_PVRDenoiserTypeIndirect: 1
m_PVRDenoiserTypeAO: 1
m_PVRFilterTypeDirect: 0
m_PVRFilterTypeIndirect: 0
m_PVRFilterTypeAO: 0
m_PVRFilteringGaussRadiusDirect: 1
m_PVRFilteringGaussRadiusIndirect: 1
m_PVRFilteringGaussRadiusAO: 1
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
m_PVRFilteringAtrousPositionSigmaIndirect: 2
m_PVRFilteringAtrousPositionSigmaAO: 1
m_RespectSceneVisibilityWhenBakingGI: 0
fileFormatVersion: 2
guid: 48c7bc1181b890449bf014b78a0fc94c
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 4890085278179872738
userData:
assetBundleName:
assetBundleVariant:
......@@ -12,7 +12,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 62a27678e4abd5d48b2a05691332883e, type: 3}
m_Name: Bear
m_EditorClassIdentifier: Assembly-CSharp::AnimalProperties
<AnimalSprite>k__BackingField: {fileID: 0}
<AnimalSprite>k__BackingField: {fileID: 10869649, guid: 7fcc8f6062603c840959abd5b67fb1c9, type: 3}
<AnimalName>k__BackingField: 6
<AnimalType>k__BackingField: 1
<FoodType>k__BackingField: 2
......
......@@ -12,7 +12,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 62a27678e4abd5d48b2a05691332883e, type: 3}
m_Name: PolarBear
m_EditorClassIdentifier: Assembly-CSharp::AnimalProperties
<AnimalSprite>k__BackingField: {fileID: 0}
<AnimalSprite>k__BackingField: {fileID: 736639299, guid: 7fcc8f6062603c840959abd5b67fb1c9, type: 3}
<AnimalName>k__BackingField: 1
<AnimalType>k__BackingField: 1
<FoodType>k__BackingField: 0
......
fileFormatVersion: 2
guid: 509454fab1fda60448696d9392beb4cf
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e71612c2ad6054044a807f48fa6e6b45, type: 3}
m_Name: GameState
m_EditorClassIdentifier: Assembly-CSharp::GameState
RoundTime: 00:50
currentRound: Round 1/5
currentQuestion: "\u062B\u062F\u064A \u0648\u064A\u0623\u0643\u0644 \u0643\u0644
\u0634\u0626"
leaderBoardClasses:
- leaderBoardName: 1. Abdo
leaderBoardScore: 25
- leaderBoardName: 2. Mohamed
leaderBoardScore: 40
- leaderBoardName: 3. Ali
leaderBoardScore: 500
- leaderBoardName: 4. Khaled
leaderBoardScore: 70
fileFormatVersion: 2
guid: 6b8e17b098f99484e9dd825392e9f497
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0cbb8a7653d93c743a103f85b34a3690, type: 3}
m_Name: PlayerState
m_EditorClassIdentifier: Assembly-CSharp::PlayerHUDState
bulletAmount: 10/10
healthSlider: 1.33
fileFormatVersion: 2
guid: fc0737fda8b32d843a85a08bb4172479
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
using System;
using System.Collections.Generic;
using UnityEngine;
[CreateAssetMenu(fileName = "GameState", menuName = "Scriptable Objects/GameState")]
public class GameState : ScriptableObject
{
public string RoundTime;
public string currentRound;
public string currentQuestion;
public leaderBoardClass[] leaderBoardClasses = new leaderBoardClass[4];
}
[Serializable]
public class leaderBoardClass
{
public string leaderBoardName;
public string leaderBoardScore;
}
\ No newline at end of file
fileFormatVersion: 2
guid: e71612c2ad6054044a807f48fa6e6b45
\ No newline at end of file
using UnityEngine;
[CreateAssetMenu(fileName = "PlayerState", menuName = "Scriptable Objects/PlayerState")]
public class PlayerHUDState : ScriptableObject
{
public string bulletAmount;
public float healthSlider;
}
fileFormatVersion: 2
guid: 0cbb8a7653d93c743a103f85b34a3690
\ No newline at end of file
......@@ -3,7 +3,7 @@ using UnityEngine;
public class BodyPart : MonoBehaviour,IDamageable
{
[field: SerializeField] public AnimalPart AnimalPart { get; private set; }
AudioSource _audioSource;
Health _healthScript;
AnimalDetails _animalDetails;
......@@ -11,7 +11,7 @@ public class BodyPart : MonoBehaviour,IDamageable
{
_healthScript = GetComponentInParent<Health>();
_animalDetails = GetComponentInParent<AnimalDetails>();
_audioSource = GetComponentInParent<AudioSource>();
CheckIfCorrectAnimal();
}
void CheckIfCorrectAnimal()
......@@ -20,6 +20,7 @@ public class BodyPart : MonoBehaviour,IDamageable
}
public void TakeDamage(int amount, RaycastWeapon player)
{
_audioSource.Play();
_healthScript.TakeDamage(amount, player);
}
}
......@@ -16,11 +16,15 @@ public class Health : NetworkBehaviour
[SerializeField] RaycastWeapon _firstPlayer;
[SerializeField] RaycastWeapon _lastPlayer;
[SerializeField] Material _currentAnimalMaterial;
AnimalProperties _animalProperties;
bool _isDie;
private void Start()
{
_currentAnimalMaterial = GetComponentInChildren<SkinnedMeshRenderer>().material;
_animalProperties = GetComponent<AnimalDetails>().animalProperties;
InstantiateHealthBar();
......@@ -58,6 +62,7 @@ public class Health : NetworkBehaviour
{
if (_isDie) return;
HighlightAnimal();
ChangeAnimalState(player.GetComponent<Transform>());
HandlePlayerServerRpc(player.GetComponent<NetworkObject>());
......@@ -68,11 +73,19 @@ public class Health : NetworkBehaviour
ChangeColorOfHealthBar(newHelth);
ChangeScoreServerRpc(newHelth);
if (newHelth <= 0) Die();
}
bool _isHighlight;
void HighlightAnimal()
{
_currentAnimalMaterial.EnableKeyword("_EMISSION");
_currentAnimalMaterial.SetColor("_EmissionColor", Color.red);
Invoke("TurnOfEmissionColor",.1f);
}
void TurnOfEmissionColor()
{
_currentAnimalMaterial.DisableKeyword("_EMISSION");
}
private void ChangeAnimalState(Transform player)
{
if (_animalProperties.CanAttack)
......
......@@ -6,7 +6,7 @@ public class FootStepSFX : MonoBehaviour
AudioSource _audioSource;
private void Start()
{
_audioSource = GetComponentInParent<AudioSource>();
_audioSource = GetComponent<AudioSource>();
}
public void PlayFootStepSFX()
{
......
......@@ -7,10 +7,10 @@ using UnityEngine;
public class PlayerDetails : NetworkBehaviour
{
public NetworkVariable<PlayerNetworkData> playerNetworkData = new NetworkVariable<PlayerNetworkData>(default, NetworkVariableReadPermission.Everyone, NetworkVariableWritePermission.Server);
public NetworkVariable<FixedString32Bytes> PlayerName = new NetworkVariable<FixedString32Bytes>("Null", readPerm: NetworkVariableReadPermission.Everyone, writePerm: NetworkVariableWritePermission.Owner);
[SerializeField] FixedString32Bytes playerID;
[field:SerializeField] public PlayerHUDState PlayerHUDState { get; private set; }
[SerializeField] RTLTextMeshPro nameText;
[SerializeField] string avatar;
public void InitPlayerData(PlayerNetworkData playerNetworkData)
......
......@@ -11,6 +11,7 @@ public class PlayerMovement : NetworkBehaviour
[SerializeField] float moveSpeed; // defult 15
[SerializeField] float rotateSpeed; // defult 10
[SerializeField] Transform cam;
[SerializeField] Animator bodyAnimator;
[Header("Bob Setting")]
[SerializeField] Transform bobTarget;
[SerializeField] float bobSpeed; // defult 20
......@@ -28,10 +29,9 @@ public class PlayerMovement : NetworkBehaviour
void Start()
{
_inputManager = InputManager.Instance;
_startTargetPos = bobTarget.localPosition;
characterController = GetComponent<CharacterController>();
_raycastWeapon = GetComponent<RaycastWeapon>();
_startTargetPos = bobTarget.localPosition;
}
public override void OnNetworkSpawn()
{
......@@ -71,6 +71,11 @@ public class PlayerMovement : NetworkBehaviour
if (_isDie) return;
_movementDirection = new Vector3(_inputManager.Move.x, 0, _inputManager.Move.y);
if (_movementDirection.sqrMagnitude > .01)
bodyAnimator.SetBool("Run", true);
else
bodyAnimator.SetBool("Run", false);
_movementDirection = transform.TransformDirection(_movementDirection);
Gravity();
......@@ -94,8 +99,8 @@ public class PlayerMovement : NetworkBehaviour
float sinY = Mathf.Sin(_bobTimer);
float sinX = Mathf.Sin(_bobTimer * .5f);
float bobY = sinY * 0.01f;
float bobX = sinX * 0.01f;
float bobY = sinY * 0.015f;
float bobX = sinX * 0.015f;
targetPos = new Vector3(_startTargetPos.x + bobX, _startTargetPos.y + bobY, _startTargetPos.z);
}
......@@ -109,32 +114,30 @@ public class PlayerMovement : NetworkBehaviour
private void Rotate()
{
_rotationDirection += new Vector3(-_inputManager.Look.y, _inputManager.Look.x, 0) * rotateSpeed * Time.deltaTime;
_rotationDirection.x = Mathf.Clamp(_rotationDirection.x, -50, 60);
//if (_raycastWeapon._currentAnimal == null)
//{
// _rotationDirection += new Vector3(-_inputManager.Look.y, _inputManager.Look.x, 0) * rotateSpeed * Time.deltaTime;
// _rotationDirection.x = Mathf.Clamp(_rotationDirection.x, -80, 80);
//}
//else
//{
// Vector3 bodyDir = _raycastWeapon._currentAnimal.position - transform.position;
// bodyDir.y = 0;
if (_raycastWeapon.CurrentAnimal == null)
{
_rotationDirection += new Vector3(-_inputManager.Look.y, _inputManager.Look.x, 0) * rotateSpeed * Time.deltaTime;
_rotationDirection.x = Mathf.Clamp(_rotationDirection.x, -50, 60);
}
else
{
Vector3 bodyDir = _raycastWeapon.CurrentAnimal.position - transform.position;
bodyDir.y = 0;
// Quaternion newBodyRotation = Quaternion.LookRotation(bodyDir);
// float bodyAngle = newBodyRotation.eulerAngles.y;
Quaternion newBodyRotation = Quaternion.LookRotation(bodyDir);
float bodyAngle = newBodyRotation.eulerAngles.y;
// float bodyDelta = Mathf.DeltaAngle(_rotationDirection.y, bodyAngle);
// _rotationDirection.y += bodyDelta * 10 * Time.deltaTime;
float bodyDelta = Mathf.DeltaAngle(_rotationDirection.y, bodyAngle);
_rotationDirection.y += bodyDelta * 10 * Time.deltaTime;
// Quaternion newCamRotation = Quaternion.LookRotation(_raycastWeapon._currentAnimal.position - cam.transform.position);
// float camAngle = newCamRotation.eulerAngles.x;
Quaternion newCamRotation = Quaternion.LookRotation(_raycastWeapon.CurrentAnimal.position - cam.transform.position);
float camAngle = newCamRotation.eulerAngles.x;
// float camDelta = Mathf.DeltaAngle(_rotationDirection.x, camAngle);
// _rotationDirection.x += camDelta * 10 * Time.deltaTime;
float camDelta = Mathf.DeltaAngle(_rotationDirection.x, camAngle);
_rotationDirection.x += camDelta * 10 * Time.deltaTime;
//}
}
transform.rotation = Quaternion.Euler(0, _rotationDirection.y, 0);
cam.transform.localRotation = Quaternion.Euler(_rotationDirection.x, 0f, 0f);
}
......
......@@ -3,13 +3,19 @@ using UnityEngine;
public class ScanAnimals : MonoBehaviour
{
public event Action<AnimalDetails> onAnimalScan;
[SerializeField] LayerMask animalLayer;
[SerializeField] TypewriterEffect TextPanel;
[SerializeField] ParticleSystem scanParticle;
[SerializeField] GameObject scanEffect;
[SerializeField] ParticleSystem impactAnimalEffect;
InputManager _inputManager;
Camera _cam;
Material _currentAnimalMaterial;
Outline _currentAnimalOutline;
bool _isEventInvoked;
void Start()
{
_inputManager = InputManager.Instance;
......@@ -24,17 +30,55 @@ public class ScanAnimals : MonoBehaviour
{
if (hit.collider.TryGetComponent<AnimalDetails>(out AnimalDetails animalDetails))
{
if(!scanParticle.isPlaying) scanParticle.Play();
TextPanel.ShowAnimalDetails(animalDetails);
scanEffect.SetActive(true);
ImpactAnimalEffect(hit.point);
_currentAnimalMaterial = hit.collider.GetComponentInChildren<SkinnedMeshRenderer>().material;
_currentAnimalOutline = hit.collider.GetComponentInChildren<Outline>();
if (_currentAnimalOutline != null) _currentAnimalOutline.enabled = true;
_currentAnimalMaterial.EnableKeyword("_EMISSION");
_currentAnimalMaterial.SetColor("_EmissionColor", new Color(0.04201315f, 0.2454573f, 0.4150943f));
InvokeEvent(animalDetails);
}
}
else
{
if (impactAnimalEffect.isPlaying) impactAnimalEffect.Stop();
scanEffect.SetActive(false);
if (_currentAnimalOutline != null) _currentAnimalOutline.enabled = false;
if (_currentAnimalMaterial != null) _currentAnimalMaterial.DisableKeyword("_EMISSION");
}
}
else
{
if (scanParticle.isPlaying) scanParticle.Stop();
if (!_inputManager.Attack) if (_currentAnimalMaterial != null) _currentAnimalMaterial.DisableKeyword("_EMISSION");
if (_currentAnimalOutline != null) _currentAnimalOutline.enabled = false;
if (impactAnimalEffect.isPlaying) impactAnimalEffect.Stop();
scanEffect.SetActive(false);
TextPanel.HideText();
InvokeEvent(null);
}
}
public void InvokeEvent(AnimalDetails animalDetails)
{
if (animalDetails && !_isEventInvoked)
{
onAnimalScan?.Invoke(animalDetails);
_isEventInvoked = true;
}
else if (!animalDetails && _isEventInvoked)
{
onAnimalScan?.Invoke(null);
_isEventInvoked = false;
}
}
void ImpactAnimalEffect(Vector3 pos)
{
impactAnimalEffect.transform.position = pos;
if (!impactAnimalEffect.isPlaying) impactAnimalEffect.Play();
}
}
using UnityEngine;
public class turnOffLazerEffect : MonoBehaviour
{
[SerializeField] float _laserDisableTime; // defult 0.13
[SerializeField] Transform parent;
bool _isEnable;
float timer;
private void OnEnable()
{
parent.localPosition = new Vector3(parent.localPosition.x, parent.localPosition.y, -0.035f);
timer = Time.time + 0.13f;
_isEnable = true;
}
private void Update()
{
if (_isEnable && Time.time > timer)
{
parent.localPosition = new Vector3(parent.localPosition.x, parent.localPosition.y, 0);
_isEnable = false;
gameObject.SetActive(false);
}
}
}
fileFormatVersion: 2
guid: 278120b10e3c0b84dbab0d243b66c080
\ No newline at end of file
......@@ -2,26 +2,26 @@ using System;
using System.Collections;
using Unity.Netcode;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.UIElements;
public class HumanHealth : NetworkBehaviour
{
public event Action<bool> onDead;
[SerializeField] int maxHealth;
[SerializeField] Slider slider;
[SerializeField] Fade fadeCanves;
[SerializeField] Canvas canvas;
PlayerHUDState playerHUD;
int _currentHealth;
[field: SerializeField] int _currentHealth;
private void Start()
{
playerHUD = GetComponent<PlayerDetails>().PlayerHUDState;
_currentHealth = maxHealth;
slider.maxValue = maxHealth;
playerHUD.healthSlider = maxHealth;
}
public override void OnNetworkSpawn()
{
if (!IsOwner) canvas.gameObject.SetActive(false);
if (!IsOwner) GetComponent<UIDocument>().enabled = false;
}
public void TakeDamage(AnimalAi animalAi)
{
......@@ -32,7 +32,7 @@ public class HumanHealth : NetworkBehaviour
void TakeDamageServerRpc(NetworkObjectReference animalReference)
{
_currentHealth--;
slider.value = _currentHealth;
playerHUD.healthSlider = _currentHealth;
if (_currentHealth <= 0)
{
......@@ -56,6 +56,6 @@ public class HumanHealth : NetworkBehaviour
fadeCanves.FadeOut();
_currentHealth = maxHealth;
slider.value = _currentHealth;
playerHUD.healthSlider = _currentHealth;
}
}
......@@ -5,10 +5,10 @@ using Unity.Netcode;
using UnityEngine;
public class Score : NetworkBehaviour
{
[field: SerializeField] public NetworkVariable<int> _score = new NetworkVariable<int>(readPerm: NetworkVariableReadPermission.Everyone, writePerm: NetworkVariableWritePermission.Server);
[SerializeField] bool isNPC;
NetworkVariable<int> _score = new NetworkVariable<int>(readPerm: NetworkVariableReadPermission.Everyone, writePerm: NetworkVariableWritePermission.Server);
RaycastWeapon _raycastWeapon;
[SerializeField] FixedString32Bytes _NPCsId;
FixedString32Bytes _NPCsId;
string _playerName;
private void OnEnable()
{
......
using UnityEngine;
using DG.Tweening;
public class AnimalDetailsPanel : MonoBehaviour
{
[SerializeField] float scaleSpeed;
[SerializeField] ScanAnimals panel;
AudioSource _audioSource;
private void Start()
{
_audioSource = GetComponent<AudioSource>();
panel.onAnimalScan += onAnimalScan;
}
private void onAnimalScan(AnimalDetails animalDetails)
{
if (animalDetails)
{
transform.DOScaleY(1, .2f).SetEase(Ease.OutBack);
_audioSource.Play();
}
else
{
transform.DOScaleY(0, .2f).SetEase(Ease.InBack);
}
}
}
fileFormatVersion: 2
guid: b9f3d03372cde2049aa6865486253735
\ No newline at end of file
......@@ -2,6 +2,8 @@
using UnityEngine;
using DG.Tweening;
using RTLTMPro;
using ALArcade.ArabicTMP;
using UnityEngine.UI;
class AnimalPropertiesProgress
{
......@@ -12,61 +14,77 @@ class AnimalPropertiesProgress
public class TypewriterEffect : MonoBehaviour
{
[SerializeField] float typeDuration;
Dictionary<AnimalProperties, AnimalPropertiesProgress> animalPropertiesList = new Dictionary<AnimalProperties, AnimalPropertiesProgress>();
RTLTextMeshPro _textMeshProUGUI;
AnimalDetails _currentAnimalScript;
[SerializeField] Image animalImage;
[SerializeField] ArabicTextMeshProUGUI animalName;
[SerializeField] ArabicTextMeshProUGUI animalDescription;
Tween currentTween;
void Start()
Dictionary<AnimalProperties, AnimalPropertiesProgress> animalPropertiesList = new Dictionary<AnimalProperties, AnimalPropertiesProgress>();
ScanAnimals scanAnimals;
private void Start()
{
_textMeshProUGUI = GetComponent<RTLTextMeshPro>();
scanAnimals = GetComponent<ScanAnimals>();
scanAnimals.onAnimalScan += ShowAnimalDetails;
}
public void ShowAnimalDetails(AnimalDetails animalDetailsScript)
{
if (_currentAnimalScript == animalDetailsScript) return;
_currentAnimalScript = animalDetailsScript;
_textMeshProUGUI.maxVisibleCharacters = 0;
if (!animalPropertiesList.ContainsKey(animalDetailsScript.animalProperties))
if (animalDetailsScript)
{
animalPropertiesList.Add(animalDetailsScript.animalProperties, new AnimalPropertiesProgress());
}
animalImage.sprite = animalDetailsScript.animalProperties.AnimalSprite;
animalName.arabicText = CleanText(animalDetailsScript.animalProperties.AnimalName.ToString());
var value = animalPropertiesList[animalDetailsScript.animalProperties];
animalDescription.maxVisibleCharacters = 0;
WriteText(animalDetailsScript);
if (!animalPropertiesList.ContainsKey(animalDetailsScript.animalProperties))
{
animalPropertiesList.Add(animalDetailsScript.animalProperties, new AnimalPropertiesProgress());
}
if (value.isDone)
{
_textMeshProUGUI.maxVisibleCharacters = _textMeshProUGUI.text.Length;
return;
}
var value = animalPropertiesList[animalDetailsScript.animalProperties];
currentTween?.Kill();
currentTween = DOVirtual.Int(value.maxVisibleCharacters, _textMeshProUGUI.text.Length, typeDuration, (newValue) =>
{
value.maxVisibleCharacters = newValue;
_textMeshProUGUI.maxVisibleCharacters = newValue;
}).SetEase(Ease.Linear).OnComplete(() => { value.isDone = true; });
WriteText(animalDetailsScript);
if (value.isDone)
{
animalDescription.maxVisibleCharacters = animalDescription.text.Length;
return;
}
currentTween?.Kill();
currentTween = DOVirtual.Int(value.maxVisibleCharacters, animalDescription.text.Length, typeDuration, (newValue) =>
{
value.maxVisibleCharacters = newValue;
animalDescription.maxVisibleCharacters = newValue;
}).SetEase(Ease.Linear).OnComplete(() => { value.isDone = true; });
}
else
{
HideText();
}
}
void WriteText(AnimalDetails animalDetails)
{
AnimalProperties animalProperties = animalDetails.animalProperties;
string text = $"الأسم: {animalProperties.AnimalName} + النوع: {animalProperties.AnimalType} + نوع الأكل: {animalProperties.FoodType} + البيئة: {animalProperties.Environment} + القدرة: {animalProperties.SpecialAbilities} التكاثر: {animalProperties.Reproduction}";
text = text.Replace("_", " ");
_textMeshProUGUI.text = text;
string text = $"{animalProperties.AnimalType} و {animalProperties.FoodType} \n {animalProperties.Environment} \n و {animalProperties.SpecialAbilities} \n و {animalProperties.Reproduction}";
text = CleanText(text);
animalDescription.arabicText = text;
}
string CleanText(string text)
{
return text.Replace("_", " ");
}
public void HideText()
{
_currentAnimalScript = null;
_textMeshProUGUI.text = " ";
animalDescription.arabicText = " ";
if (currentTween != null && currentTween.IsActive())
currentTween.Kill();
}
private void OnDestroy()
{
DOTween.Kill(_textMeshProUGUI);
DOTween.Kill(animalDescription);
}
}
using DG.Tweening;
using System;
using System;
using System.Collections;
using TMPro;
using Unity.Collections;
using Unity.Netcode;
using UnityEngine;
public class RaycastWeapon : MonoBehaviour
{
public Transform CurrentAnimal { get; private set; }
public event Action<int> onAnimalDie;
[field: SerializeField] public Transform _currentAnimal { get; private set; }
[SerializeField] Transform hitPoint;
[SerializeField] bool showRay = true;
[SerializeField] TextMeshProUGUI ammoText;
[Header("Raycast Settings")]
[SerializeField] float range;
[SerializeField] int maxAmmo;
[SerializeField] float reloadTime;
[SerializeField] LayerMask bodyPartLayer;
[SerializeField] ParticleSystem MuzzleFlashEffect;
[Header("Lazer Setting")]
[SerializeField] AudioClip lazerClip;
[SerializeField] AudioClip lazerReloadClip;
[SerializeField] GameObject lazerEffectGameObject;
[SerializeField] ParticleSystem impactAnimalEffect;
[SerializeField] ParticleSystem impactEffect;
[SerializeField] Animator lazerAnimator;
[Header("SphareRaycast Settings")]
[SerializeField] float rayRadius;
[Header("Damage Settings")]
[SerializeField] int HeadDamage;
[SerializeField] int BodyDamage;
[SerializeField] Animator gunAnimator;
AudioSource _audioSource;
int _currentAmmo;
bool isReloading;
Camera _camera;
PlayerHUDState _playerHUDState;
private void Start()
{
_currentAmmo = maxAmmo;
_camera = Camera.main;
_audioSource = GetComponent<AudioSource>();
_playerHUDState = GetComponent<PlayerDetails>().PlayerHUDState;
}
public void Fire(Vector3 origin, Vector3 direction, bool SphereCast = false)
{
......@@ -55,39 +50,60 @@ public class RaycastWeapon : MonoBehaviour
void Shoot(Vector3 origin, Vector3 direction, bool useRay)
{
_currentAmmo--;
if (ammoText != null) ammoText.text = $"{_currentAmmo}/10";
MuzzleFlashEffect.Play();
_playerHUDState.bulletAmount = $"{_currentAmmo}/10";
lazerEffectGameObject.SetActive(true);
_audioSource.PlayOneShot(lazerClip);
if (!useRay)
{
if (showRay)
Debug.DrawRay(origin, direction * range, Color.red, 1);
if (Physics.Raycast(origin, direction, out RaycastHit hit, range, bodyPartLayer))
if (Physics.Raycast(origin, direction, out RaycastHit hitAnimal, 100, bodyPartLayer))
{
ImpactAnimalEffect(hitAnimal.point);
RaycastHit(hitAnimal);
}
else if (Physics.Raycast(origin, direction, out RaycastHit hit, 100))
{
RaycastHit(hit);
ImpactEffect(hit.point);
}
}
else
{
Ray ray = _camera.ViewportPointToRay(new Vector3(.5f, .5f, 0));
if (Physics.SphereCast(ray, rayRadius, out RaycastHit hit, 100, bodyPartLayer))
if (Physics.SphereCast(ray, rayRadius, out RaycastHit hitAnimal, 100, bodyPartLayer))
{
_currentAnimal = hit.collider.transform;
RaycastHit(hit);
ImpactAnimalEffect(hitAnimal.point);
CurrentAnimal = hitAnimal.collider.transform;
RaycastHit(hitAnimal);
}
else if (Physics.Raycast(origin, direction, out RaycastHit hit, 100))
{
ImpactEffect(hit.point);
}
}
}
void ImpactAnimalEffect(Vector3 pos)
{
impactAnimalEffect.transform.position = pos;
impactAnimalEffect.Play();
}
void ImpactEffect(Vector3 pos)
{
impactEffect.transform.position = pos;
impactEffect.Play();
}
void RaycastHit(RaycastHit hit)
{
if (hit.collider.TryGetComponent<IDamageable>(out IDamageable damageable))
{
if (damageable.AnimalPart == AnimalPart.Body)
damageable.TakeDamage(BodyDamage, this);
damageable.TakeDamage(1, this);
else if (damageable.AnimalPart == AnimalPart.Head)
damageable.TakeDamage(HeadDamage, this);
damageable.TakeDamage(2, this);
}
}
public void Reload()
......@@ -95,23 +111,26 @@ public class RaycastWeapon : MonoBehaviour
if (_currentAmmo == maxAmmo) return;
if (!isReloading)
StartCoroutine(ReloadRoutine());
}
IEnumerator ReloadRoutine()
{
isReloading = true;
gunAnimator.SetTrigger("Reload");
_audioSource.PlayOneShot(lazerReloadClip);
float time = 1.2f;
lazerAnimator.SetTrigger("Reload");
yield return null;
while (gunAnimator.GetCurrentAnimatorStateInfo(0).normalizedTime < .95f)
while (time > 0)
{
time -= Time.deltaTime;
yield return null;
}
_currentAmmo = maxAmmo;
if (ammoText != null) ammoText.text = $"{_currentAmmo}/10";
_playerHUDState.bulletAmount = $"{_currentAmmo}/10";
isReloading = false;
}
public void AddScore(int score)
{
......@@ -119,6 +138,6 @@ public class RaycastWeapon : MonoBehaviour
}
public void ClearRay()
{
_currentAnimal = null;
CurrentAnimal = null;
}
}
This diff is collapsed.
fileFormatVersion: 2
guid: 98b2494c784966e4cae13dc436f801f0
guid: dd1819e27bbcf3c44b127465601e0cd0
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
......
fileFormatVersion: 2
guid: 36f8302333a70a14680b9f3396b82f7b
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: WindowsStoreApps
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites:
- serializedVersion: 2
name: AnimalsIconn_0
rect:
serializedVersion: 2
x: 781
y: 676
width: 191
height: 189
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 9a48ac59f7ea3da4995516733cb218b8
internalID: 405468668
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: AnimalsIconn_1
rect:
serializedVersion: 2
x: 26
y: 374
width: 187
height: 182
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: e7c489b469324e44598ea593c1ffbcf5
internalID: 1003108605
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: AnimalsIconn_2
rect:
serializedVersion: 2
x: 231
y: 375
width: 167
height: 163
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 325ffce31fb95604b9ff1fc23ac24082
internalID: -488495038
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: AnimalsIconn_3
rect:
serializedVersion: 2
x: 566
y: 377
width: 249
height: 243
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 0e992f81aab71ed4dbd397a4c4a99b08
internalID: -650299841
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: AnimalsIconn_4
rect:
serializedVersion: 2
x: 790
y: 172
width: 173
height: 158
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 0f92f875f55203e458a23ea196bdfcaf
internalID: 1978859527
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 20191e16ebe8f9c46ab26e55c702950f
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries:
- key: SpriteEditor.SliceSettings
value: '{"sliceOnImport":false,"gridCellCount":{"x":1.0,"y":1.0},"gridSpriteSize":{"x":64.0,"y":64.0},"gridSpriteOffset":{"x":0.0,"y":0.0},"gridSpritePadding":{"x":0.0,"y":0.0},"pivot":{"x":0.5,"y":0.5},"pivotPixels":{"x":0.0,"y":0.0},"autoSlicingMethod":0,"spriteAlignment":0,"pivotUnitMode":0,"slicingType":0,"keepEmptyRects":false,"isAlternate":false}'
nameFileIdTable:
AnimalsIconn_0: 405468668
AnimalsIconn_1: 1003108605
AnimalsIconn_2: -488495038
AnimalsIconn_3: -650299841
AnimalsIconn_4: 1978859527
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 16bef729cb99b484e9ec58084027378b
guid: 336e8ed2c22a19249821485dee5f2148
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
......
fileFormatVersion: 2
guid: bae5d4944412ff141954832f6381eea4
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: WindowsStoreApps
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites:
- serializedVersion: 2
name: a1_0
rect:
serializedVersion: 2
x: 37
y: 364
width: 282
height: 296
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 538fd8b8cd5851d4a8e2accb3816bc66
internalID: -659427036
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: a1_1
rect:
serializedVersion: 2
x: 329
y: 359
width: 366
height: 301
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 492a74b7685830f44a5effaf38cc8679
internalID: -2061739483
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: a1_2
rect:
serializedVersion: 2
x: 718
y: 350
width: 266
height: 323
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: e060c603a87157048b847f2db11c1c61
internalID: -800600769
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: d7f8919b0d0276b44be01352e80a1337
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries:
- key: SpriteEditor.SliceSettings
value: '{"sliceOnImport":false,"gridCellCount":{"x":1.0,"y":1.0},"gridSpriteSize":{"x":64.0,"y":64.0},"gridSpriteOffset":{"x":0.0,"y":0.0},"gridSpritePadding":{"x":0.0,"y":0.0},"pivot":{"x":0.5,"y":0.5},"pivotPixels":{"x":0.0,"y":0.0},"autoSlicingMethod":0,"spriteAlignment":0,"pivotUnitMode":0,"slicingType":0,"keepEmptyRects":false,"isAlternate":false}'
nameFileIdTable:
a1_0: -659427036
a1_1: -2061739483
a1_2: -800600769
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 7fcc8f6062603c840959abd5b67fb1c9
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: WindowsStoreApps
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites:
- serializedVersion: 2
name: a2_0
rect:
serializedVersion: 2
x: 26
y: 374
width: 187
height: 182
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: d95e5fa7ae575914ea3c9df69a5a65ba
internalID: 1800152236
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: a2_1
rect:
serializedVersion: 2
x: 231
y: 375
width: 167
height: 163
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: a066dcc46b1a6724a966029b56bc6a2e
internalID: 736639299
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: a2_2
rect:
serializedVersion: 2
x: 393
y: 375
width: 249
height: 243
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 5cc50e73b63554a4c87e960c547f8d8f
internalID: -296471853
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: a2_3
rect:
serializedVersion: 2
x: 622
y: 374
width: 173
height: 158
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 5c35e8e7ad7c56e4bbeb62e45cfa43ea
internalID: 10869649
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: a2_4
rect:
serializedVersion: 2
x: 806
y: 375
width: 191
height: 189
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 1fed6fe26d00bb745acd6073ca843110
internalID: 1969341038
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: afac5c193af1d1942be035cfc855f05b
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries:
- key: SpriteEditor.SliceSettings
value: '{"sliceOnImport":false,"gridCellCount":{"x":1.0,"y":1.0},"gridSpriteSize":{"x":64.0,"y":64.0},"gridSpriteOffset":{"x":0.0,"y":0.0},"gridSpritePadding":{"x":0.0,"y":0.0},"pivot":{"x":0.5,"y":0.5},"pivotPixels":{"x":0.0,"y":0.0},"autoSlicingMethod":0,"spriteAlignment":0,"pivotUnitMode":0,"slicingType":0,"keepEmptyRects":false,"isAlternate":false}'
nameFileIdTable:
a2_0: 1800152236
a2_1: 736639299
a2_2: -296471853
a2_3: 10869649
a2_4: 1969341038
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment