Example #1
0
 public Weapon(ProjectileManager projectileManager, byte slot, ICanFire holdingObj)
 {
     DebuffType         = DebuffTypes.None;
     Slot               = slot;
     HoldingObj         = holdingObj;
     _projectileManager = projectileManager;
     timeSinceLastShot  = float.MaxValue;
 }
Example #2
0
 /// <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;
     }
 }
Example #3
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];
     }
 }
Example #4
0
 private bool IsDebuffActive(DebuffTypes debuff)
 {
     foreach (var x in playerDebuffs)
     {
         if (x.Equals(debuff))
         {
             return(true);
         }
     }
     return(false);
 }
Example #5
0
        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();
        }
Example #6
0
        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();
            }
        }
Example #7
0
    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));
            }
        }
    }
Example #8
0
 public ComboboxItem(string name, DebuffTypes type)
 {
     this.name = name;
     this.debuff_type = type;
 }
Example #9
0
        //IReadOnlyDictionary<DebuffTypes, int> Counts { get { return _model.Counts; } }

        public float this[DebuffTypes type] {
            get { return(_model.Counts[type] * DebuffHandlerModel.EffectValues[type]); }
        }