Пример #1
0
    public void NewState(
        List <Card> PlayerTable,
        List <Card> AIHand,
        List <Card> AITable,
        Player _PlayerHero,
        Player _AIHero,
        int _MaxMana,
        int _PlayerMana,
        int _AIMana,
        Complete.GameManager.Turn _Turn,
        AIState Parent
        )
    {
        ParentState = Parent;
        if (ParentState == null)
        {
            Index = 0;
        }
        else
        {
            Index   = ParentState.Index + 1;
            Actions = new Queue <Action>(ParentState.Actions);
        }
        PlayerTableCards = CardListCopier.DeepCopy(PlayerTable);
        PlayerHero       = _PlayerHero.Clone() as Player;

        AIHandCards  = CardListCopier.DeepCopy(AIHand);
        AITableCards = CardListCopier.DeepCopy(AITable);
        AIHero       = _AIHero.Clone() as Player;
        maxMana      = _MaxMana;
        PlayerMana   = _PlayerMana;
        AIMana       = _AIMana;
        turn         = _Turn;
        State_Score  = Calculate_State_Score();
        //if (Index <= BoardBehaviourScript.instance.AILEVEL)
        //{
        //    GetAllPlacingAction();
        //    GetAllAttackingActions();
        //}
        AllStates.Add(this);
    }
Пример #2
0
    public void NewState2(
        List <GameObject> PlayerTable,
        List <GameObject> AIHand,
        List <GameObject> AITable,
        Player _PlayerHero,
        Player _AIHero,
        int _MaxMana,
        int _PlayerMana,
        int _AIMana,
        Complete.GameManager.Turn _Turn,
        AIState Parent
        )
    {
        ParentState = Parent;
        if (ParentState == null)
        {
            Index = 0;
        }
        else
        {
            Index   = ParentState.Index + 1;
            Actions = new Queue <Action>(ParentState.Actions);
        }

        List <Card> _tempPlayerTable = new List <Card>();

        foreach (var item in PlayerTable)
        {
            _tempPlayerTable.Add(item.GetComponent <CardDisplay>().card);
        }
        PlayerTableCards = CardListCopier.DeepCopy(_tempPlayerTable);

        PlayerHero = _PlayerHero.Clone() as Player;

        List <Card> _tempAIHand = new List <Card>();

        foreach (var item in AIHand)
        {
            _tempAIHand.Add(item.GetComponent <CardDisplay>().card);
        }
        AIHandCards = CardListCopier.DeepCopy(_tempAIHand);

        List <Card> _tempAITable = new List <Card>();

        foreach (var item in AITable)
        {
            _tempAITable.Add(item.GetComponent <CardDisplay>().card);
        }
        AITableCards = CardListCopier.DeepCopy(_tempAITable);

        AIHero      = _AIHero.Clone() as Player;
        maxMana     = _MaxMana;
        PlayerMana  = _PlayerMana;
        AIMana      = _AIMana;
        turn        = _Turn;
        State_Score = Calculate_State_Score();
        //if (Index<=BoardBehaviourScript.instance.AILEVEL)
        //{
        //    GetAllPlacingAction();
        //    GetAllAttackingActions();
        //}
        AllStates.Add(this);
    }