Exemplo n.º 1
0
        ////

        public bool TryApply(World.Objects.Actions.ActionProduct action, Character target)
        {
            if (!Unconditional)
            {
                foreach (var cond in GlobalConditions)
                {
                    if (cond == null)
                    {
                        continue;
                    }

                    if (!cond.Verify())
                    {
                        return(false);
                    }
                }

                foreach (var cond in TargetConditions)
                {
                    if (cond == null)
                    {
                        continue;
                    }

                    if (!Check(cond, target))
                    {
                        return(false);
                    }
                }
            }

            DoApply(action, target);
            return(true);
        }
Exemplo n.º 2
0
        public AbilityPersistence(AbilityResource res)
        {
            _resource = res;

            _cooldownTimer = new Timer(res.CooldownTime, start: false, repeat: false);
            _cooldownTimer.OnTimeLimitHandler += OnCooldownTimeout;

            _endLagTimer = new Timer(res.EndLag, start: false, repeat: false);
            _endLagTimer.OnTimeLimitHandler += OnEndlagTimeout;

            _action = res.Action.Create();
            _action.OnActionFinishedHandler += OnActionFinished;
        }
Exemplo n.º 3
0
        ////


        public virtual bool TryApply(BaseObject source, World.Objects.Actions.ActionProduct action, World.Objects.Characters.Character target)
        {
            if (!Unconditional)
            {
                foreach (var cond in GlobalConditions)
                {
                    if (cond == null)
                    {
                        continue;
                    }

                    if (!cond.Verify())
                    {
                        return(false);
                    }
                }

                foreach (var cond in TargetConditions)
                {
                    if (cond == null)
                    {
                        continue;
                    }

                    if (!Check(cond, target))
                    {
                        return(false);
                    }
                }

                foreach (var cond in SourceConditions)
                {
                    if (cond == null)
                    {
                        continue;
                    }

                    if (!Check(cond, source))
                    {
                        return(false);
                    }
                }
            }

            DoApply(source, action, target);
            return(true);
        }
Exemplo n.º 4
0
        //////////////////////////////////////////////



        ////

        public bool TryApply(World.Objects.Actions.ActionProduct action)
        {
            if (!Unconditional)
            {
                foreach (var cond in GlobalConditions)
                {
                    if (cond == null)
                    {
                        continue;
                    }

                    if (!cond.Verify())
                    {
                        return(false);
                    }
                }
            }

            DoApply(action);
            return(true);
        }
Exemplo n.º 5
0
 protected virtual void DoApply(BaseObject source, World.Objects.Actions.ActionProduct action, World.Objects.Characters.Character target)
 {
     DoApply(source, action, target as BaseObject);
 }
Exemplo n.º 6
0
 protected virtual void DoApply(BaseObject source, World.Objects.Actions.ActionProduct action, BaseObject target)
 {
     DoApply(action, target as BaseObject);
 }
Exemplo n.º 7
0
 protected virtual void DoApply(World.Objects.Actions.ActionProduct action, BaseObject target)
 {
     DoApply(action);
 }
Exemplo n.º 8
0
 protected virtual void DoApply(World.Objects.Actions.ActionProduct action)
 {
 }
Exemplo n.º 9
0
 protected override void DoApply(World.Objects.Actions.ActionProduct action)
 {
     Debug.Log(_message);
 }