Untitled
unknown
plain_text
3 years ago
1.7 kB
7
Indexable
public class Objective : SerializedMonoBehaviour
{
[Title("Debug Values")]
bool abc; //This is here for dumb inspector reasons.
[EnumToggleButtons]
public enum ObjectiveState { Inactive, Active, Completed, Failed}
[ReadOnly]
public ObjectiveState objectiveState;
[Title("Quest Settings")]
public string objectiveName;
[PropertySpace(SpaceBefore = 0, SpaceAfter = 10)]
public string objectiveDescription;
[EnumToggleButtons] //This could be a bool but having it as a enum looks really nice in Inspector.
public enum ObjectiveType { Mandatory, Optional}
public ObjectiveType objectiveType;
[EnumToggleButtons] //This could be a bool but having it as a enum looks really nice in Inspector.
public enum ObjectiveVisability { Visable, Hidden }
public ObjectiveVisability objectiveVisability;
[Space(10)]
[SerializedDictionary("Objective, Objective State")]
public SerializedDictionary<Objective, ObjectiveState> objectDict;
public void EndObjective(ObjectiveState objState)
{
foreach (KeyValuePair<Objective,ObjectiveState> objDict in objectDict)
{
objDict.Key.objectiveState = objDict.Value;
objDict.Key.ObjectiveStateChange();
}
objectiveState = objState;
ObjectiveStateChange();
}
public void ObjectiveStateChange()
{
switch(objectiveState)
{
case ObjectiveState.Inactive:
break;
case ObjectiveState.Active:
break;
case ObjectiveState.Completed:
break;
case ObjectiveState.Failed:
break;
}
}
}Editor is loading...