void ClearResultInfoPanel()
    {
        ResultItemTypeTextObject.GetComponent <Text>().text = "";
        ResultItemNameInputFieldObject.GetComponent <InputField>().interactable = true;
        ResultItemNameInputFieldObject.GetComponent <InputField>().text         = "";
        ExpectedCostTextObject.GetComponent <Text>().text = "TEST";

        MaterialPointTextObject.GetComponent <Text>().text = "";
        TechPointTextObject.GetComponent <Text>().text     = "";
        LookPointTextObject.GetComponent <Text>().text     = "";
        TotalPointTextObject.GetComponent <Text>().text    = "";
        PackagedImageObject.GetComponent <Image>().sprite  = Resources.Load <Sprite>("GameSystem/InGameUI/Sprite/QuestionMark");
    }
    public void Initializing()
    {
        GetTargetObject();

        CurrentCategory   = "";
        CurrentFisrtItem  = "None";
        CurrentSecondItem = "None";
        CurrentProcessor  = "None";
        CurrentSelector   = "";

        ClearItemListPanel();
        ClaerInputPanel();
        ClearResultInfoPanel();
        ClearProgressInfoPanel();

        ChangeViewMode("OverView");

        if (CallTargetLabatoryAct.CurrentDevelopingProduct != null)
        {
            CurrentFisrtItem = CallTargetLabatoryAct.CurrentDevelopingProduct.ObjectInfo.Input[0];
            CurrentSelector  = "FirstItem";
            DisplayInputInfo();

            if (CallTargetLabatoryAct.CurrentDevelopingProduct.ObjectInfo.Input.Count > 1)
            {
                CurrentSecondItem = CallTargetLabatoryAct.CurrentDevelopingProduct.ObjectInfo.Input[1];
                CurrentSelector   = "SecondItem";
                DisplayInputInfo();
            }

            CurrentProcessor = CallTargetLabatoryAct.CurrentDevelopingProduct.ObjectInfo.RequiredProcessor;
            CurrentSelector  = "Processor";
            DisplayInputInfo();

            DisplayResultItem(CallTargetLabatoryAct.CurrentDevelopingProduct.ObjectInfo);

            ResultItemNameInputFieldObject.GetComponent <InputField>().interactable = false;
            ConfirmPanel.transform.GetChild(1).GetChild(0).gameObject.GetComponent <Text>().text = "Cancel";
            ConfirmPanel.transform.GetChild(1).gameObject.GetComponent <Image>().color           = new Color(1f, 0.4f, 0.4f, 1f);
            ConfirmPanel.transform.GetChild(1).gameObject.GetComponent <Button>().interactable   = true;

            FirstItemImageObject.transform.parent.gameObject.GetComponent <Button>().interactable  = false;
            SecondItemImageObject.transform.parent.gameObject.GetComponent <Button>().interactable = false;
            ProcessorImageObject.transform.parent.gameObject.GetComponent <Button>().interactable  = false;

            UpdateProgressInfo();
        }
    }
 public void NameInputFieldValueChange()
 {
     if (ResultItemNameInputFieldObject.GetComponent <InputField>().text != "")
     {
         if (CallTargetLabatoryAct.CurrentDevelopingProduct == null && CallTargetLabatoryAct.resultObject.Type != "")
         {
             MainFunctionButton.gameObject.GetComponent <Button>().interactable             = true;
             MainFunctionButton.transform.GetChild(0).gameObject.GetComponent <Text>().text = "Start";
         }
     }
     else
     {
         MainFunctionButton.gameObject.GetComponent <Button>().interactable             = false;
         MainFunctionButton.transform.GetChild(0).gameObject.GetComponent <Text>().text = "Start";
     }
 }
    public void ConfirmButtonSelect()
    {
        string Inputs = ResultItemNameInputFieldObject.GetComponent <InputField>().text;

        if (CallGoodsRecipe.GetRecipe(Inputs) != null)
        {
            CallNotificationManager.AddAlert("Goods name is already exist!", 1, "");
            return;
        }

        string ButtonText  = MainFunctionButton.transform.GetChild(0).gameObject.GetComponent <Text>().text;
        Color  ButtonColor = MainFunctionButton.gameObject.GetComponent <Image>().color;

        if (CallTargetLabatoryAct.CurrentDevelopingProduct == null)
        {
            ResultItemNameInputFieldObject.GetComponent <InputField>().interactable        = false;
            MainFunctionButton.transform.GetChild(0).gameObject.GetComponent <Text>().text = "Cancel";
            MainFunctionButton.gameObject.GetComponent <Image>().color = new Color(1f, 0.4f, 0.4f, 1f);

            FirstItemImageObject.transform.parent.gameObject.GetComponent <Button>().interactable  = false;
            SecondItemImageObject.transform.parent.gameObject.GetComponent <Button>().interactable = false;
            ProcessorImageObject.transform.parent.gameObject.GetComponent <Button>().interactable  = false;

            CallTargetLabatoryAct.StartDeveloping(Inputs);
        }
        else
        {
            MainFunctionButton.transform.GetChild(0).gameObject.GetComponent <Text>().text = "Start";
            MainFunctionButton.gameObject.GetComponent <Image>().color = new Color(1f, 1f, 1f, 1f);

            ClaerInputPanel();
            ClearResultInfoPanel();
            ClearProgressInfoPanel();
            NameInputFieldValueChange();

            CallTargetLabatoryAct.EndDeveloping();
        }

        CallPanelController.CurrentFloatingPanel.GetComponent <ObjectInfoPanelController>().DisplayInfo();
    }
    void DisplayResultItem(LabatoryAct.ResultObject TargetInfo)
    {
        ResultItemImageObject.GetComponent <Image>().sprite = Resources.Load <Sprite>("GameSystem/Goods/Sprite/" + TargetInfo.Type);
        ResultItemImageObject.GetComponent <Image>().color  = new Color(1f, 1f, 1f, 1f);

        ResultItemTypeTextObject.GetComponent <Text>().text = TargetInfo.Type;
        ResultItemNameInputFieldObject.GetComponent <InputField>().interactable = true;
        ResultItemNameInputFieldObject.GetComponent <InputField>().text         = "";
        ExpectedCostTextObject.GetComponent <Text>().text = (Mathf.CeilToInt((float)TargetInfo.RequiredPoint / (TargetInfo.RequiredResearchPower / CallTargetLabatoryAct.ResearchPower)) * CallTargetLabatoryAct.Budget).ToString();

        MaterialPointTextObject.GetComponent <Text>().text = "x " + (Mathf.CeilToInt(TargetInfo.Attractiveness.MaterialPoint * 10f) * 0.1f).ToString();
        TechPointTextObject.GetComponent <Text>().text     = "x " + (Mathf.CeilToInt(TargetInfo.Attractiveness.TechPoint * 10f) * 0.1f).ToString();
        LookPointTextObject.GetComponent <Text>().text     = "x " + (Mathf.CeilToInt(TargetInfo.Attractiveness.LookPoint * 10f) * 0.1f).ToString();
        TotalPointTextObject.GetComponent <Text>().text    = "x " + (Mathf.CeilToInt(TargetInfo.Attractiveness.TotalPoint * 10f) * 0.1f).ToString();
        if (TargetInfo.Attractiveness.isPackaged)
        {
            PackagedImageObject.GetComponent <Image>().sprite = Resources.Load <Sprite>("GameSystem/InGameUI/Sprite/PossitiveMark");
        }
        else
        {
            PackagedImageObject.GetComponent <Image>().sprite = Resources.Load <Sprite>("GameSystem/InGameUI/Sprite/NegativeMark");
        }
    }