IEnumerator StartFight() { var dt = Data[Random.Range(0, Data.Length)]; var spirit = Spirit.GenerateSpirit(dt.SpiritType, dt.Level); var y = ScriptableObject.CreateInstance <SpiritTeam>(); y.Spirits = new List <Spirit>() { spirit }; var x = ScriptableObject.CreateInstance <SpiritTeam>(); x.Spirits = Player.Instance.team; var bo = new BattleObject(y, x); yield return(StartCoroutine(LoadBattle(bo))); if (bo.winner == 1) { StartCoroutine(Player.Instance.DefeatedInFight()); } }
private void RenderGeneratorStuff() { SpiritTeam t = target as SpiritTeam; var sprop = serializedObject.FindProperty("Spirits"); libraryList = library.Spirits.Select(s => s.Name).ToArray(); // list of available spirits EditorGUILayout.BeginHorizontal(); selectedListItem = EditorGUILayout.Popup(selectedListItem, libraryList); selectedLevel = Mathf.Clamp(EditorGUILayout.IntField(selectedLevel), 1, 100); GUI.enabled = t.Spirits.Count < 6; if (GUILayout.Button("Generate")) { var generated = Spirit.GenerateSpirit(library.Spirits[selectedListItem], selectedLevel, atkLibrary); int newIndex = sprop.arraySize; sprop.InsertArrayElementAtIndex(newIndex); var newspirit = sprop.GetArrayElementAtIndex(newIndex); // newspirit.FindPropertyRelative("Name").stringValue = "test"; fillPropertyFromObject(newspirit, generated); } GUI.enabled = true; EditorGUILayout.EndHorizontal(); }
public IEnumerator Interact() { var Dialog = GetComponent <Dialog>(); Dialog.SetProperty("SendToExtractor", Game.Instance.QuestPart1Variables.SendToExtractor); Dialog.SetProperty("PickedExtractor", Player.Instance.Items.Contains("Extractor")); Dialog.SetProperty("PickedSpirit", Player.Instance.team.Count > 0); Dialog.currentStatement = Dialog.Container.StartingPoint; yield return(StartCoroutine(DialogWindow.Instance.ShowDialog(Dialog))); if (Dialog.currentStatement.name == "ChooseSpirit") { Player.Instance.team.Add(Spirit.GenerateSpirit(SpiritType, 3)); } yield return(null); }