protected bool CompleteMetaDataTasks(int metaDataIndex, PowerTaskList.CompleteCallback completeCallback, object callbackData)
    {
        List <PowerTask> taskList = this.m_taskList.GetTaskList();
        int count = 1;

        for (int i = metaDataIndex + 1; i < taskList.Count; i++)
        {
            Network.PowerHistory power = taskList[i].GetPower();
            if (power.Type == Network.PowerType.META_DATA)
            {
                Network.HistMetaData data = (Network.HistMetaData)power;
                if (data.MetaType == HistoryMeta.Type.TARGET)
                {
                    break;
                }
            }
            count++;
        }
        if (count == 0)
        {
            UnityEngine.Debug.LogError(string.Format("{0}.CompleteMetaDataTasks() - there are no tasks to complete for meta data {1}", this, metaDataIndex));
            return(false);
        }
        this.m_taskList.DoTasks(metaDataIndex, count, completeCallback, callbackData);
        return(true);
    }
Пример #2
0
    protected override bool AddPowerSourceAndTargets(PowerTaskList taskList)
    {
        if (!this.HasSourceCard(taskList))
        {
            return(false);
        }
        this.m_joustTaskIndex = -1;
        List <PowerTask> list = taskList.GetTaskList();

        for (int i = 0; i < list.Count; i++)
        {
            PowerTask            task  = list[i];
            Network.HistMetaData power = task.GetPower() as Network.HistMetaData;
            if ((power != null) && (power.MetaType == HistoryMeta.Type.JOUST))
            {
                this.m_joustTaskIndex = i;
            }
        }
        if (this.m_joustTaskIndex < 0)
        {
            return(false);
        }
        Card card = taskList.GetSourceEntity().GetCard();

        base.SetSource(card);
        return(true);
    }
Пример #3
0
 /* --- Instance Methods (Auxiliary) --- */
 private void SerializeMetaData(Network.HistMetaData d, BinaryWriter w)
 {
     w.Write((int)d.MetaType);
     w.Write(d.Data);
     w.Write(d.Info.Count);
     foreach (var i in d.Info)
     {
         w.Write(i);
     }
 }
Пример #4
0
 public bool HasMetaDataTasks(HistoryMeta.Type metaType)
 {
     foreach (PowerTask task in this.m_tasks)
     {
         Network.HistMetaData power = task.GetPower() as Network.HistMetaData;
         if ((power != null) && (power.MetaType == metaType))
         {
             return(true);
         }
     }
     return(false);
 }
Пример #5
0
 public bool IsTaskPartOfMetaData(int taskIndex, HistoryMeta.Type metaType)
 {
     for (int i = taskIndex; i >= 0; i--)
     {
         Network.PowerHistory power = this.m_tasks[i].GetPower();
         if (power.Type == Network.PowerType.META_DATA)
         {
             Network.HistMetaData data = (Network.HistMetaData)power;
             if (data.MetaType == metaType)
             {
                 return(true);
             }
         }
     }
     return(false);
 }
Пример #6
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;
        }
    }
    public static void DoDamageTasks(PowerTaskList powerTaskList, Card sourceCard, Card targetCard)
    {
        List <PowerTask> taskList = powerTaskList.GetTaskList();

        if ((taskList != null) && (taskList.Count != 0))
        {
            int entityId = sourceCard.GetEntity().GetEntityId();
            int num2     = targetCard.GetEntity().GetEntityId();
            foreach (PowerTask task in taskList)
            {
                Network.PowerHistory power = task.GetPower();
                if (power.Type == Network.PowerType.META_DATA)
                {
                    Network.HistMetaData data = (Network.HistMetaData)power;
                    if ((data.MetaType == HistoryMeta.Type.DAMAGE) || (data.MetaType == HistoryMeta.Type.HEALING))
                    {
                        foreach (int num3 in data.Info)
                        {
                            if ((num3 == entityId) || (num3 == num2))
                            {
                                task.DoTask();
                            }
                        }
                    }
                }
                else if (power.Type == Network.PowerType.TAG_CHANGE)
                {
                    Network.HistTagChange change = (Network.HistTagChange)power;
                    if ((change.Entity == entityId) || (change.Entity == num2))
                    {
                        switch (((GAME_TAG)change.Tag))
                        {
                        case GAME_TAG.DAMAGE:
                        case GAME_TAG.EXHAUSTED:
                            task.DoTask();
                            break;
                        }
                    }
                }
            }
        }
    }
    protected bool AddSinglePowerTarget_FromMetaData(List <PowerTask> tasks)
    {
        GameState state = GameState.Get();

        for (int i = 0; i < tasks.Count; i++)
        {
            Network.PowerHistory power = tasks[i].GetPower();
            if (power.Type == Network.PowerType.META_DATA)
            {
                Network.HistMetaData data = (Network.HistMetaData)power;
                if (data.MetaType == HistoryMeta.Type.TARGET)
                {
                    if ((data.Info == null) || (data.Info.Count == 0))
                    {
                        UnityEngine.Debug.LogError(string.Format("{0}.AddSinglePowerTarget_FromMetaData() - META_DATA at index {1} has no Info", this, i));
                    }
                    else
                    {
                        for (int j = 0; j < data.Info.Count; j++)
                        {
                            Entity entity = state.GetEntity(data.Info[j]);
                            if (entity == null)
                            {
                                UnityEngine.Debug.LogError(string.Format("{0}.AddSinglePowerTarget_FromMetaData() - Entity is null for META_DATA at index {1} Info index {2}", this, i, j));
                            }
                            else
                            {
                                Card targetCard = entity.GetCard();
                                this.AddTargetFromMetaData(i, targetCard);
                                return(true);
                            }
                        }
                    }
                }
            }
        }
        return(false);
    }
Пример #9
0
 public static Card GetJoustWinner(Network.HistMetaData metaData)
 {
     object[] objArray1 = new object[] { metaData };
     return(MonoClass.smethod_15 <Card>(TritonHs.MainAssemblyPath, "", "GameUtils", "GetJoustWinner", objArray1));
 }
Пример #10
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);
                }
            }
        }
    }
Пример #11
0
 public bool OnMetaData(Network.HistMetaData metaData)
 {
     object[] objArray1 = new object[] { metaData };
     return(base.method_11 <bool>("OnMetaData", objArray1));
 }
Пример #12
0
 public void OnMetaData(Network.HistMetaData metaData)
 {
     object[] objArray1 = new object[] { metaData };
     base.method_8("OnMetaData", objArray1);
 }
 public void DetermineWinner(Network.HistMetaData metaData)
 {
     object[] objArray1 = new object[] { metaData };
     base.method_8("DetermineWinner", objArray1);
 }
 public Jouster CreateJouster(Player player, Network.HistMetaData metaData)
 {
     object[] objArray1 = new object[] { player, metaData };
     return(base.method_14 <Jouster>("CreateJouster", objArray1));
 }
Пример #15
0
 private Jouster CreateJouster(Player player, Network.HistMetaData metaData)
 {
Пример #16
0
 public ZoneChange CreateZoneChangeFromMetaData(Network.HistMetaData metaData)
 {
     object[] objArray1 = new object[] { metaData };
     return(base.method_14 <ZoneChange>("CreateZoneChangeFromMetaData", objArray1));
 }