Ejemplo n.º 1
0
    //Przesuwanie mapy, odkrywanie mapy
    private IEnumerator IChangeChunk(int direction, Vector3 mapoffset)
    {
        changing = true;
        Vector3 velocity   = gerald.rb.velocity;
        bool    useGravity = gerald.rb.useGravity;

        gerald.rb.velocity   = Vector3.zero;
        gerald.rb.useGravity = false;
        gerald.enabled       = false;


        yield return(StartCoroutine(activeChunk.DeActivate())); //KORUTYNA

        activeChunk = nextChunks[direction];

        mainCamera.transform.position = activeChunk.transform.position + cameraOffset;
        yield return(StartCoroutine(activeChunk.Activate()));

        nextChunks = new Chunk[4] {
            activeChunk.NorthChunk, activeChunk.EastChunk, activeChunk.SouthChunk, activeChunk.WestChunk
        };

        this.gameObject.transform.position = activeChunk.transform.position;
        //Włączenie
        activeChunk.chunkImage.color      = Color.white;
        contentObject.transform.position += mapoffset;
        gerald.enabled       = true;
        gerald.rb.velocity   = velocity;
        gerald.rb.useGravity = useGravity;
        changing             = false;
    }
Ejemplo n.º 2
0
    public Chunk GetInstance(Vector3 pos, float size, string customer)
    {
        ////////////////////////////////////////////////////////////////////////
        InstanceCnt++;//DEBIG

        /*
         * if(customer== "DFS_UPD")
         * {
         *  TerrainVoxel.print(InstanceCnt);
         *  TerrainVoxel.print(customer);
         *  TerrainVoxel.print("------------------------------");
         *  TerrainVoxel.print(pos);
         *  TerrainVoxel.print(size);
         *  TerrainVoxel.print("------------------------------");
         * }
         */
        ///////////////////////////////////////////////////////////////////////////
        if (IDs[0] == 0)//MLE
        {
            Chunk ret = new Chunk(-1);
            ret.Activate(pos, size);
            return(ret);
        }
        else
        {
            Chunk ret = Pool[IDs[IDs[0]--]].Activate(pos, size);
            return(ret);
        }
    }