Exemple #1
0
    private void InitializeWorldGrid()
    {
        //0,0,0 is the center
        for (int k = (int)Mathf.Ceil((Math.Abs(zSize) / -2f)); k < (int)Mathf.Ceil((Math.Abs(zSize) / 2f)); k++)
        {
            for (int j = (int)Mathf.Ceil((Math.Abs(ySize) / -2f)); j < (int)Mathf.Ceil((Math.Abs(ySize) / 2f)); j++)
            {
                for (int i = (int)Mathf.Ceil((Math.Abs(xSize) / -2f)); i < (int)Mathf.Ceil((Math.Abs(xSize) / 2f)); i++)
                {
                    GridBlock gridBlock = new GridBlock(i, j, k);

                    if (isServer)
                    {
                        GameObject      gameObject = (GameObject)Instantiate(blockPrefab, GridToWorldCoordinates(i, j - 1, k), Quaternion.identity);
                        PlaceableObject plObject   = gameObject.GetComponent <PlaceableObject>();
                        plObject.OccupyingSlot = PlaceableObject.Slot.Whole_Block;
                        gridBlock.AddObject(gameObject);
                        NetworkServer.Spawn(gameObject);
                    }

                    grid.Add(new Vector3(i, j, k), gridBlock);
                }
            }
        }
    }