using UnityEngine; using System.Collections; using System.Collections.Generic; using System.Xml; public class BuffManager { public enum State { Add, Remove, } public Dictionary dataDict; public BuffManager() { dataDict = new Dictionary(); InitByXML("XML/Config/"+Language.GetCurrentLanguage()+"/buff_config"); } public void InitByXML(string path) { TextAsset textAsset = (TextAsset)Resources.Load(path); XmlDocument xml = new XmlDocument(); xml.LoadXml(textAsset.text); XmlNode mapNode = xml.SelectSingleNode("data"); XmlNodeList nodeList = mapNode.SelectNodes("item"); for(int i=0; i buffList = battleObj.GetBuffList(); for(int i=0; i add) { add = speed; } } else if(buff.GetBuffType(j) == Buff.BuffType.SlowDown) { float speed = buff.GetConfigValue(j).GetValue(battleObj.originMoveSpeed); if(speed > reduce) { reduce = speed; } } } } if(reduce == battleObj.originMoveSpeed) { battleObj.modifyMoveSpeed = -reduce; } else { battleObj.modifyMoveSpeed = add - reduce; } } private void DealStuck(BattleObject battleObj) { List buffList = battleObj.GetBuffList(); for(int i=0; i buffList = battleObj.GetBuffList(); for(int i=0; i buffList = battleObj.GetBuffList(); for(int i=0; i value) { value = v; } } } } float totalValue = 1f + value; float hpAdd = battleObj.originMaxHp * value; battleObj.maxHp = battleObj.originMaxHp * totalValue; battleObj.hp += hpAdd; if(battleObj is Craft) { Craft craft = battleObj as Craft; Power power = craft.GetPowerManager().GetAttack(); power.modifyValue = (int)(value * (float)power.GetOriginValue()); } MapObjectScaler.Scale(battleObj, totalValue); } private void DealHoldAction(BattleObject battleObj) { bool hasHold = false; List buffList = battleObj.GetBuffList(); for(int i=0; i