| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 | 
							- using Fort23.Core;
 
- using Fort23.UTool;
 
- using UnityEngine;
 
- namespace GameLogic.Combat.CombatTool.SceneTool
 
- {
 
-     public class SceneDecoration : CObject
 
-     {
 
-         private static readonly int RongJieValue = Shader.PropertyToID("_RongJieValue");
 
-         public GameObjectPool pool;
 
-         private MaterialPropertyBlock _materialPropertyBlock;
 
-         private Renderer[] renderers;
 
-         private float currTime;
 
-         public void Init(GameObjectPool pool)
 
-         {
 
-             this.pool = pool;
 
-             if (_materialPropertyBlock == null)
 
-             {
 
-                 _materialPropertyBlock = new MaterialPropertyBlock();
 
-             }
 
-             // Vector3 pos = CombatController.currActiveCombat.CombatCameraControllder.root.position;
 
-             // Vector3 p2 = pool.own.transform.position;
 
-             // float d = Vector3.Distance(pos, p2);
 
-             currTime = Random.Range(-1f, 0);
 
-             renderers = pool.own.transform.GetComponentsInChildren<Renderer>();
 
-             SetPropertyBlock();
 
-         }
 
-         private void SetPropertyBlock()
 
-         {
 
-             _materialPropertyBlock.SetFloat(RongJieValue, currTime);
 
-             for (int i = 0; i < renderers.Length; i++)
 
-             {
 
-                 renderers[i].SetPropertyBlock(_materialPropertyBlock);
 
-             }
 
-         }
 
-         public void Update(float t)
 
-         {
 
-             if (currTime < 1)
 
-             {
 
-                 currTime += t * 2f;
 
-                 SetPropertyBlock();
 
-             }
 
-         }
 
-         public override void ActiveObj()
 
-         {
 
-         }
 
-         public override void DormancyObj()
 
-         {
 
-             currTime = 0;
 
-             SetPropertyBlock();
 
-             renderers = null;
 
-             GObjectPool.Instance.Recycle(pool);
 
-             pool = null;
 
-         }
 
-     }
 
- }
 
 
  |