Ejemplo n.º 1
0
    private Control CreateObjectiveFrame(GameplayObjective objective)
    {
        Frame objectiveFrame = new Frame();

        objectiveFrame.Tag      = objective;
        objectiveFrame.Style    = "Button - Transparent";
        objectiveFrame.Margin   = new Margin(0, 0, 0, 0);
        objectiveFrame.Padding  = new Margin(0, 0, 0, 0);
        objectiveFrame.Dock     = DockStyle.Top;
        objectiveFrame.AutoSize = AutoSize.Vertical;
        //objectiveFrame.Tint = Squid.ColorInt.RGB(53,95,73);

        Label nameLabel = new Label();

        nameLabel.NoEvents = true;
        nameLabel.Style    = "Label - Objective Widget";
        nameLabel.Dock     = DockStyle.Top;
        nameLabel.AutoSize = AutoSize.Vertical;
        nameLabel.Margin   = new Margin(2, 3, 0, 6);
        nameLabel.Padding  = new Margin(4, 4, 4, 4);
        nameLabel.Text     = objective.Name;

        objectiveFrame.Controls.Add(nameLabel);

        foreach (var task in objective.Tasks)
        {
            Label taskLabel = CreateTaskLabel(task);
            objectiveFrame.Controls.Add(taskLabel);

            task.TaskCompleted += (t) => task_TaskCompleted(t, taskLabel);
        }

        return(objectiveFrame);
    }
Ejemplo n.º 2
0
 void UserObjectives_UserObjectiveCompleted(GameplayObjective objective)
 {
     if (objective.Name == _objectiveName)
     {
         TriggerEvent();
     }
 }
Ejemplo n.º 3
0
 void objective_TaskAdded(GameplayObjective objective, ObjectiveTask newTask)
 {
     if (UserObjectiveTaskAdded != null)
     {
         UserObjectiveTaskAdded(objective, newTask);
     }
 }
Ejemplo n.º 4
0
    void _activeObjectives_UserObjectiveRemoved(GameplayObjective objective)
    {
        Control toRemove = _objectiveListFrame.Controls.Find((c) => objective.Equals(c.Tag));

        _objectiveListFrame.Controls.Remove(toRemove);
        _objectiveListFrame.PerformLayout();
    }
 void ObjectiveTaskCompletedEvent_TaskCompleted(GameplayObjective objective, ObjectiveTask task)
 {
     if (task.Name == _taskName)
     {
         TriggerEvent();
     }
 }
Ejemplo n.º 6
0
 void objective_TaskCompleted(GameplayObjective objective, ObjectiveTask task)
 {
     AnalyticsLogger.Instance.AddLogEntry(new ObjectiveTaskCompleteLogEntry(GameContext.Instance.Player.UserGuid, objective, task));
     if (UserObjectiveTaskCompleted != null)
     {
         UserObjectiveTaskCompleted(objective, task);
     }
 }
Ejemplo n.º 7
0
    void _activeObjectives_UserObjectiveAdded(GameplayObjective objective)
    {
        Control objectiveFrame = CreateObjectiveFrame(objective);

        _objectiveListFrame.Controls.Add(objectiveFrame);
        objectiveFrame.PerformLayout();
        _objectiveListFrame.PerformLayout();
    }
Ejemplo n.º 8
0
 public void RemoveObjective(GameplayObjective objective)
 {
     if (UserObjectiveRemoved != null)
     {
         UserObjectiveRemoved(objective);
     }
     _activeObjectives.Remove(objective);
 }
    void OnDestroy()
    {
        GameplayObjective objective = GameContext.Instance.Player.CurrentObjectives.GetObjectiveByName(_objectiveName);

        if (objective != null)
        {
            objective.TaskCompleted -= ObjectiveTaskCompletedEvent_TaskCompleted;
        }
    }
Ejemplo n.º 10
0
    private void OnObjectiveCompleted(GameplayObjective objective)
    {
        AnalyticsLogger.Instance.AddLogEntry(new ObjectiveCompleteLogEntry(GameContext.Instance.Player.UserGuid, objective));
        if (UserObjectiveCompleted != null)
        {
            UserObjectiveCompleted(objective);
        }

        RemoveObjective(objective);
    }
Ejemplo n.º 11
0
        void CurrentObjectives_UserObjectiveAdded(GameplayObjective objective)
        {
            ObjectiveListItem objectiveListItem = GameObject.Instantiate(_objectiveListItemPrefab) as ObjectiveListItem;

            objectiveListItem.ObjectiveName.text = objective.Name;
            objectiveListItem.transform.SetParent(_objectivePanel);
            objectiveListItem.transform.localScale = Vector3.one;

            objectiveListItem.Objective = objective;
        }
