MayHeCome/Assets/Scripts/BuildingTechManager.cs
2024-12-18 17:55:34 +08:00

93 lines
3.0 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BuildingTechManager : MonoBehaviour
{
[System.Serializable]
public class BuildingTechCost
{
public int ;
public int ;
public int ;
}
public static BuildingTechManager Instance { get; private set; }
public Dictionary<string, List<BuildingTechCost>> techCostDictionary;
public List<BuildingTechCost> = new List<BuildingTechCost>();
public List<BuildingTechCost> = new List<BuildingTechCost>();
public List<BuildingTechCost> = new List<BuildingTechCost>();
public List<BuildingTechCost> = new List<BuildingTechCost>();
public List<BuildingTechCost> = new List<BuildingTechCost>();
public List<BuildingTechCost> = new List<BuildingTechCost>();
public List<BuildingTechCost> = new List<BuildingTechCost>();
public List<BuildingTechCost> = new List<BuildingTechCost>();
void Awake()
{
if (Instance == null)
{
Instance = this;
techCostDictionary = new Dictionary<string, List<BuildingTechCost>>();
}
else
{
Destroy(gameObject);
}
}
private void Start()
{
//伐木背包需要手动调
techCostDictionary["高速磕头"] = ;
techCostDictionary["信仰压缩"] = ;
techCostDictionary["一心虔诚"] = ;
techCostDictionary["小祭司"] = ;
techCostDictionary["铸造太阳神之眼"] = ;
techCostDictionary["撑杆练习"] = ;
techCostDictionary["木像升级"] = ;
techCostDictionary["大团工匠"] = ;
}
public void CreateUpdates(SpecailBuff_Buildings sb, string UpName,Action action)
{
if (techCostDictionary.ContainsKey(UpName))
{
BuildingTechCost btcc = techCostDictionary[UpName][techCostDictionary[UpName].Count-1];
bool containsValue = (UpName == "高速磕头" || UpName == "撑杆练习" || UpName == "木像升级" || UpName == "一心虔诚") ;
SpecailBuff_Buildings.BuildingTechItem btc = sb.CreateTechItem(null, action, UpName,
btcc.,
btcc.,
btcc., false,containsValue?techCostDictionary[UpName].Count-1:-1);
for (int i = techCostDictionary[UpName].Count-2; i >=0; i--)
{
btcc = techCostDictionary[UpName][i];
SpecailBuff_Buildings.BuildingTechItem bt = sb.CreateTechItem(btc, action , UpName,
btcc.,
btcc.,
btcc., i==0,containsValue?i:-1);
btc = bt;
}
}
else
{
Debug.LogWarning("没有对应升级项目!");
}
}
}