Example #1
0
 public ExplosionData()
 {
     ExplodeFX   = new BattleFX();
     IntroFX     = new List <BattleFX>();
     Emitter     = new EmptyCircleSquareEmitter();
     TileEmitter = new EmptyFiniteEmitter();
 }
Example #2
0
 public SkinData(LocalText name, char symbol)
 {
     Name     = name;
     Comment  = "";
     Symbol   = symbol;
     LeaderFX = new BattleFX();
 }
Example #3
0
        public BattleData(BattleData other)
        {
            ID = other.ID;

            Element  = other.Element;
            Category = other.Category;

            HitRate = other.HitRate;

            SkillStates = other.SkillStates.Clone();

            copyEventList <BattleEvent>(ref BeforeTryActions, other.BeforeTryActions, true);
            copyEventList <BattleEvent>(ref BeforeActions, other.BeforeActions, true);
            copyEventList <BattleEvent>(ref OnActions, other.OnActions, true);
            copyEventList <BattleEvent>(ref BeforeExplosions, other.BeforeExplosions, true);
            copyEventList <BattleEvent>(ref BeforeHits, other.BeforeHits, true);
            copyEventList <BattleEvent>(ref OnHits, other.OnHits, true);
            copyEventList <BattleEvent>(ref OnHitTiles, other.OnHitTiles, true);
            copyEventList <BattleEvent>(ref AfterActions, other.AfterActions, true);
            copyEventList <ElementEffectEvent>(ref ElementEffects, other.ElementEffects, true);

            IntroFX = new List <BattleFX>();
            foreach (BattleFX fx in other.IntroFX)
            {
                IntroFX.Add(new BattleFX(fx));
            }
            HitFX         = new BattleFX(other.HitFX);
            HitCharAction = other.HitCharAction.Clone();
        }
Example #4
0
 public ExplosionData(ExplosionData other)
 {
     TargetAlignments = other.TargetAlignments;
     HitTiles         = other.HitTiles;
     Range            = other.Range;
     Speed            = other.Speed;
     ExplodeFX        = new BattleFX(other.ExplodeFX);
     IntroFX          = new List <BattleFX>();
     foreach (BattleFX fx in other.IntroFX)
     {
         IntroFX.Add(new BattleFX(fx));
     }
     Emitter     = (CircleSquareEmitter)other.Emitter.Clone();
     TileEmitter = (FiniteEmitter)other.TileEmitter.Clone();
 }
Example #5
0
        public BattleData()
        {
            ID = -1;

            HitRate = -1;

            SkillStates = new StateCollection <SkillState>();

            BeforeTryActions = new PriorityList <BattleEvent>();
            BeforeActions    = new PriorityList <BattleEvent>();
            OnActions        = new PriorityList <BattleEvent>();
            BeforeExplosions = new PriorityList <BattleEvent>();
            BeforeHits       = new PriorityList <BattleEvent>();
            OnHits           = new PriorityList <BattleEvent>();
            OnHitTiles       = new PriorityList <BattleEvent>();
            AfterActions     = new PriorityList <BattleEvent>();
            ElementEffects   = new PriorityList <ElementEffectEvent>();

            IntroFX = new List <BattleFX>();
            HitFX   = new BattleFX();
        }
Example #6
0
        public IEnumerator <YieldInstruction> ProcessBattleFX(Loc userLoc, Loc targetLoc, Dir8 userDir, BattleFX fx)
        {
            //play sound
            GameManager.Instance.BattleSE(fx.Sound);
            //the animation
            FiniteEmitter fxEmitter = (FiniteEmitter)fx.Emitter.Clone();

            fxEmitter.SetupEmit(targetLoc * GraphicsManager.TileSize, userLoc * GraphicsManager.TileSize, userDir);
            CreateAnim(fxEmitter, DrawLayer.NoDraw);
            SetScreenShake(new ScreenMover(fx.ScreenMovement));
            yield return(new WaitForFrames(GameManager.Instance.ModifyBattleSpeed(fx.Delay, targetLoc)));
        }
Example #7
0
 public IEnumerator <YieldInstruction> ProcessBattleFX(Character user, Character target, BattleFX fx)
 {
     yield return(CoroutineManager.Instance.StartCoroutine(ProcessBattleFX(user.CharLoc, target.CharLoc, target.CharDir, fx)));
 }