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); }
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); }
/* --- 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); } }
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); }
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); }
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); }
public static Card GetJoustWinner(Network.HistMetaData metaData) { object[] objArray1 = new object[] { metaData }; return(MonoClass.smethod_15 <Card>(TritonHs.MainAssemblyPath, "", "GameUtils", "GetJoustWinner", objArray1)); }
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); } } } }
public bool OnMetaData(Network.HistMetaData metaData) { object[] objArray1 = new object[] { metaData }; return(base.method_11 <bool>("OnMetaData", objArray1)); }
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)); }
private Jouster CreateJouster(Player player, Network.HistMetaData metaData) {
public ZoneChange CreateZoneChangeFromMetaData(Network.HistMetaData metaData) { object[] objArray1 = new object[] { metaData }; return(base.method_14 <ZoneChange>("CreateZoneChangeFromMetaData", objArray1)); }