Ejemplo n.º 1
0
    /// <summary>
    /// Builds a hero, including any value used for battle calculations. Persists between battles.
    /// </summary>
    /// <param name="type">as HeroType</param>
    /// <param name="stats">as BattleStats</param>
    /// <param name="equipment">inventory of equipped equipment</param>
    /// <param name="name">fullname</param>
    public BattleHero(HeroType type, BattleStats stats, HeroEquipment equipment = null, string name = "Hero1")
    {
        heroType = type;
        sprites  = HeroSpriteData.MakeNewHeroSprites(heroType);

        fullName = name;

        // Load BStats
        BStats = stats;
        BStats.UpdateMax();
        HealAll();
        if (equipment != null)
        {
            Equipment = equipment;
        }
    }
Ejemplo n.º 2
0
    // Load common sprites for any hero
    static void BuildGeneric(HeroType type, HeroSprites sprites)
    {
        // Idle, Walk, Jump, Kneel, Swing, Defend, Cast, Item, Struck, Dead, Victory,
        string prefix = @"Sprites\Hero\" + type.ToString();

        sprites.Portrait = Resources.Load <Sprite>(prefix + Stance.Portrait.ToString());
        sprites.Idle     = Resources.Load <Sprite>(prefix + Stance.Idle.ToString());
        sprites.Walk[0]  = sprites.Idle;
        sprites.Walk[1]  = Resources.Load <Sprite>(prefix + Stance.Walk.ToString() + "0");
        sprites.Walk[2]  = sprites.Idle;
        sprites.Walk[3]  = Resources.Load <Sprite>(prefix + Stance.Walk.ToString() + "1");
        sprites.Jump[0]  = Resources.Load <Sprite>(prefix + Stance.Jump.ToString() + "0");
        sprites.Jump[1]  = Resources.Load <Sprite>(prefix + Stance.Jump.ToString() + "1");
        sprites.Kneel    = Resources.Load <Sprite>(prefix + Stance.Kneel.ToString());
        sprites.Swing    = Resources.Load <Sprite>(prefix + Stance.Swing.ToString());
        sprites.Defend   = Resources.Load <Sprite>(prefix + Stance.Defend.ToString());
        sprites.Cast[0]  = Resources.Load <Sprite>(prefix + Stance.Cast.ToString() + "0");
        sprites.Cast[1]  = Resources.Load <Sprite>(prefix + Stance.Cast.ToString() + "1");
        sprites.Item     = Resources.Load <Sprite>(prefix + Stance.Item.ToString());
        sprites.Struck   = Resources.Load <Sprite>(prefix + Stance.Struck.ToString());
        sprites.Dead     = Resources.Load <Sprite>(prefix + Stance.Dead.ToString());
        sprites.Victory  = Resources.Load <Sprite>(prefix + Stance.Victory.ToString());
    }
    // called in Start().
    void LoadSprites()
    {
        // After HeroSprite are initialized:
        // Setup the spriteswaptimer
        spriteSwapTimer          = gameObject.AddComponent <EventTimer>();
        spriteSwapTimer.Duration = SpriteSwapInterval;
        spriteSwapTimer.AddListener_Finished(SpriteSwap);
        spriteSwapTimer.Run();

        // Populate sprites, only need Walk[], Jump[] and Dead
        BattleLoader.Party.Hero[0].Sprites.SetObj(gameObject);
        HeroSprites sprites = BattleLoader.Party.Hero[0].Sprites;

        walkingSprite[0] = sprites.Walk[0];
        walkingSprite[1] = sprites.Walk[1];
        walkingSprite[2] = sprites.Walk[2];
        walkingSprite[3] = sprites.Walk[3];

        jumpingSprite[0] = sprites.Jump[0];
        jumpingSprite[1] = sprites.Jump[1];

        deathSprite = sprites.Dead;
    }
Ejemplo n.º 4
0
    // used above in MakeNewHeroSprites during creation of a new BattleHero
    static HeroSprites Copy(HeroType type, HeroSprites sprites)
    {
        sprites.Portrait = data[type].Portrait;
        sprites.Idle     = data[type].Idle;
        sprites.Walk[0]  = data[type].Walk[0];
        sprites.Walk[1]  = data[type].Walk[1];
        sprites.Walk[2]  = data[type].Walk[2];
        sprites.Walk[3]  = data[type].Walk[3];
        sprites.Jump[0]  = data[type].Jump[0];
        sprites.Jump[1]  = data[type].Jump[1];
        sprites.Kneel    = data[type].Kneel;
        sprites.Swing    = data[type].Swing;
        sprites.Defend   = data[type].Defend;
        sprites.Cast[0]  = data[type].Cast[0];
        sprites.Cast[1]  = data[type].Cast[1];
        sprites.Item     = data[type].Item;
        sprites.Struck   = data[type].Struck;
        sprites.Dead     = data[type].Dead;
        sprites.Victory  = data[type].Victory;

        if (sprites is SabinSprites)
        {
            (sprites as SabinSprites).Kick      = (data[type] as SabinSprites).Kick;
            (sprites as SabinSprites).AuraBolt  = (data[type] as SabinSprites).AuraBolt;
            (sprites as SabinSprites).FireDance = (data[type] as SabinSprites).FireDance;
        }

        if (sprites is CelesSprites)
        {
            for (int i = 0; i <= 6; i++)
            {
                (sprites as CelesSprites).RunicBlade[i] = (data[type] as CelesSprites).RunicBlade[i];
            }
        }

        return(sprites);
    }