Beispiel #1
0
    private Card GetCardFromTask(PowerTask task)
    {
        Network.HistFullEntity power = task.GetPower() as Network.HistFullEntity;
        int iD = power.Entity.ID;

        return(GameState.Get().GetEntity(iD).GetCard());
    }
Beispiel #2
0
    public void DoRealTimeTask(List <Network.PowerHistory> powerList, int index)
    {
        GameState state = GameState.Get();

        switch (this.m_power.Type)
        {
        case Network.PowerType.FULL_ENTITY:
        {
            Network.HistFullEntity power = (Network.HistFullEntity) this.m_power;
            state.OnRealTimeFullEntity(power);
            break;
        }

        case Network.PowerType.SHOW_ENTITY:
        {
            Network.HistShowEntity showEntity = (Network.HistShowEntity) this.m_power;
            state.OnRealTimeShowEntity(showEntity);
            break;
        }

        case Network.PowerType.TAG_CHANGE:
        {
            Network.HistTagChange change = (Network.HistTagChange) this.m_power;
            state.OnRealTimeTagChange(change);
            break;
        }

        case Network.PowerType.CREATE_GAME:
        {
            Network.HistCreateGame createGame = (Network.HistCreateGame) this.m_power;
            state.OnRealTimeCreateGame(powerList, index, createGame);
            break;
        }
        }
    }
Beispiel #3
0
 public override bool AddPowerTargets()
 {
     foreach (PowerTask task in base.m_taskList.GetTaskList())
     {
         Network.PowerHistory power = task.GetPower();
         if (power.Type == Network.PowerType.FULL_ENTITY)
         {
             Network.HistFullEntity entity = power as Network.HistFullEntity;
             int    iD      = entity.Entity.ID;
             Entity entity2 = GameState.Get().GetEntity(iD);
             if (entity2 == null)
             {
                 UnityEngine.Debug.LogWarning(string.Format("{0}.AddPowerTargets() - WARNING encountered HistFullEntity where entity id={1} but there is no entity with that id", this, iD));
                 return(false);
             }
             if (!entity2.IsHero())
             {
                 UnityEngine.Debug.LogWarning(string.Format("{0}.AddPowerTargets() - WARNING HistFullEntity where entity id={1} is not a hero", this, iD));
                 return(false);
             }
             this.AddTarget(entity2.GetCard().gameObject);
             return(true);
         }
     }
     return(false);
 }
