private void Awake()
    {
        //找到子物体 btnTemplate 实例
        Transform btnTemplate = transform.Find("btnTemplate");

        btnTemplate.gameObject.SetActive(false);

        //加载所有建筑体类型资源文件
        BuildingTypeListSO buildingTypeList = Resources.Load <BuildingTypeListSO>(typeof(BuildingTypeListSO).Name);

        btnTransformDictionary = new Dictionary <BuildingTypeSO, Transform>();


        int index = 0;

        //生成数据箭头的实例
        arrowBtn = Instantiate(btnTemplate, transform);
        arrowBtn.gameObject.SetActive(true);

        //设置生成的资源UI实例位置偏移点
        float offsetAmount = +130f;

        arrowBtn.GetComponent <RectTransform>().anchoredPosition = new Vector2(offsetAmount * index, 0);

        //设置生成的资源UI实例的精灵图片
        arrowBtn.Find("image").GetComponent <Image>().sprite            = arrowSprite;
        arrowBtn.Find("image").GetComponent <RectTransform>().sizeDelta = new Vector2(50, 50);
        //绑定按钮点击事件
        arrowBtn.GetComponent <Button>().onClick.AddListener(() => {
            //激活点击的建筑体实例
            BuildingManager.Instance.SetActiveBuildingType(null);
        });

        index++;

        //遍历所有建筑体类型资源,并生成实例
        foreach (BuildingTypeSO buildingType in buildingTypeList.list)
        {
            Transform btnTransform = Instantiate(btnTemplate, transform);
            btnTransform.gameObject.SetActive(true);

            //设置生成的资源UI实例位置偏移点
            offsetAmount = +130f;
            btnTransform.GetComponent <RectTransform>().anchoredPosition = new Vector2(offsetAmount * index, 0);

            //设置生成的资源UI实例的精灵图片
            btnTransform.Find("image").GetComponent <Image>().sprite = buildingType.sprite;

            //绑定按钮点击事件
            btnTransform.GetComponent <Button>().onClick.AddListener(() => {
                //激活点击的建筑体实例
                BuildingManager.Instance.SetActiveBuildingType(buildingType);
            });

            //将建筑体加入字典map中
            btnTransformDictionary[buildingType] = btnTransform;

            index++;
        }
    }
Exemplo n.º 2
0
    private void Start()
    {
        mainCamera = Camera.main;

        buildingTypeList = Resources.Load <BuildingTypeListSO>(typeof(BuildingTypeListSO).Name);
        buildingType     = buildingTypeList.list[0];
    }
Exemplo n.º 3
0
    private void Awake()
    {
        btnTypeButtonDict = new Dictionary <BuildingTypeSO, Button>();
        Transform btnTmpTrm = transform.Find("btnTamplate");

        btnTmpTrm.gameObject.SetActive(false);

        buildingTypeListSO = Resources.Load <BuildingTypeListSO>(typeof(BuildingTypeListSO).Name);
        Debug.Log(buildingTypeListSO.btList.Count);

        int idx = 0;


        foreach (var item in buildingTypeListSO.btList)
        {
            // 생성 및 활성화
            Transform btnTrm = Instantiate(btnTmpTrm, transform);
            btnTrm.gameObject.SetActive(true);

            // 위치 적용
            float offsetAmount = 146f;
            btnTrm.GetComponent <RectTransform>().anchoredPosition = new Vector2(offsetAmount * idx, 0);

            // 이미지 적용
            btnTrm.Find("image").GetComponent <Image>().sprite = item.sprite;

            btnTrm.GetComponent <Button>().onClick.AddListener(() =>
            {
                BuilderManager.Instance.SetActiveBuildingType(item);
            });

            idx++;
        }
    }
Exemplo n.º 4
0
    private void Start()
    {
        cam = Camera.main;

        buildingTypeList = Resources.Load <BuildingTypeListSO>(nameof(BuildingTypeListSO));
        buildingType     = buildingTypeList.List[0];
    }
