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); }
void UserObjectives_UserObjectiveCompleted(GameplayObjective objective) { if (objective.Name == _objectiveName) { TriggerEvent(); } }
void objective_TaskAdded(GameplayObjective objective, ObjectiveTask newTask) { if (UserObjectiveTaskAdded != null) { UserObjectiveTaskAdded(objective, newTask); } }
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(); } }
void objective_TaskCompleted(GameplayObjective objective, ObjectiveTask task) { AnalyticsLogger.Instance.AddLogEntry(new ObjectiveTaskCompleteLogEntry(GameContext.Instance.Player.UserGuid, objective, task)); if (UserObjectiveTaskCompleted != null) { UserObjectiveTaskCompleted(objective, task); } }
void _activeObjectives_UserObjectiveAdded(GameplayObjective objective) { Control objectiveFrame = CreateObjectiveFrame(objective); _objectiveListFrame.Controls.Add(objectiveFrame); objectiveFrame.PerformLayout(); _objectiveListFrame.PerformLayout(); }
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; } }
private void OnObjectiveCompleted(GameplayObjective objective) { AnalyticsLogger.Instance.AddLogEntry(new ObjectiveCompleteLogEntry(GameContext.Instance.Player.UserGuid, objective)); if (UserObjectiveCompleted != null) { UserObjectiveCompleted(objective); } RemoveObjective(objective); }
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; }
#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(); }
#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); }
void _objective_Completed(GameplayObjective objective) { _objective.TaskAdded -= _objective_TaskAdded; _objective.Completed -= _objective_Completed; if (_animation && ObjectiveCompleteAnimation) { if (!_animation.Play(ObjectiveCompleteAnimation.name)) { DestroyObjectiveListItem(); } return; } DestroyObjectiveListItem(); }
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); }
#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); }
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); } }
void _objective_TaskAdded(GameplayObjective objective, ObjectiveTask task) { AddTask(task); }
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 }); }
void UserObjectives_UserObjectiveAdded(GameplayObjective objective) { TriggerEvent(); }