public Weapon(ProjectileManager projectileManager, byte slot, ICanFire holdingObj) { DebuffType = DebuffTypes.None; Slot = slot; HoldingObj = holdingObj; _projectileManager = projectileManager; timeSinceLastShot = float.MaxValue; }
/// <summary> /// Removes numToRemove debuffs of the specified type. Does not reset removal timer. /// </summary> /// <param name="type"></param> /// <param name="numToRemove"></param> public virtual void RemoveDebuff(DebuffTypes type, int numToRemove) { _model.Counts[type] -= numToRemove; if (_model.Counts[type] < 0) { _model.Counts[type] = 0; } }
/// <summary> /// Adds numToAdd to the specified debuff, up to the maximum debuff count. Resets removal timer /// </summary> /// <param name="type"></param> public virtual void AddDebuff(DebuffTypes type, int numToAdd, float currentTimeMS) { _model.Counts[type] += numToAdd; _model.LastModifyTimes[type] = currentTimeMS; if (_model.Counts[type] > DebuffHandlerModel.MaxCounts[type]) { _model.Counts[type] = DebuffHandlerModel.MaxCounts[type]; } }
private bool IsDebuffActive(DebuffTypes debuff) { foreach (var x in playerDebuffs) { if (x.Equals(debuff)) { return(true); } } return(false); }
static void FillArray(XMLDebuffContainer file,ref int[] debuff_arr, DebuffTypes debuff_type) { List<int> tmp_lst = new List<int>(); foreach (Debuff item in file.debuff_arr) { if (item.type == debuff_type) tmp_lst.Add(item.id); } if(tmp_lst.Count>0) debuff_arr = tmp_lst.ToArray(); }
public void AddDebuff(int id, string name, string instance_name, DebuffTypes type) { using (StreamReader mr = new StreamReader("Debuffs.xml")) { file = (XMLDebuffContainer)xml_serialize.Deserialize(mr); } Debuff debuf = new Debuff(); debuf.id = id; debuf.name = name; debuf.type = type; debuf.instance_name = instance_name; file.debuff_arr.Add(debuf); using (StreamWriter sw = new StreamWriter("Debuffs.xml")) { xml_serialize.Serialize(sw, file); sw.Flush(); } }
public void SetDebuffUI(DebuffTypes debuffType, float displayTime) { var item = m_DebuffsOnPanel.SingleOrDefault(x => x.DebuffType == debuffType); if (item != null) { item.gameObject.transform.GetChild(0).GetComponent <Image>().fillAmount = 1f; if (item.gameObject.activeSelf) //if debuff is already on pannel { item.appearTimer = displayTime; } else //new debuff { item.appearTimer = displayTime; item.gameObject.SetActive(true); StartCoroutine(ChangeImageFill(item)); } } }
public ComboboxItem(string name, DebuffTypes type) { this.name = name; this.debuff_type = type; }
//IReadOnlyDictionary<DebuffTypes, int> Counts { get { return _model.Counts; } } public float this[DebuffTypes type] { get { return(_model.Counts[type] * DebuffHandlerModel.EffectValues[type]); } }