Exemplo n.º 5
0
 private void Awake()
 {
     //looking for a folder name
     // Debug.Log(Resources.Load<BuildingTypeListSO>("BuildingTypeList")); //add debug for testing
     Instance         = this;
     buildingTypeList = Resources.Load <BuildingTypeListSO>(typeof(BuildingTypeListSO).Name); //another way to write it :: must mach with the name of file
     //activeBuldingType = buildingTypeList.list[0];
 }
    private void Awake()
    {
        Transform buttonTemplate = transform.Find("ButtonTemplate");

        buttonTemplate.gameObject.SetActive(false);

        BuildingTypeListSO buildingTypeList = Resources.Load <BuildingTypeListSO>(typeof(BuildingTypeListSO).Name);

        buttonTransformDictionary = new Dictionary <BuildingTypeSO, Transform>();

        int index = 0;

        arrowButton = Instantiate(buttonTemplate, transform);
        arrowButton.gameObject.SetActive(true);

        float offsetAmount = +120f;

        arrowButton.GetComponent <RectTransform>().anchoredPosition        = new Vector2(offsetAmount * index, 0);
        arrowButton.Find("image").GetComponent <Image>().sprite            = arrowSprite;
        arrowButton.Find("image").GetComponent <RectTransform>().sizeDelta = new Vector2(0, -30);


        arrowButton.GetComponent <Button>().onClick.AddListener(() =>
        {
            BuildingManager.Instance.SetActiveBuildingType(null);
        });

        index++;

        foreach (BuildingTypeSO buildingType in buildingTypeList.list)
        {
            Transform buttonTransform = Instantiate(buttonTemplate, transform);
            buttonTransform.gameObject.SetActive(true);

            offsetAmount = +120f;
            buttonTransform.GetComponent <RectTransform>().anchoredPosition = new Vector2(offsetAmount * index, 0);
            buttonTransform.Find("image").GetComponent <Image>().sprite     = buildingType.sprite;

            buttonTransform.GetComponent <Button>().onClick.AddListener(() =>
            {
                BuildingManager.Instance.SetActiveBuildingType(buildingType);
            });

            buttonTransformDictionary[buildingType] = buttonTransform;

            index++;
        }
    }
Exemplo n.º 7
0
    private void Awake()
    {
        var index = 0;

        btnTransformDictionary = new Dictionary <BuildingTypeSO, Transform>();
        Transform btnTemplate = transform.Find("btnTemplate");

        btnTemplate.gameObject.SetActive(false);
        arrowBtn = Instantiate(btnTemplate, transform);
        arrowBtn.GetComponent <RectTransform>().anchoredPosition = new Vector2(offsetAmount * index, 0);
        arrowBtn.gameObject.SetActive(true);
        arrowBtn.Find("image").GetComponent <Image>().sprite            = arrowSprite;
        arrowBtn.Find("image").GetComponent <RectTransform>().sizeDelta = new Vector2(0, -30);


        arrowBtn.GetComponent <Button>().onClick.AddListener(() =>
        {
            Debug.Log("Selected: Arrow Button [NULL]");
            BuildingManager.Instance.SetActiveBuildingType(null);
            UpdateActiveBuildingTypeButton();
        });
        index++;

        BuildingTypeListSO buildingTypeList = Resources.Load <BuildingTypeListSO>(nameof(BuildingTypeListSO));

        foreach (BuildingTypeSO buildingType in buildingTypeList.list)
        {
            Transform bntTranform = Instantiate(btnTemplate, transform);
            bntTranform.GetComponent <RectTransform>().anchoredPosition = new Vector2(offsetAmount * index, 0);
            bntTranform.gameObject.SetActive(true);
            bntTranform.Find("image").GetComponent <Image>().sprite = buildingType.sprite;
            bntTranform.GetComponent <Button>().onClick.AddListener(() =>
            {
                Debug.Log("Selected: " + buildingType.nameString);
                BuildingManager.Instance.SetActiveBuildingType(buildingType);
            });

            btnTransformDictionary[buildingType] = bntTranform;

            index++;
        }
    }
    private void Awake()
    {
        Transform btnTemplate = transform.Find("btnTemplate");

        btnTemplate.gameObject.SetActive(false);

        BuildingTypeListSO buildingTypeList = Resources.Load <BuildingTypeListSO>(typeof(BuildingTypeListSO).Name);

        btnTransformDictionary = new Dictionary <BuldingTypeSO, Transform>();
        int index = 0;

        //--   [mouse cursor]
        //Transform arrowBtn = Instantiate(btnTemplate, transform);
        //arrowBtn.gameObject.SetActive(true);

        //float offsetAmount = +130f; //going right
        //arrowBtn.GetComponent<RectTransform>().anchoredPosition = new Vector2(offsetAmount * index, 0); //x & y
        //arrowBtn.Find("image").GetComponent<Image>().sprite = arrowSprite;
        //arrowBtn.GetComponent<Button>().onClick.AddListener(() => {
        //    BuildingManager.Instance.SetActiveBuildingType(null);
        //});

        //index++;

        //--
        foreach (BuldingTypeSO buildingType in buildingTypeList.list)
        {
            Transform btnTransform = Instantiate(btnTemplate, transform);
            btnTransform.gameObject.SetActive(true);

            float offsetAmount = +130f;                                                                          //going right :: remove float
            btnTransform.GetComponent <RectTransform>().anchoredPosition = new Vector2(offsetAmount * index, 0); //x & y
            btnTransform.Find("image").GetComponent <Image>().sprite     = buildingType.sprite;
            btnTransform.GetComponent <Button>().onClick.AddListener(() => {
                BuildingManager.Instance.SetActiveBuildingType(buildingType);
            });

            btnTransformDictionary[buildingType] = btnTransform;
            index++;
        }
    }
