| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 | 
							- using System.Collections.Generic;
 
- using Fort23.UTool;
 
- using UnityEngine;
 
- using Utility;
 
- namespace GameLogic.Combat.CombatTool.SceneTool
 
- {
 
-     public class RandomAllMap
 
-     {
 
-         private Transform root;
 
-         private SceneMonoConfig sceneMonoConfig;
 
-         private Map<int, GameObjectPool> _allGameObjectPools = new Map<int, GameObjectPool>();
 
-         public void Init(Transform root, SceneMonoConfig sceneMonoConfig)
 
-         {
 
-             this.root = root;
 
-             this.sceneMonoConfig = sceneMonoConfig;
 
-         }
 
-         public void Update()
 
-         {
 
-             Vector3 pos = root.position;
 
-             List<int> removeKey = new List<int>();
 
-             for (_allGameObjectPools.Begin(); _allGameObjectPools.Next();)
 
-             {
 
-                 Vector3 objetcPos = _allGameObjectPools.Value.own.transform.position;
 
-                 if (Vector3.Distance(pos, objetcPos) > 300)
 
-                 {
 
-                     removeKey.Add(_allGameObjectPools.Key);
 
-                     GObjectPool.Instance.Recycle(_allGameObjectPools.Value);
 
-                     // _allGameObjectPools.Value.SetActive(false);
 
-                 }
 
-             }
 
-             for (int i = 0; i < removeKey.Count; i++)
 
-             {
 
-                 _allGameObjectPools.Remove(removeKey[i]);
 
-             }
 
-             float radius = sceneMonoConfig.radius;
 
-             int x = (int)(pos.x / radius);
 
-             int z = (int)(pos.z / radius);
 
-             float xStartInit = x;
 
-             float zStartInit = z;
 
-             for (int i = -3; i <= 3; i++)
 
-             {
 
-                 for (int j = -3; j <= 4; j++)
 
-                 {
 
-                     // if (i == 0 && j == 0)
 
-                     // {
 
-                     //     continue;
 
-                     // }
 
-                     float currX = (xStartInit + i) * radius;
 
-                     float currZ = (zStartInit + j) * radius;
 
-                     int key = (int)(currX * 1000 + currZ);
 
-                     if (_allGameObjectPools.ContainsKey(key))
 
-                     {
 
-                         continue;
 
-                     }
 
-                     GameObjectPool gameObjectPool = GetObejct();
 
-                     float y = Random.Range(-2, 0);
 
-                     gameObjectPool.own.transform.position = new Vector3(currX, y, currZ);
 
-                     _allGameObjectPools.Add(key, gameObjectPool);
 
-                 }
 
-             }
 
-         }
 
-         private GameObjectPool GetObejct()
 
-         {
 
-             int index = Random.Range(0, sceneMonoConfig.allObject.Length);
 
-             GameObject gameObject = sceneMonoConfig.allObject[index];
 
-             // GameObject go = GameObject.Instantiate(gameObject);
 
-             GameObjectPool gameObjectPool =
 
-                 GObjectPool.Instance.FetchAsyncForGameObject<GameObjectPool>(gameObject, gameObject.name);
 
-             return gameObjectPool;
 
-         }
 
-     }
 
- }
 
 
  |