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); }
internal ScoreAbstractTask(int id, int[] objects, int reward, ScoreObjectType forType) { Id = id; ObjectIds = objects; ForType = forType; Reward = reward; _objects = new HashSet <int>(ObjectIds); }
internal ScoreAbstractTask CreateNewTas(int reward, int[] ids, ScoreObjectType type) { switch (type) { case ScoreObjectType.Grouped: return(new GroupScoreTask(GetNextTaskId(), ids, reward, type)); default: return(null); } }
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()); }
public GroupScoreTask(int id, int[] objects, int reward, ScoreObjectType forType) : base(id, objects, reward, forType) { _groupHits = objects.ToDictionary(o => o, o => false); }