public static void RaiseMoral() { MoralState newMoralState = MoralState.Neutral; if (currentMorale == MoralState.Demoralized) { newMoralState = MoralState.Worse; } if (currentMorale == MoralState.Worse) { newMoralState = MoralState.Bad; } if (currentMorale == MoralState.Bad) { newMoralState = MoralState.Neutral; } if (currentMorale == MoralState.Neutral) { newMoralState = MoralState.Good; } if (currentMorale == MoralState.Good) { newMoralState = MoralState.Better; } if (currentMorale == MoralState.Better) { newMoralState = MoralState.Best; } if (currentMorale == MoralState.Best) { newMoralState = MoralState.Best; } currentMorale = newMoralState; MoralStateChanged?.Invoke(currentMorale, new EventArgs()); }
public static void SetStartValue() { currentMorale = MoralState.Neutral; MoralStateChanged?.Invoke(currentMorale, new EventArgs()); }
private void Moral_MoralStateChanged(object sender, System.EventArgs e) { MoralState moralState = (MoralState)sender; if (moralState == MoralState.Demoralized) { if (!positionIsOccupied_m3) { CleanLastMarker(); instatiatedMarker = Instantiate(moralMarkerObject, markerPosition_m3.transform); positionIsOccupied_m3 = true; } } else if (moralState == MoralState.Worse) { if (!positionIsOccupied_m2) { CleanLastMarker(); instatiatedMarker = Instantiate(moralMarkerObject, markerPosition_m2.transform); positionIsOccupied_m2 = true; } } else if (moralState == MoralState.Bad) { if (!positionIsOccupied_m1) { CleanLastMarker(); instatiatedMarker = Instantiate(moralMarkerObject, markerPosition_m1.transform); positionIsOccupied_m1 = true; } } else if (moralState == MoralState.Neutral) { if (!positionIsOccupied_0) { CleanLastMarker(); instatiatedMarker = Instantiate(moralMarkerObject, markerPosition_0.transform); positionIsOccupied_0 = true; } } else if (moralState == MoralState.Good) { if (!positionIsOccupied_p1) { CleanLastMarker(); instatiatedMarker = Instantiate(moralMarkerObject, markerPosition_p1.transform); positionIsOccupied_p1 = true; } } else if (moralState == MoralState.Better) { if (!positionIsOccupied_p2) { CleanLastMarker(); instatiatedMarker = Instantiate(moralMarkerObject, markerPosition_p2.transform); positionIsOccupied_p2 = true; } } else if (moralState == MoralState.Best) { if (!positionIsOccupied_p2h) { CleanLastMarker(); instatiatedMarker = Instantiate(moralMarkerObject, markerPosition_p2h.transform); positionIsOccupied_p2h = true; } } }