Exemplo n.º 1
0
    public void randomizeAward_Condition(int stageID, GameObject award_)
    {
        AwardDB_Condition        toAddAwardDB = new AwardDB_Condition();
        List <AwardDB_Condition> AwardDB      = new List <AwardDB_Condition>();

        Condition_CodeModifier        toAddCondition = new Condition_CodeModifier();
        List <Condition_CodeModifier> conditionList  = new List <Condition_CodeModifier>();
        string jsonData;

        try
        {
            jsonData = File.ReadAllText(Application.dataPath + "/Resources/Json_GameInfo/StageAwards/" + stageID + "/AwardDB_Condition.json");
            AwardDB  = JsonConvert.DeserializeObject <List <AwardDB_Condition> >(jsonData);
        }
        catch (System.Exception)
        {
            print("errrrrrrrrrrrrror");
        }
        //AwardDB는 총 뽑을 수 있는 놈.
        int    selectedIndex  = Random.Range(0, AwardDB.Count);
        int    theConditionID = AwardDB[selectedIndex].conditionID;
        int    theMin         = AwardDB[selectedIndex].range_min;
        int    theMax         = AwardDB[selectedIndex].range_max;
        string theUpDownOn    = AwardDB[selectedIndex].upDownOn;
        string thePrefab      = AwardDB[selectedIndex].conditionPrefab;
        int    selectedValue  = Random.Range(theMin, theMax);

        jsonData      = File.ReadAllText(Application.dataPath + "/Resources/Json_AccountInfo/" + AccountID.ToString() + "/ConditionData.json");
        conditionList = JsonConvert.DeserializeObject <List <Condition_CodeModifier> >(jsonData);

        toAddCondition.conditionID          = theConditionID;
        toAddCondition.conditionUniqueID    = conditionList.Count + 1 + 1000;
        toAddCondition.conditionName        = makeConditionName(theConditionID);
        toAddCondition.conditionDescription = makeConditionDescription(theConditionID, selectedValue);
        toAddCondition.conditionParent      = 0;
        toAddCondition.conditionPositionX   = 0f;
        toAddCondition.conditionPositionY   = 0f;
        toAddCondition.goldValue            = 888.8f;
        toAddCondition.conditionValue       = selectedValue;
        toAddCondition.conditionPrefab      = thePrefab;
        toAddCondition.conditionValueState  = theUpDownOn;
        toAddCondition.usingCharID          = -1;

        conditionList.Add(toAddCondition);

        string jdata = JsonConvert.SerializeObject(conditionList);

        jdata = JValue.Parse(jdata).ToString(Formatting.Indented);
        File.WriteAllText(Application.dataPath + "/Resources/Json_AccountInfo/" + AccountID.ToString() + "/ConditionData.json", jdata); //ID 추가해주기

        award_.transform.GetChild(0).GetComponent <Image>().sprite = Resources.Load <Sprite>("CodeEditor/" + thePrefab);
        award_.transform.GetChild(1).GetComponent <Text>().text    = "조건 - " + toAddCondition.conditionDescription;
    }
Exemplo n.º 2
0
    public void createCondition(int tempConditionID, ref List <GameObject> selectedList, ref int selectedListNum)
    {
        GameObject             _condition   = (GameObject)Instantiate(conditionPrefab, new Vector2(0, 0), Quaternion.identity);
        Condition_CodeModifier tempCondCode = conditionListSorted[tempConditionID];

        _condition.name = tempCondCode.conditionUniqueID.ToString() + tempCondCode.conditionName;
        _condition.transform.SetParent(parentPrefab.transform); //put it inside the content prefab
        _condition.transform.localScale = new Vector2(1, 1);    // change scale to fit size
        _condition.transform.GetChild(0).GetComponentInChildren <Text>().name = (tempCondCode.conditionID / 100).ToString();
        //_condition.transform.GetChild(0).GetComponentInChildren<Text>().text = conditionListSorted[tempConditionID].conditionName + " " + conditionListSorted[tempConditionID].conditionValue;
        _condition.transform.GetChild(0).GetComponentInChildren <Text>().text = tempCondCode.conditionDescription;
        _condition.transform.GetChild(0).GetChild(0).name             = tempCondCode.conditionName;
        _condition.transform.GetChild(0).GetChild(1).name             = tempCondCode.conditionUniqueID.ToString();
        _condition.transform.GetChild(0).GetChild(3).name             = tempCondCode.conditionName + tempCondCode.conditionUniqueID.ToString();
        _condition.transform.GetChild(0).GetChild(3).GetChild(1).name = tempCondCode.conditionUniqueID.ToString();
        print(tempCondCode.conditionPrefab);
        _condition.transform.GetChild(0).GetChild(3).GetChild(0).GetComponent <RawImage>().texture = Resources.Load <Texture>("CodeEditor/" + tempCondCode.conditionPrefab);

        if (tempCondCode.conditionValue != 0)
        {   //숫자 집어넣기
            _condition.transform.GetChild(0).GetChild(3).GetChild(2).GetComponent <TextMeshProUGUI>().text = tempCondCode.conditionValue.ToString();
        }
        else
        {
            _condition.transform.GetChild(0).GetChild(3).GetChild(2).GetComponent <TextMeshProUGUI>().text = "";
        }

        if (tempCondCode.conditionValueState == "On")
        {
            _condition.transform.GetChild(0).GetChild(3).GetChild(3).transform.localPosition = new Vector2(_condition.transform.GetChild(0).GetChild(3).GetChild(3).transform.localPosition.x - 10, _condition.transform.GetChild(0).GetChild(3).GetChild(3).transform.localPosition.y);
        }
        else
        {
            _condition.transform.GetChild(0).GetChild(3).GetChild(3).GetComponent <RawImage>().texture = Resources.Load <Texture>("CodeEditor/Arrow_" + tempCondCode.conditionValueState);
        }
        selectedList.Add(_condition);
        selectedList[selectedListNum].SetActive(false);
        selectedListNum++;
    }