public void Sort_renderer(GameObject object_to_sort, HexagonCell _target_location) { Anima2D.SpriteMeshInstance Sprite_Mesh = object_to_sort.GetComponent <Anima2D.SpriteMeshInstance>(); if (Sprite_Mesh != null) { Sprite_Mesh.sortingOrder = Sprite_Mesh.GetComponent <Mesh_Layer>()._ordered_layer + ((_target_location.coords.X_coord + _target_location.coords.Y_coord) * Static_Variable_Container.max_sprite_sort); } SpriteRenderer sprite_rend = object_to_sort.GetComponent <SpriteRenderer>(); if (sprite_rend != null) { sprite_rend.sortingOrder = sprite_rend.GetComponent <Mesh_Layer>()._ordered_layer + ((_target_location.coords.X_coord + _target_location.coords.Y_coord) * Static_Variable_Container.max_sprite_sort); } Canvas canvas_rend = object_to_sort.GetComponent <Canvas>(); if (canvas_rend != null) { canvas_rend.sortingOrder = canvas_rend.GetComponent <Mesh_Layer>()._ordered_layer + ((_target_location.coords.X_coord + _target_location.coords.Y_coord) * Static_Variable_Container.max_sprite_sort); } }
protected void Start() { propertyBlock = new MaterialPropertyBlock(); if (transform.Find("Sprite") != null) { if (transform.Find("Sprite").transform.Find("Body") != null) { spriteMeshInstance = transform.Find("Sprite").transform.Find("Body").GetComponent <Anima2D.SpriteMeshInstance>(); Material mat = Instantiate(spriteMeshInstance.GetComponent <Anima2D.SpriteMeshInstance>().sharedMaterial); //skinnedMeshRenderer.material = mat; spriteMeshInstance.GetComponent <Anima2D.SpriteMeshInstance>().sharedMaterial = mat; } liquidSprite = transform.Find("Sprite").transform.Find("Liquid").GetComponent <SpriteRenderer>(); } if (liquidSprite != null) { liquidSprite.color = phColorDictionary[Mathf.FloorToInt(phValue + 0.1f)]; } else { PhTransitionMechanic = false; } //Checking for the sprite mesh renderer if (spriteMeshInstance != null) { spriteMeshInstance.GetComponent <Renderer>().GetPropertyBlock(propertyBlock); propertyBlock.SetColor("_Color", initialCharacterColor); spriteMeshInstance.GetComponent <Renderer>().SetPropertyBlock(propertyBlock); if (PhTransitionMechanic && revealpH) { Debug.Log("Changed color"); spriteMeshInstance.sharedMaterial.SetColor("_LiquidColor", phColorDictionary[Mathf.FloorToInt(phValue + 0.1f)]); } } }
void DoSetSkinnedRenderer() { SpriteMesh spriteMesh = mSpriteMeshInstance.spriteMesh; if (spriteMesh) { MeshFilter meshFilter = mSpriteMeshInstance.GetComponent <MeshFilter>(); MeshRenderer meshRenderer = mSpriteMeshInstance.GetComponent <MeshRenderer>(); Material material = null; if (meshFilter) { DestroyImmediate(meshFilter); } if (meshRenderer) { material = meshRenderer.sharedMaterial; DestroyImmediate(meshRenderer); } string path = AssetDatabase.GetAssetPath(spriteMesh); if (!material) { material = AssetDatabase.LoadAssetAtPath(path, typeof(Material)) as Material; } Mesh mesh = AssetDatabase.LoadAssetAtPath(path, typeof(Mesh)) as Mesh; SkinnedMeshRenderer skinnedMeshRenderer = mSpriteMeshInstance.GetComponent <SkinnedMeshRenderer>(); if (!skinnedMeshRenderer) { skinnedMeshRenderer = mSpriteMeshInstance.gameObject.AddComponent <SkinnedMeshRenderer>(); } if (skinnedMeshRenderer) { skinnedMeshRenderer.sharedMesh = mesh; skinnedMeshRenderer.sharedMaterial = material; skinnedMeshRenderer.bones = mSpriteMeshInstance.bones.ConvertAll(bone => bone.transform).ToArray(); if (mSpriteMeshInstance.bones.Count > 0) { skinnedMeshRenderer.rootBone = mSpriteMeshInstance.bones[0].transform; } } } mSpriteMeshInstance.UpdateRenderer(); }