Пример #1
0
    private void BuildMap()
    {
        int width  = (int)level.Size.x;
        int height = (int)level.Size.y;

        Debug.Log("BuildMap " + width + " " + height);
        for (int i = 0; i < width; i++)
        {
            for (int j = 0; j < height; j++)
            {
                var item = level.GetElement(i, j);
                pos = new Vector3(i, j);
                if (item.DictionaryIndex > 0)
                {
                    AddAsset(item, pos);
                }
                //else
                //{
                //    var bgInst = GameObject.Instantiate<GameObject>(bg);
                //    pos.z += 1;
                //    bgInst.transform.position = pos;
                //    bgInst.name = pos.ToString();
                //    bgInst.transform.parent = this.transform;
                //}
            }
        }
        onMapLoaded.Invoke();
    }
Пример #2
0
    // Update is called once per frame
    void Update()
    {
        int width  = (int)level.Size.x;
        int height = (int)level.Size.y;

        if (Input.GetKeyDown(KeyCode.LeftArrow))
        {
            if (transform.position.x - 1 >= 0)
            {
                transform.position += Vector3.left;
            }
        }
        if (Input.GetKeyDown(KeyCode.RightArrow))
        {
            if (transform.position.x + 1 < width)
            {
                transform.position += Vector3.right;
            }
        }
        if (Input.GetKeyDown(KeyCode.UpArrow))
        {
            if (transform.position.y + 1 < height)
            {
                transform.position += Vector3.up;
            }
        }
        if (Input.GetKeyDown(KeyCode.DownArrow))
        {
            if (transform.position.y - 1 >= 0)
            {
                transform.position += Vector3.down;
            }
        }



        if (Input.GetKeyDown(KeyCode.E))
        {
            MapElementStruct cellVal = level.GetElement(transform.position);

            if (cellVal.DictionaryIndex > 0)
            {
                RemoveAsset(transform.position);
            }
            AddAsset((int)selectedElementIndex.value, selectedTransform.value.GetComponent <AMapElement>().GetData(), transform.position);
            level.UpdateElement(transform.position, ((int)selectedElementIndex.value + 1), selectedTransform.value.GetComponent <AMapElement>().GetData());
        }

        if (Input.GetKeyDown(KeyCode.D))
        {
            var cellVal = level.GetElement(transform.position);
            if (cellVal.DictionaryIndex > 0)
            {
                RemoveAsset(transform.position);
            }
            level.RemoveElement(transform.position);
        }
        //for (int i = 0; i <= level.assetsDictionary.MapAssets.Count; i++)
        //{
        //    if (Input.GetKeyDown(i + ""))
        //    {

        //    }
        //}
    }