Exemplo n.º 9
0
 private void Awake()
 {
     _buildingTypeList = Resources.Load <BuildingTypeListSO>(nameof(BuildingTypeListSO));
     _buildingType     = _buildingTypeList.list[0];
 }
Exemplo n.º 10
0
    private void Awake()
    {
        Transform btnTemplate = transform.Find("btnTemplate");

        btnTemplate.gameObject.SetActive(false);

        BuildingTypeListSO buildingTypeList = Resources.Load <BuildingTypeListSO>(typeof(BuildingTypeListSO).Name);

        btnTransformDictionary = new Dictionary <BuildingTypeSO, Transform>();

        int index = 0;

        arrowBtn = Instantiate(btnTemplate, transform);
        arrowBtn.gameObject.SetActive(true);

        float offsetAmount = +130f;

        arrowBtn.GetComponent <RectTransform>().anchoredPosition = new Vector2(offsetAmount * index, 0);

        arrowBtn.Find("image").GetComponent <Image>().sprite            = arrowSprite;
        arrowBtn.Find("image").GetComponent <RectTransform>().sizeDelta = new Vector2(0, -40);

        arrowBtn.GetComponent <Button>().onClick.AddListener(() => {
            BuildingManager.Instance.SetActiveBuildingType(null);
        });

        MouseEnterExitEvent mouseEnterExitEvents = arrowBtn.GetComponent <MouseEnterExitEvent>();

        mouseEnterExitEvents.OnMouseEnter += (object sender, EventArgs e) => {
            TooltipUI.Instance.Show("Arrow");
        };
        mouseEnterExitEvents.OnMouseExit += (object sender, EventArgs e) => {
            TooltipUI.Instance.Hide();
        };

        index++;

        foreach (BuildingTypeSO buildingType in buildingTypeList.list)
        {
            if (ignoreBuildingTypeList.Contains(buildingType))
            {
                continue;
            }
            Transform btnTransform = Instantiate(btnTemplate, transform);
            btnTransform.gameObject.SetActive(true);

            offsetAmount = +130f;
            btnTransform.GetComponent <RectTransform>().anchoredPosition = new Vector2(offsetAmount * index, 0);

            btnTransform.Find("image").GetComponent <Image>().sprite = buildingType.sprite;

            btnTransform.GetComponent <Button>().onClick.AddListener(() => {
                BuildingManager.Instance.SetActiveBuildingType(buildingType);
            });

            mouseEnterExitEvents = btnTransform.GetComponent <MouseEnterExitEvent>();
            mouseEnterExitEvents.OnMouseEnter += (object sender, EventArgs e) => {
                TooltipUI.Instance.Show(buildingType.nameString + "\n" + buildingType.GetConstructionResourceCostString());
            };
            mouseEnterExitEvents.OnMouseExit += (object sender, EventArgs e) => {
                TooltipUI.Instance.Hide();
            };

            btnTransformDictionary[buildingType] = btnTransform;

            index++;
        }
    }
