How To Code a Different Ending Function
Hello!
Yesterday, I posted a question on how to "assign a state name to a state variable" after I was confused by a response to a question I had on how to code a method that would give the player different endings depending if they were in a certain state or states. The person who gave me the response cleared up what they meant...however, I have more visible confusion regarding the code itself (seen below):
[SerializeField] Text textComponent;
[SerializeField] States startingState;
[SerializeField] States state1;
bool visitedState1 = false;
[SerializeField] States state2;
bool visitedState2 = false;
[SerializeField] States state3;
bool visitedState3 = false;
[SerializeField] States state4;
States state;
// Use this for initialization
void Start () {
state = startingState;
textComponent.text = state.GetStateStory();
}
// Update is called once per frame
void Update () {
ManageState();
}
private void ManageState()
{
//Removed for the sake shortening of this post
}
public void EndingChange()
// This method reads if conditions and determines the type of ending the player will get.
{
if (state == state1 || state == state2 || state == state3 || state == state4)
{
visitedState1 = true;
}
if (state == state1 && state2 || state2 && state3 || state1 && state3 || state1 && state4 || state4 && state3 || state4 && state2)
{
visitedState2 = true;
}
if (state == state1 && state2 && state3 && state4)
{
visitedState3 = true;
}
// check for the ending:
if (visitedState1 == true)
{
state.name = "8-1 - You Win!";
}
if (visitedState2 == true)
{
state.name = "8-2 - Heavell";
}
if (visitedState3 == true)
{
state.name = "0 - Game Over";
}
}
}
Without even running this, I can see this will not work. However, at the same time, I'm not exactly sure how to revise this in order to make it work. Where would I even begin to fix this? Thank you for reading.
Your answer
Follow this Question
Related Questions
[C#] Why is this method called twice? 0 Answers
method not showing up in on value changed in a RoomNameInput 0 Answers
Call method of a behaviour from a scripotableobject 0 Answers
How to lose health when you enter a current "room" state. 0 Answers
How to call a non-static method from another class without using an instance 1 Answer