Beispiel #4
0
    private Entity LoadCardFromTask(PowerTask task)
    {
        Network.HistFullEntity power  = task.GetPower() as Network.HistFullEntity;
        Network.Entity         entity = power.Entity;
        int    iD      = entity.ID;
        Entity entity3 = GameState.Get().GetEntity(iD);

        entity3.LoadCard(entity.CardID);
        return(entity3);
    }
    private void FindOldAndNewCards()
    {
        int num = -1;
        List <PowerTask> taskList = base.m_taskList.GetTaskList();

        for (int i = 0; i < taskList.Count; i++)
        {
            Network.PowerHistory power = taskList[i].GetPower();
            switch (power.Type)
            {
            case Network.PowerType.FULL_ENTITY:
            {
                Network.HistFullEntity entity = (Network.HistFullEntity)power;
                Entity entity2 = GameState.Get().GetEntity(entity.Entity.ID);
                if (entity2 != null)
                {
                    Card card = entity2.GetCard();
                    if (card != null)
                    {
                        this.m_newCard = card;
                    }
                }
                break;
            }

            case Network.PowerType.SHOW_ENTITY:
            {
                Network.HistShowEntity entity3 = (Network.HistShowEntity)power;
                Entity entity4 = GameState.Get().GetEntity(entity3.Entity.ID);
                if (entity4 != null)
                {
                    Card card2 = entity4.GetCard();
                    if ((card2 != null) && (entity4.GetZone() == TAG_ZONE.DECK))
                    {
                        if (< > f__am$cache5 == null)
                        {
                            < > f__am$cache5 = delegate(Network.Entity.Tag tag) {
                                if (tag.Name != 0x31)
                                {
                                    return(false);
                                }
                                if (tag.Value != 3)
                                {
                                    return(false);
                                }
                                return(true);
                            };
                        }
                        if (entity3.Entity.Tags.Find(< > f__am$cache5) != null)
                        {
                            this.m_oldCard = card2;
                            num            = i;
                        }
                    }
Beispiel #6
0
 private Card FindNewCard()
 {
     foreach (PowerTask task in base.m_taskList.GetTaskList())
     {
         Network.HistFullEntity power = task.GetPower() as Network.HistFullEntity;
         if (power != null)
         {
             return(GameState.Get().GetEntity(power.Entity.ID).GetCard());
         }
     }
     return(null);
 }
Beispiel #7
0
 protected override void OnAction(SpellStateType prevStateType)
 {
     foreach (PowerTask task in base.m_taskList.GetTaskList())
     {
         Network.HistFullEntity power = task.GetPower() as Network.HistFullEntity;
         if (power != null)
         {
             GameState.Get().GetEntity(power.Entity.ID).GetCard().SuppressPlaySounds(true);
         }
     }
     base.OnAction(prevStateType);
 }
 public override bool AddPowerTargets()
 {
     this.m_oldHeroCard = null;
     this.m_newHeroCard = null;
     foreach (PowerTask task in base.m_taskList.GetTaskList())
     {
         Network.PowerHistory power = task.GetPower();
         if (power.Type == Network.PowerType.FULL_ENTITY)
         {
             Network.HistFullEntity entity = (Network.HistFullEntity)power;
             int    iD      = entity.Entity.ID;
             Entity entity2 = GameState.Get().GetEntity(iD);
             if (entity2 == null)
             {
                 UnityEngine.Debug.LogWarning(string.Format("{0}.AddPowerTargets() - WARNING encountered HistFullEntity where entity id={1} but there is no entity with that id", this, iD));
                 return(false);
             }
             if (entity2.IsHero())
             {
                 this.m_newHeroCard = entity2.GetCard();
             }
         }
         else if (power.Type == Network.PowerType.TAG_CHANGE)
         {
             Network.HistTagChange change = (Network.HistTagChange)power;
             if ((change.Tag == 0x31) && (change.Value == 6))
             {
                 int    id      = change.Entity;
                 Entity entity3 = GameState.Get().GetEntity(id);
                 if (entity3 == null)
                 {
                     UnityEngine.Debug.LogWarning(string.Format("{0}.AddPowerTargets() - WARNING encountered HistTagChange where entity id={1} but there is no entity with that id", this, id));
                     return(false);
                 }
                 if (entity3.IsHero())
                 {
                     this.m_oldHeroCard = entity3.GetCard();
                 }
             }
         }
     }
     if (this.m_oldHeroCard == null)
     {
         this.m_newHeroCard = null;
         return(false);
     }
     if (this.m_newHeroCard == null)
     {
         this.m_oldHeroCard = null;
         return(false);
     }
     return(true);
 }
Beispiel #9
0
    public override string ToString()
    {
        string str = "null";

        if (this.m_power != null)
        {
            switch (this.m_power.Type)
            {
            case Network.PowerType.FULL_ENTITY:
            {
                Network.HistFullEntity power = (Network.HistFullEntity) this.m_power;
                str = string.Format("type={0} entity={1} tags={2}", this.m_power.Type, this.GetPrintableEntity(power.Entity), power.Entity.Tags);
                break;
            }

            case Network.PowerType.SHOW_ENTITY:
            {
                Network.HistShowEntity entity2 = (Network.HistShowEntity) this.m_power;
                str = string.Format("type={0} entity={1} tags={2}", this.m_power.Type, this.GetPrintableEntity(entity2.Entity), entity2.Entity.Tags);
                break;
            }

            case Network.PowerType.HIDE_ENTITY:
            {
                Network.HistHideEntity entity3 = (Network.HistHideEntity) this.m_power;
                str = string.Format("type={0} entity={1} zone={2}", this.m_power.Type, this.GetPrintableEntity(entity3.Entity), entity3.Zone);
                break;
            }

            case Network.PowerType.TAG_CHANGE:
            {
                Network.HistTagChange change = (Network.HistTagChange) this.m_power;
                str = string.Format("type={0} entity={1} {2}", this.m_power.Type, this.GetPrintableEntity(change.Entity), Tags.DebugTag(change.Tag, change.Value));
                break;
            }

            case Network.PowerType.CREATE_GAME:
                str = ((Network.HistCreateGame) this.m_power).ToString();
                break;

            case Network.PowerType.META_DATA:
                str = ((Network.HistMetaData) this.m_power).ToString();
                break;
            }
        }
        return(string.Format("power=[{0}] complete={1}", str, this.m_completed));
    }
    protected override Card GetTargetCardFromPowerTask(int index, PowerTask task)
    {
        Network.HistFullEntity power = task.GetPower() as Network.HistFullEntity;
        if (power == null)
        {
            return(null);
        }
        Network.Entity entity  = power.Entity;
        Entity         entity3 = GameState.Get().GetEntity(entity.ID);

        if (entity3 == null)
        {
            UnityEngine.Debug.LogWarning(string.Format("{0}.GetTargetCardFromPowerTask() - WARNING trying to target entity with id {1} but there is no entity with that id", this, entity.ID));
            return(null);
        }
        return(entity3.GetCard());
    }
Beispiel #11
0
    public void DoTask()
    {
        if (!this.m_completed)
        {
            GameState state = GameState.Get();
            switch (this.m_power.Type)
            {
            case Network.PowerType.FULL_ENTITY:
            {
                Network.HistFullEntity power = (Network.HistFullEntity) this.m_power;
                state.OnFullEntity(power);
                break;
            }

            case Network.PowerType.SHOW_ENTITY:
            {
                Network.HistShowEntity showEntity = (Network.HistShowEntity) this.m_power;
                state.OnShowEntity(showEntity);
                break;
            }

            case Network.PowerType.HIDE_ENTITY:
            {
                Network.HistHideEntity hideEntity = (Network.HistHideEntity) this.m_power;
                state.OnHideEntity(hideEntity);
                break;
            }

            case Network.PowerType.TAG_CHANGE:
            {
                Network.HistTagChange netChange = (Network.HistTagChange) this.m_power;
                state.OnTagChange(netChange);
                break;
            }

            case Network.PowerType.META_DATA:
            {
                Network.HistMetaData metaData = (Network.HistMetaData) this.m_power;
                state.OnMetaData(metaData);
                break;
            }
            }
            this.m_completed = true;
        }
    }
Beispiel #12
0
    protected override Card GetTargetCardFromPowerTask(int index, PowerTask task)
    {
        Network.PowerHistory power = task.GetPower();
        if (power.Type != Network.PowerType.FULL_ENTITY)
        {
            return(null);
        }
        Network.HistFullEntity entity  = (Network.HistFullEntity)power;
        Network.Entity         entity2 = entity.Entity;
        Entity entity3 = GameState.Get().GetEntity(entity2.ID);

        if (entity3 == null)
        {
            Debug.LogWarning(string.Format("{0}.GetTargetCardFromPowerTask() - WARNING trying to target entity with id {1} but there is no entity with that id", this, entity2.ID));
            return(null);
        }
        return(entity3.GetCard());
    }
    private void DoTasksUntilSpawn(Card targetCard)
    {
        int entityId = targetCard.GetEntity().GetEntityId();
        List <PowerTask> taskList = base.m_taskList.GetTaskList();
        int num2 = 0;

        for (int i = 0; i < taskList.Count; i++)
        {
            PowerTask task = taskList[i];
            Network.HistFullEntity power = task.GetPower() as Network.HistFullEntity;
            if ((power != null) && (power.Entity.ID == entityId))
            {
                num2 = i;
                break;
            }
        }
        base.m_taskList.DoTasks(0, num2 + 1);
    }
Beispiel #14
0
 public ZoneChange CreateZoneChangeFromFullEntity(Network.HistFullEntity fullEntity)
 {
     object[] objArray1 = new object[] { fullEntity };
     return(base.method_14 <ZoneChange>("CreateZoneChangeFromFullEntity", objArray1));
 }
Beispiel #15
0
 public void PredictZoneFromFullEntity(TempZone tempZone, Network.HistFullEntity fullEntity)
 {
     object[] objArray1 = new object[] { tempZone, fullEntity };
     base.method_8("PredictZoneFromFullEntity", objArray1);
 }
Beispiel #16
0
    public void NotifyHistoryOfAdditionalTargets()
    {
        List <int> list = new List <int>();
        bool       flag = true;

        foreach (PowerTask task in this.GetTaskList())
        {
            Network.PowerHistory power = task.GetPower();
            if (power.Type == Network.PowerType.META_DATA)
            {
                Network.HistMetaData data = power as Network.HistMetaData;
                if (data.MetaType == HistoryMeta.Type.TARGET)
                {
                    if ((data.Info != null) && (data.Info.Count > 0))
                    {
                        for (int i = 0; i < data.Info.Count; i++)
                        {
                            HistoryManager.Get().NotifyAboutAdditionalTarget(data.Info[i]);
                        }
                    }
                }
                else if ((data.MetaType == HistoryMeta.Type.DAMAGE) || (data.MetaType == HistoryMeta.Type.HEALING))
                {
                    flag = false;
                }
                continue;
            }
            if (power.Type == Network.PowerType.SHOW_ENTITY)
            {
                Network.HistShowEntity entity = power as Network.HistShowEntity;
                bool flag2 = false;
                bool flag3 = false;
                foreach (Network.Entity.Tag tag in entity.Entity.Tags)
                {
                    if ((tag.Name == 0xca) && (tag.Value == 6))
                    {
                        flag2 = true;
                        break;
                    }
                    if ((tag.Name == 0x31) && (tag.Value == 4))
                    {
                        flag3 = true;
                    }
                }
                if (!flag2)
                {
                    if (flag3)
                    {
                        HistoryManager.Get().NotifyAboutCardDeath(GameState.Get().GetEntity(entity.Entity.ID));
                    }
                    else
                    {
                        HistoryManager.Get().NotifyAboutAdditionalTarget(entity.Entity.ID);
                    }
                }
                continue;
            }
            Entity sourceEntity = this.GetSourceEntity();
            int    num2         = (sourceEntity != null) ? sourceEntity.GetEntityId() : 0;
            if (power.Type == Network.PowerType.FULL_ENTITY)
            {
                Network.HistFullEntity entity3 = power as Network.HistFullEntity;
                bool flag4 = false;
                bool flag5 = false;
                bool flag6 = false;
                foreach (Network.Entity.Tag tag2 in entity3.Entity.Tags)
                {
                    if ((tag2.Name == 0xca) && (tag2.Value == 6))
                    {
                        flag4 = true;
                        break;
                    }
                    if ((tag2.Name == 0x31) && ((tag2.Value == 1) || (tag2.Value == 7)))
                    {
                        flag5 = true;
                    }
                    if ((tag2.Name == 0x181) && (tag2.Value == num2))
                    {
                        flag6 = true;
                    }
                }
                if (!flag4 && (flag5 || flag6))
                {
                    HistoryManager.Get().NotifyAboutAdditionalTarget(entity3.Entity.ID);
                }
                continue;
            }
            if (power.Type == Network.PowerType.TAG_CHANGE)
            {
                Network.HistTagChange tagChange = power as Network.HistTagChange;
                Entity entity4 = GameState.Get().GetEntity(tagChange.Entity);
                if (tagChange.Tag == 0x2c)
                {
                    if (!list.Contains(tagChange.Entity) && !flag)
                    {
                        HistoryManager.Get().NotifyAboutDamageChanged(entity4, tagChange.Value);
                        flag = true;
                    }
                }
                else if (tagChange.Tag == 0x124)
                {
                    if (!list.Contains(tagChange.Entity))
                    {
                        HistoryManager.Get().NotifyAboutArmorChanged(entity4, tagChange.Value);
                    }
                }
                else if (tagChange.Tag == 0x13e)
                {
                    HistoryManager.Get().NotifyAboutPreDamage(entity4);
                }
                else if ((tagChange.Tag == 0x181) && (tagChange.Value == num2))
                {
                    HistoryManager.Get().NotifyAboutAdditionalTarget(tagChange.Entity);
                }
                else if (tagChange.Tag == 0x106)
                {
                    HistoryManager.Get().NotifyAboutAdditionalTarget(tagChange.Entity);
                }
                if (GameUtils.IsHistoryDeathTagChange(tagChange))
                {
                    HistoryManager.Get().NotifyAboutCardDeath(entity4);
                    list.Add(tagChange.Entity);
                }
            }
        }
    }
Beispiel #17
0
 public bool OnRealTimeFullEntity(Network.HistFullEntity fullEntity)
 {
     object[] objArray1 = new object[] { fullEntity };
     return(base.method_11 <bool>("OnRealTimeFullEntity", objArray1));
 }
Beispiel #18
0
 public Zone FindZoneForFullEntity(Network.HistFullEntity fullEntity)
 {
     object[] objArray1 = new object[] { fullEntity };
     return(base.method_14 <Zone>("FindZoneForFullEntity", objArray1));
 }
Beispiel #19
0
 public void OnRealTimeFullEntity(Network.HistFullEntity fullEntity)
 {
     object[] objArray1 = new object[] { fullEntity };
     base.method_8("OnRealTimeFullEntity", objArray1);
 }