Пример #1
0
    //WPWorker를 이용해 현재 일하고 있는 field가져옴.
    private void GetFieldData()
    {
        if (GameObject.Find("Field" + wpWorker.workingFarmIndex.ToString() + wpWorker.workingFieldIndex.ToString()) == null)
        {
            return;
        }

        this.workingField = GameObject.Find("Field" + wpWorker.workingFarmIndex.ToString() + wpWorker.workingFieldIndex.ToString()).GetComponent <WPFieldCtrl>();
        Debug.Log("asdsdasd:" + wpWorker.workingFieldIndex.ToString());
    }
Пример #2
0
 /// <summary>
 /// UI를 화면에 param 값에 따라 표시합니다.
 /// </summary>
 /// <param name="param"></param>
 public override void SetActive(bool param)
 {
     if (param)
     {
         WPVariable.timeScale_NewsUI     = 0f;
         WPVariable.timeScale_WPDateTime = 0f;
     }
     else
     {
         WPVariable.timeScale_NewsUI     = 1f;
         WPVariable.timeScale_WPDateTime = 1f;
         targetField     = null;
         targetFieldCtrl = null;
         SetText_Time("예상 시간");
         SetText_Money("예상 금액");
     }
     base.SetActive(param);
 }
Пример #3
0
    // 로직 구현 방식입니다.
    // 밭을 누르면 GetFieldData로 해당 밭의 WPField 클래스를 받아오려고 합니다.
    // 만약 아무것도 심지 않은 상태라면 그 밭의 WPField 클래스는 null 값입니다. (사실 IsPlanted == false 인 wpfield가 존재하지만, GetFieldData 에 인자로 넘겨주는 과정에서 null 값을 넘겨주게 됩니다.)
    // null 이라면 그 밭은 비어있고, null 이 아니라면 그 클래스를 이용해 ui를 표시합니다.
    // null이라고 해서 새로운 WPField를 바로 생성하지 않습니다. <- 중요.
    // UI에서 선택한 정보는 WPScrollView_Select에 저장됩니다. ( seedIndex, workerIndex, fertilizerIndex )
    // 새로운 WPField를 생성하는 시점은 OnClick_Plant를 클릭했을 때 입니다.
    public void GetFieldData(WPField wpField, WPFieldCtrl wpFieldCtrl)
    {
        if (wpField == null) // 이 경우 밭의 정보가 없는 것으로, 이 때 여기서 새로운 밭을 만들어 넘겨주어야 합니다.
        {
            Text text = button_Action.GetComponentInChildren <Text>();
            if (text != null)
            {
                text.text = "심기";                                      // Action 버튼의 UI 설정
            }
            ui_FieldStatus.SetActive(false);

            button_Seed.interactable = true;                            // Seed 버튼의 활성화

            SetSprite_Seed();
            scrollView_Select.SetActive(true); // scrollView UI 활성화
        }
        else                                   // 밭의 정보가 있습니다. 이 정보를 활용하여 UI로 표시합니다.
        {
            Text text = button_Action.GetComponentInChildren <Text>();
            if (text != null)
            {
                text.text = "엎기";
            }

            WPGameCommon._WPDebug("Seed Index " + wpField.seedIndex + ":" + "Worker Index " + wpField.workerIndex + ":" + "Fertilizer Index " + wpField.fertilizerIndex);

            if (wpField.seedIndex != -1)
            {
                WPData_Seed seedData = WPGameDataManager.instance.GetData <WPData_Seed>(WPEnum.GameData.eSeed)[wpField.seedIndex];

                SetText_Time(string.Format("{0:f2}% 자람", (wpField.GrowthRate * 100f)));
                instance.SetText_Money(
                    Convert.ToInt32(seedData.ComparePrice).ToString());

                string seedDataName = seedData.DataName;
                string seedDataPath = "Image/Seed/" + seedDataName;

                Sprite seedSprite = WPResourceManager.instance.GetResource <Sprite>(seedDataPath);

                SetSprite_Seed(seedSprite);
            }

            ui_FieldStatus.SetActive(true);

            if (wpField.workerIndex != -1)
            {
            }
            else
            {
                ui_FieldStatus.Worker.SetActive(false);
            }

            if (wpField.fertilizerIndex != -1)
            {
                WPData_Fertilizer fertilizerData = WPGameDataManager.instance.GetData <WPData_Fertilizer>(WPEnum.GameData.eFertilizer)[wpField.fertilizerIndex];

                string fertilizerDataName = fertilizerData.DataName;
                string fertilizerDataPath = "Image/Fertilizer/" + fertilizerDataName;

                Sprite fertilizerSprite = WPResourceManager.instance.GetResource <Sprite>(fertilizerDataPath);

                ui_FieldStatus.Fertilizer.SetActive(true);

                ui_FieldStatus.Fertilizer.SetText(fertilizerData.Name);
                ui_FieldStatus.Fertilizer.SetSprite(fertilizerSprite);
            }
            else
            {
                ui_FieldStatus.Fertilizer.SetActive(false);
            }

            button_Seed.interactable = false;

            scrollView_Select.SetActive(false);

            this.targetField = wpField;
        }
        this.targetFieldCtrl = wpFieldCtrl;
    }