コード例 #1
0
    private void Start()
    {
        if (inst == null)
        {
            inst = this;
        }
        else if (inst != this)
        {
            DestroyImmediate(gameObject);
            return;
        }

        TowerUpgradeData temp = new TowerUpgradeData();

        for (int i = 0; i < towers.Length; ++i)
        {
            if (towers[i] == null)
            {
                continue;
            }
            if (!PlayerPrefs.HasKey(towers[i].TowerName))
            {
                string data = JsonUtility.ToJson(temp);
                Debug.Log("Tower Initialize ::::" + data);
                PlayerPrefs.SetString(towers[i].TowerName, data);
            }
        }


        DontDestroyOnLoad(gameObject);
    }
コード例 #2
0
    void LevelBarInit()
    {
        if (PlayerPrefs.HasKey(TowerDetailManager.Instance.Target))
        {
            data = JsonUtility.FromJson <TowerUpgradeData>(PlayerPrefs.GetString(TowerDetailManager.Instance.Target));

            int level = 0;
            switch (upgradeType)
            {
            case UpgradeType.Attack:
                level = data.AttackLevel;
                break;

            case UpgradeType.AttackSpeed:
                level = data.AttackSpeedLevel;
                break;

            case UpgradeType.Buy:
                level = data.BuyLevel;
                break;

            case UpgradeType.Range:
                level = data.RangeLevel;
                break;

            case UpgradeType.Supply:
                level = data.SupplyLevel;
                break;

            case UpgradeType.Upgrade:
                level = data.UpgradeLevel;
                break;
            }

            for (int i = 0; i < levelBar.childCount; ++i)
            {
                Destroy(levelBar.GetChild(i).gameObject);
            }

            for (int i = 0; i < level; ++i)
            {
                AddLevelStick();
            }
        }
        else
        {
            Debug.Log(TowerDetailManager.Instance.Target + "에 대한 키를 가지고 있지 않습니다...");
        }
    }
コード例 #3
0
    public void TargetChanged()
    {
        if (PlayerPrefs.HasKey(TowerDetailManager.Instance.Target))
        {
            data = JsonUtility.FromJson <TowerUpgradeData>(PlayerPrefs.GetString(TowerDetailManager.Instance.Target));
        }

        LevelBarInit();

        if (TowerDetailManager.Instance.TargetType != TowerDetailManager.TowerType.Attack)
        {
            if (upgradeType != UpgradeType.Buy && upgradeType != UpgradeType.Upgrade)
            {
                GetComponent <Button>().interactable = false;
            }
        }
        else
        {
            GetComponent <Button>().interactable = true;
        }
    }