public void Execute(System.Collections.Generic.List <Entity> entities) { for (int i = 0; i < entities.Count; i++) { var e = entities [i]; if (e.hasView) { EntityLink.RemoveLink(e.view.go); Lean.LeanPool.Despawn(e.view.go); } var prefToLoad = "nodePrefab"; if (e.node.isBlocked) { prefToLoad = "nodePrefabBlocked"; } else if (e.hasExit) { if (e.exit.player == Player.Me) { prefToLoad = "nodePrefabExitPlayer"; } else { prefToLoad = "nodePrefabExitAI"; } } else if ((e.position.x + e.position.z) % 2 == 0) { prefToLoad = "nodePrefab"; } else { prefToLoad = "nodePrefab1"; } var name = "node" + e.position.x + "/" + e.position.z; e.AddCoroutineTask(e.CreateView(prefToLoad, name, (view) => { e.ReplaceView(view); EntityLink.AddLink(view, e); }, _viewParent.transform), true); } }