}//effector


        public void RemoveStatusEffect(IStatusEffector effector) {
            if(this.Effectors == null)
                return;
            if(!this.Effectors.Contains(effector))
                return;
            effector.RemoveEffect(this.Owner);
            this.Effectors.Remove(effector);
            this.DebugStatusApplied.Remove(effector.GetName());
        }//RemoveStatusEffect
        }//Update


        private void checkEffectorTimeout() {
            if(this.Effectors == null || this.Effectors.Count == 0)
                return;

            List<IStatusEffector> origEffectors = this.Effectors;
            for (int i = 0; i < origEffectors.Count; i++) {
                IStatusEffector effect = origEffectors[i];
                float currDuration = effect.GetCurrentDuration();
                if(currDuration < 0)
                    continue;

                if(currDuration >= effect.GetMaxDuration())
                    RemoveStatusEffect(effect);
            }//for
        }//checkEffectorTImeout
        }//checkEffectorTImeout


        public void ApplyStatusEffect(IStatusEffector effector) {
            if (this.Effectors == null) {
                this.Effectors = new List<IStatusEffector>();
                return;
            }
            if(this.Effectors.Contains(effector))
                return;
            if (effector == null) {
#if UNITY_EDITOR
                Debug.LogWarning("ApplyStatusEffect: Effector is null! [" + this.name + "]");
#endif
                return;
            }

            effector.ApplyEffect(Owner);
            
            this.Effectors.Add(effector);
            this.DebugStatusApplied.Add(effector.GetName());
        }//effector