public static Player.Side ConvertSpellSideToPlayerSide(Spell spell, SpellPlayerSide spellSide)
    {
        Entity entity = spell.GetSourceCard().GetEntity();

        switch (spellSide)
        {
        case SpellPlayerSide.FRIENDLY:
            return(Player.Side.FRIENDLY);

        case SpellPlayerSide.OPPONENT:
            return(Player.Side.OPPOSING);

        case SpellPlayerSide.SOURCE:
            if (!entity.IsControlledByFriendlySidePlayer())
            {
                return(Player.Side.OPPOSING);
            }
            return(Player.Side.FRIENDLY);

        case SpellPlayerSide.TARGET:
            if (!entity.IsControlledByFriendlySidePlayer())
            {
                return(Player.Side.FRIENDLY);
            }
            return(Player.Side.OPPOSING);
        }
        return(Player.Side.NEUTRAL);
    }
    public static List <Zone> FindZonesFromTag(Spell spell, SpellZoneTag zoneTag, SpellPlayerSide spellSide)
    {
        if (ZoneMgr.Get() != null)
        {
            if (spellSide == SpellPlayerSide.NEUTRAL)
            {
                return(null);
            }
            if (spellSide == SpellPlayerSide.BOTH)
            {
                return(FindZonesFromTag(zoneTag));
            }
            Player.Side side = ConvertSpellSideToPlayerSide(spell, spellSide);
            switch (zoneTag)
            {
            case SpellZoneTag.PLAY:
                return(ZoneMgr.Get().FindZonesOfType <Zone, ZonePlay>(side));

            case SpellZoneTag.HERO:
                return(ZoneMgr.Get().FindZonesOfType <Zone, ZoneHero>(side));

            case SpellZoneTag.HERO_POWER:
                return(ZoneMgr.Get().FindZonesOfType <Zone, ZoneHeroPower>(side));

            case SpellZoneTag.WEAPON:
                return(ZoneMgr.Get().FindZonesOfType <Zone, ZoneWeapon>(side));

            case SpellZoneTag.DECK:
                return(ZoneMgr.Get().FindZonesOfType <Zone, ZoneDeck>(side));

            case SpellZoneTag.HAND:
                return(ZoneMgr.Get().FindZonesOfType <Zone, ZoneHand>(side));

            case SpellZoneTag.GRAVEYARD:
                return(ZoneMgr.Get().FindZonesOfType <Zone, ZoneGraveyard>(side));

            case SpellZoneTag.SECRET:
                return(ZoneMgr.Get().FindZonesOfType <Zone, ZoneSecret>(side));
            }
            Debug.LogWarning(string.Format("SpellUtils.FindZonesFromTag() - Unhandled zoneTag {0}. spellSide={1} playerSide={2}", zoneTag, spellSide, side));
        }
        return(null);
    }
Пример #3
0
 public static Player.Side ConvertSpellSideToPlayerSide(Spell spell, SpellPlayerSide spellSide)
 {
     object[] objArray1 = new object[] { spell, spellSide };
     return(MonoClass.smethod_14 <Player.Side>(TritonHs.MainAssemblyPath, "", "SpellUtils", "ConvertSpellSideToPlayerSide", objArray1));
 }
Пример #4
0
        public static List <Zone> FindZonesFromTag(Spell spell, SpellZoneTag zoneTag, SpellPlayerSide spellSide)
        {
            object[]        objArray1 = new object[] { spell, zoneTag, spellSide };
            Class267 <Zone> class2    = MonoClass.smethod_16 <Class267 <Zone> >(TritonHs.MainAssemblyPath, "", "SpellUtils", "FindZonesFromTag", new Class272.Enum20[] { Class272.Enum20.Class }, objArray1);

            if (class2 != null)
            {
                return(class2.method_25());
            }
            return(null);
        }