Beispiel #1
0
    private IKnowledge GetFullKnowledge(int day)
    {
        if (FullKnowledgeList.ContainsKey(day))
        {
            return(FullKnowledgeList[day]);
        }

        var dayKnowledge = KnowledgeDict[day];

        if (day < 1)
        {
            throw new System.Exception();
        }

        if (day == 1)
        {
            return(dayKnowledge);
        }

        var prevDayKnowledge = GetFullKnowledge(day - 1);
        var result           = new Combine2Knowledge(prevDayKnowledge, dayKnowledge);

        FullKnowledgeList.Add(day, result);
        return(result);
    }
Beispiel #2
0
    public void AddDayKnowledge(int day, IKnowledge knowledge)
    {
        if (KnowledgeDict.ContainsKey(day))
        {
            var prevKnowlede = KnowledgeDict[day];
            KnowledgeDict[day] = new Combine2Knowledge(prevKnowlede, knowledge);
            return;
        }

        KnowledgeDict.Add(day, knowledge);
    }