public static TAG_ZONE GetFinalZoneForEntity(Entity entity)
    {
        PowerProcessor       powerProcessor = GameState.Get().GetPowerProcessor();
        List <PowerTaskList> list           = new List <PowerTaskList>();

        if (powerProcessor.GetCurrentTaskList() != null)
        {
            list.Add(powerProcessor.GetCurrentTaskList());
        }
        list.AddRange(powerProcessor.GetPowerQueue().GetList());
        for (int i = list.Count - 1; i >= 0; i--)
        {
            List <PowerTask> taskList = list[i].GetTaskList();
            for (int j = taskList.Count - 1; j >= 0; j--)
            {
                PowerTask             task  = taskList[j];
                Network.HistTagChange power = task.GetPower() as Network.HistTagChange;
                if ((power != null) && ((power.Entity == entity.GetEntityId()) && (power.Tag == 0x31)))
                {
                    return((TAG_ZONE)power.Value);
                }
            }
        }
        return(entity.GetZone());
    }
Exemple #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);
    }
Exemple #3
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());
    }
Exemple #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 int FindSpawnTaskIndex()
    {
        List <PowerTask> taskList = base.m_taskList.GetTaskList();

        for (int i = this.m_metaDataIndex - 1; i >= 0; i--)
        {
            PowerTask task = taskList[i];
            if (task.GetPower() is Network.HistFullEntity)
            {
                return(i);
            }
        }
        return(-1);
    }
Exemple #6
0
    public void DoTasks(int startIndex, int count, CompleteCallback callback, object userData)
    {
        bool flag           = false;
        int  taskStartIndex = -1;
        int  taskEndIndex   = Mathf.Min((int)((startIndex + count) - 1), (int)(this.m_tasks.Count - 1));

        for (int i = startIndex; i <= taskEndIndex; i++)
        {
            PowerTask task = this.m_tasks[i];
            if (!task.IsCompleted())
            {
                if (taskStartIndex < 0)
                {
                    taskStartIndex = i;
                }
                if (ZoneMgr.IsHandledPower(task.GetPower()))
                {
                    flag = true;
                    break;
                }
            }
        }
        if (taskStartIndex < 0)
        {
            taskStartIndex = startIndex;
        }
        if (flag)
        {
            ZoneChangeCallbackData data = new ZoneChangeCallbackData {
                m_startIndex       = startIndex,
                m_count            = count,
                m_taskListCallback = callback,
                m_taskListUserData = userData
            };
            this.m_zoneChangeList = ZoneMgr.Get().AddServerZoneChanges(this, taskStartIndex, taskEndIndex, new ZoneMgr.ChangeCompleteCallback(this.OnZoneChangeComplete), data);
            if (this.m_zoneChangeList != null)
            {
                return;
            }
        }
        if (Gameplay.Get() != null)
        {
            Gameplay.Get().StartCoroutine(this.WaitForGameStateAndDoTasks(taskStartIndex, taskEndIndex, startIndex, count, callback, userData));
        }
        else
        {
            this.DoTasks(taskStartIndex, taskEndIndex, startIndex, count, callback, userData);
        }
    }
Exemple #7
0
    private string FindRevealedCardId(PowerTaskList taskList)
    {
        Network.HistActionStart sourceAction = taskList.GetSourceAction();
        List <PowerTask>        list         = taskList.GetTaskList();

        for (int i = 0; i < list.Count; i++)
        {
            PowerTask task = list[i];
            Network.HistShowEntity power = task.GetPower() as Network.HistShowEntity;
            if ((power != null) && (power.Entity.ID == sourceAction.Entity))
            {
                return(power.Entity.CardID);
            }
        }
        return(null);
    }
    protected virtual Card GetTargetCardFromPowerTask(int index, PowerTask task)
    {
        Network.PowerHistory power = task.GetPower();
        if (power.Type != Network.PowerType.TAG_CHANGE)
        {
            return(null);
        }
        Network.HistTagChange change = power as Network.HistTagChange;
        Entity entity = GameState.Get().GetEntity(change.Entity);

        if (entity == 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, change.Entity));
            return(null);
        }
        return(entity.GetCard());
    }
    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());
    }
Exemple #10
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);
    }