Ejemplo n.º 12
0
#pragma warning restore 0067, 0649

    public override void OnEvent(ExecutionContext context)
    {
        GameplayObjective objectiveToComplete = GameContext.Instance.Player.CurrentObjectives.ActiveObjectives.Find((obj) => obj.Name == _objectiveToComplete);

        if (objectiveToComplete == null)
        {
            DebugFormatter.LogError(this, "Could not find objective {0}", _objectiveToComplete);
            return;
        }
        objectiveToComplete.Complete();
    }
Ejemplo n.º 13
0
#pragma warning restore 0067, 0649

    public override void OnEvent(ExecutionContext context)
    {
        GameplayObjective objective = GameContext.Instance.Player.CurrentObjectives.GetObjectiveByName(_objectiveName);

        if (objective == null)
        {
            DebugFormatter.LogError(this, "Could not find objective by name {0}", _objectiveName);
            return;
        }

        objective.AddTask(_newTask);
    }
Ejemplo n.º 14
0
        void _objective_Completed(GameplayObjective objective)
        {
            _objective.TaskAdded -= _objective_TaskAdded;
            _objective.Completed -= _objective_Completed;

            if (_animation && ObjectiveCompleteAnimation)
            {
                if (!_animation.Play(ObjectiveCompleteAnimation.name))
                {
                    DestroyObjectiveListItem();
                }
                return;
            }
            DestroyObjectiveListItem();
        }
Ejemplo n.º 15
0
    void _activeObjectives_UserObjectiveTaskAdded(GameplayObjective objective, ObjectiveTask newTask)
    {
        Frame objectiveFrame = _objectiveListFrame.Controls.Find((c) => objective.Equals(c.Tag)) as Frame;

        if (objectiveFrame == null)
        {
            DebugFormatter.LogError(this, "Could not find frame for objective {0}. Failed to update objective interface", objective.Name);
            return;
        }
        Label newTaskLabel = CreateTaskLabel(newTask);

        objectiveFrame.Controls.Add(newTaskLabel);
        objectiveFrame.PerformLayout();
        _objectiveListFrame.PerformLayout();
        newTask.TaskCompleted += (t) => task_TaskCompleted(t, newTaskLabel);
    }
Ejemplo n.º 16
0
#pragma warning restore 0067, 0649

    public override void OnEvent(ExecutionContext context)
    {
        GameplayObjective clone = new GameplayObjective();

        clone.Name        = _objective.Name;
        clone.Description = _objective.Description;

        foreach (var task in _objective.Tasks)
        {
            var cloneTask = new ObjectiveTask();
            cloneTask.Name        = task.Name;
            cloneTask.Description = task.Description;

            clone.AddTask(cloneTask);
        }
        GameContext.Instance.Player.CurrentObjectives.AddObjective(clone);
    }
Ejemplo n.º 17
0
 public void AddObjective(GameplayObjective objective)
 {
     if (_activeObjectives.FindIndex((o) => o.Name == objective.Name) >= 0)
     {
         return;
     }
     objective.Initialize();
     objective.Completed     += OnObjectiveCompleted;
     objective.TaskAdded     += new GameplayObjectiveTaskAdded(objective_TaskAdded);
     objective.TaskCompleted += new GameplayObjectiveTaskCompleted(objective_TaskCompleted);
     _activeObjectives.Add(objective);
     AnalyticsLogger.Instance.AddLogEntry(new ObjectiveAddedLogEntry(GameContext.Instance.Player.UserGuid, objective));
     if (UserObjectiveAdded != null)
     {
         UserObjectiveAdded(objective);
     }
 }
Ejemplo n.º 18
0
 void _objective_TaskAdded(GameplayObjective objective, ObjectiveTask task)
 {
     AddTask(task);
 }
Ejemplo n.º 19
0
 public ObjectiveAddedLogEntry(Guid userGuid, GameplayObjective objective)
     : base(userGuid)
 {
     _data = JsonConvert.SerializeObject(new { ObjectiveName = objective.Name });
 }
 public ObjectiveTaskCompleteLogEntry(Guid userGuid, GameplayObjective objective, ObjectiveTask task)
     : base(userGuid)
 {
     _data = JsonConvert.SerializeObject(new { ObjectiveName = objective.Name, TaskName = task.Name });
 }
Ejemplo n.º 21
0
 void UserObjectives_UserObjectiveAdded(GameplayObjective objective)
 {
     TriggerEvent();
 }