Exemplo n.º 11
0
    private void Awake()
    {
        Instance = this;

        buildingTypeList = Resources.Load <BuildingTypeListSO>(typeof(BuildingTypeListSO).Name);
    }
Exemplo n.º 12
0
    private void Awake()
    {
        btnTypeButtonDict = new Dictionary <BuildingTypeSO, Button>();
        Transform btnTmpTrm = transform.Find("btnTamplate");

        btnTmpTrm.gameObject.SetActive(false);

        buildingTypeListSO = Resources.Load <BuildingTypeListSO>(typeof(BuildingTypeListSO).Name);
        Debug.Log(buildingTypeListSO.btList.Count);

        int idx = 0;

        arrowBtnTrm = Instantiate(btnTmpTrm, transform);
        arrowBtnTrm.gameObject.SetActive(true);

        // 위치 적용
        float offsetAmount = 146f;

        arrowBtnTrm.GetComponent <RectTransform>().anchoredPosition = new Vector2(offsetAmount * idx, 0);

        // 이미지 적용
        Transform imageTrm = arrowBtnTrm.Find("image");

        imageTrm.GetComponent <Image>().sprite            = arrowSprite;
        imageTrm.GetComponent <RectTransform>().sizeDelta = new Vector2(-30, -30);

        Button imageButton = imageTrm.gameObject.AddComponent <Button>();

        imageButton.onClick.AddListener(() =>
        {
            BuilderManager.Instance.SetActiveBuildingType(null);

            selectedImgTrm.position = arrowBtnTrm.position;
        });

        idx++;

        foreach (var item in buildingTypeListSO.btList)
        {
            if (ignoreBuilidingTypeList.Contains(item))
            {
                continue;
            }

            // 생성 및 활성화
            Transform btnTrm = Instantiate(btnTmpTrm, transform);
            btnTrm.gameObject.SetActive(true);

            // 위치 적용
            btnTrm.GetComponent <RectTransform>().anchoredPosition = new Vector2(offsetAmount * idx, 0);

            // 이미지 적용
            btnTrm.Find("image").GetComponent <Image>().sprite = item.sprite;

            btnTrm.GetComponent <Button>().onClick.AddListener(() =>
            {
                BuilderManager.Instance.SetActiveBuildingType(item);

                selectedImgTrm.position = btnTrm.position;
            });

            idx++;

            //마우스 이벤트 캡처 코드
            MouseEnterExitEvents mouseEnterExitEvents = btnTrm.GetComponent <MouseEnterExitEvents>();

            mouseEnterExitEvents.OnMouseEnter += () => UIToolTip.instance.ShowBulidingInfo(item.nameStr, item.buildResCostArr);
            mouseEnterExitEvents.OnMouseExit  += () => UIToolTip.instance.Hide();
        }
    }
Exemplo n.º 13
0
 private void Awake()
 {
     buildingTypeList = Resources.Load <BuildingTypeListSO>(typeof(BuildingTypeListSO).Name);
     buildingType     = buildingTypeList.list[0];
 }
Exemplo n.º 14
0
 private void Awake()
 {
     Instance           = this;
     buildingTypeList   = Resources.Load <BuildingTypeListSO>(typeof(BuildingTypeListSO).Name);
     activeBuildingType = buildingTypeList.btList[0];
 }
Exemplo n.º 15
0
 private void Awake()
 {
     Instance           = this;
     buildingTypeList   = Resources.Load <BuildingTypeListSO>(nameof(BuildingTypeListSO));
     activeBuildingType = null;
 }