Ejemplo n.º 1
0
    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);
        }
    }