Example #1
0
    internal static void CreateAndAssignTask(int reward, ScoreObjectType type)
    {
        var grouped   = ScoreObjectController.GetObjectIdsByType(ScoreObjectType.Grouped);
        var groupTask = ScoreTaskController.CreateNewTas(500, grouped, ScoreObjectType.Grouped);

        ScoreTaskController.AddNewTask(groupTask);
        ScoreObjectController.AssignTaskToObjects(groupTask, grouped);
    }
Example #2
0
    internal ScoreAbstractTask(int id, int[] objects, int reward, ScoreObjectType forType)
    {
        Id        = id;
        ObjectIds = objects;
        ForType   = forType;
        Reward    = reward;

        _objects = new HashSet <int>(ObjectIds);
    }
Example #3
0
    internal ScoreAbstractTask CreateNewTas(int reward, int[] ids, ScoreObjectType type)
    {
        switch (type)
        {
        case ScoreObjectType.Grouped:
            return(new GroupScoreTask(GetNextTaskId(), ids, reward, type));

        default:
            return(null);
        }
    }
Example #4
0
    internal int[] GetObjectIdsByType(ScoreObjectType type)
    {
        var objs = new List <int>();

        for (int i = 0; i < scoreObjects.Length; i++)
        {
            if (scoreObjects[i].Type == type)
            {
                objs.Add(scoreObjects[i].Id);
            }
        }

        return(objs.ToArray());
    }
Example #5
0
 public GroupScoreTask(int id, int[] objects, int reward, ScoreObjectType forType) : base(id, objects, reward, forType)
 {
     _groupHits = objects.ToDictionary(o => o, o => false);
 }