示例#1
0
        public List <SceneAnimation> InterpretEffect(BattleEffect Effect, EffectScript EffectScripts, Player User, Player Trigger, byte TriggerPosition)
        {
            List <SceneAnimation> Animations = new List <SceneAnimation>();

            Interpreter.SetNewFrame(Effect, User, GetOpponent(User), Trigger, TriggerPosition);
            //Interpreter.SetTargets(User, GetOpponent(User), Trigger, TriggerPosition);
            //Interpreter.SetEffect(Effect);
            Animations.AddRange(Interpreter.ExecuteEffect(EffectScripts));

            return(Animations); //TODO: GET ANIMATIONS FROM SCRIPT
        }
示例#2
0
        public override List <SceneAnimation> ExecuteEffect(EffectScript Script)
        {
            //Animations = new List<SceneAnimation>();
            //AnimationStack.Add(Animations);

            CurrentFrame = Frames.Last();
            CurrentFrame.UseFrame();

            if (!(Element == CreatureElement.EARTH && Opponent.NotEffectedByEarth.Evaluate()))
            {
                List <byte> Memory = Script.Script;
                for (int i = 0; i < Memory.Count; i++)
                {
                    OP_Decode[Memory[i] >> 4]((byte)(Memory[i] & 0x0F))();
                }
            }

            /*AnimationStack.Remove(Animations);
             *          List<SceneAnimation> Finished = Animations;
             *          if (AnimationStack.Count > 0) {
             *                  Animations = AnimationStack.Last();
             *          } else {
             *                  AnimationStack.Clear();
             *                  Animations = null;
             *          }*/

            Frames.Remove(CurrentFrame);
            List <SceneAnimation> Finished = Animations;

            if (Frames.Count > 0)
            {
                CurrentFrame = Frames.Last();
                CurrentFrame.UseFrame();
            }
            else
            {
                Frames.Clear();
                CurrentFrame = null;
            }

            return(Finished);
        }
示例#3
0
 public abstract List <SceneAnimation> ExecuteEffect(EffectScript Script);