예제 #1
0
    protected Node ST_CheckHeroArcVanguard()
    {
        bool isState = true;
        isState = isState && (selectedProtagonist == 0);
        bool anyAlive = false;
        for (int i = 0; i <= 2; i++) {
            anyAlive = anyAlive || (aliveStatus[i] == 1);
        }
        isState = isState && anyAlive;

        Func<bool> act = () => (isState);

        Node outcome = new LeafAssert (act);

        if (isState) {
            storyArc = 0;
        }
        return outcome;
    }
예제 #2
0
    protected Node ST_CheckHeroArcGraveyard()
    {
        bool isState = true;
        isState = isState && (selectedProtagonist == 0) && (aliveStatus[0] == 1);
        bool anyAlive = false;
        bool allDead = true;

        for (int i = 1; i <= 2; i++) {
            allDead = allDead && (aliveStatus[i] == 0);
        }
        isState = isState && allDead;

        for (int i = 3; i <= 4; i++) {
            anyAlive = anyAlive || (aliveStatus[i] == 1);
        }
        isState = isState && anyAlive;

        Func<bool> act = () => (isState);

        Node outcome = new LeafAssert (act);
        if (isState) {
            storyArc = 1;
        }
        return outcome;
    }