public static void FirstRoom(Hero hero, DnDContext context) { //and here Screans.Introduction.Show(hero); Screans.MainMenu.Show(hero); var room = context.Rooms.Where(r => r.Id == 1).FirstOrDefault(); Console.Clear(); Console.BackgroundColor = ConsoleColor.Black; Console.ForegroundColor = ConsoleColor.Red; Utility.PhaseTyper(room.Description); Utility.PhaseTyper("Its time for battle!"); Console.WriteLine(); Utility.PhaseTyper("Press any key to continue.."); Console.ReadKey(); Utility.Battle(hero, context, room.Id); ChooseItems.Show(hero, context); Screans.MainMenu.Show(hero); Utility.Battle(hero, context, room.Id); ChooseItems.Show(hero, context); Screans.MainMenu.Show(hero); SecondRoom(hero, context); }
SerializedProperty headColor; //一个[SerializeField][HideInInspector]且private的序列化的属性 //初始化 public void OnEnable() { seriObject = base.serializedObject; headColor = seriObject.FindProperty("headColor"); var tscript = (ChooseItems)(base.serializedObject.targetObject); if (tscript != null) { script = tscript; rootObject = script.gameObject; } else { } }
//清理 public void OnDisable() { var tscript = (ChooseItems)(base.serializedObject.targetObject); if (tscript == null) { // 这种情况是脚本对象被移除了; //Debug.Log("tscript == null"); } else { // 这种情况是编译脚本导致的重刷; //Debug.Log("tscript != null"); } seriObject = null; script = null; rootObject = null; }
public ChooseItemsForm(ChooseItems.Mode selectionMode, string formTitle, List<ChooseItemsParameters> items, List<ChooseItemsParameters> selectedItems) { InitializeComponent(); this.Text = formTitle; addItemsToGridviewForFirstTime(items, selectedItems); if (selectionMode == ChooseItems.Mode.MultipleItems) { gridviewItems.MultiSelect = true; gridviewSelectedItems.MultiSelect = true; } else if (selectionMode == ChooseItems.Mode.SingleItem) { gridviewItems.MultiSelect = false; gridviewSelectedItems.MultiSelect = false; }; setGridviewLayout(); }
public static void ThirdRoom(Hero hero, DnDContext context) { var room = context.Rooms.Where(r => r.Id == 3).FirstOrDefault(); Console.Clear(); Console.BackgroundColor = ConsoleColor.Black; Console.ForegroundColor = ConsoleColor.Red; Utility.PhaseTyper("Congratulations! You entered to the Final Dungeon!"); Utility.PhaseTyper($"{hero.Name}'s health: {hero.Health}"); Utility.PhaseTyper(room.Description); Utility.PhaseTyper("Fight! "); Console.WriteLine(); Utility.PhaseTyper("Press any key to continue.."); Console.ReadKey(); Utility.Battle(hero, context, room.Id); ChooseItems.Show(hero, context); Screans.MainMenu.Show(hero); Utility.Battle(hero, context, room.Id); ChooseItems.Show(hero, context); Screans.MainMenu.Show(hero); FinalRoom(hero, context); }
public override void OnInspectorGUI() { //base.OnInspectorGUI(); serializedObject.Update(); EditorGUILayout.PropertyField(serializedObject.FindProperty("camera"), true); EditorGUILayout.PropertyField(serializedObject.FindProperty("NamePrefab"), true); EditorGUILayout.PropertyField(serializedObject.FindProperty("okIcon"), true); EditorGUILayout.PropertyField(serializedObject.FindProperty("errorIcon"), true); EditorGUILayout.PropertyField(serializedObject.FindProperty("trueIcon"), true); EditorGUILayout.PropertyField(serializedObject.FindProperty("items"), true); if (GUILayout.Button("Run")) { script.cameraPath = script.camera.transform.position; script.cameraAngle = script.camera.transform.rotation.eulerAngles; for (int i = 0; i < script.items.Count; i++) { if (script.items[i].obj == null) { return; } GameObject ui = rootObject.transform.Find(script.items[i].obj.name) == null ? null: rootObject.transform.Find(script.items[i].obj.name).gameObject; if (ui == null) { Vector3 pos = script.camera.WorldToScreenPoint(script.items[i].obj.transform.position); ui = Instantiate(script.NamePrefab) as GameObject; ui.name = script.items[i].obj.name; ui.transform.parent = rootObject.transform; ui.GetComponent <RectTransform>().localScale = new Vector3(1, 1, 1); ui.GetComponent <RectTransform>().position = pos; } ui.GetComponent <soloItem>().errorIcon.GetComponent <Image>().sprite = script.errorIcon; ui.GetComponent <soloItem>().okIcon.GetComponent <Image>().sprite = script.okIcon; ui.GetComponent <soloItem>().tureIcon.GetComponent <Image>().sprite = script.trueIcon; ui.GetComponent <soloItem>().bIsOk = script.items[i].isOk; ui.GetComponent <soloItem>().textName = script.items[i].Name; ui.GetComponent <soloItem>().target = script.items[i].obj; ui.GetComponent <soloItem>().LookAtCamera = script.camera; if (ui.GetComponent <soloItem>().target.GetComponent <Collider>() == null) { ui.GetComponent <soloItem>().target.AddComponent <BoxCollider>(); } } } EditorGUILayout.PropertyField(serializedObject.FindProperty("objectParent"), true); if (GUILayout.Button("Add GameObject")) { //Debug.Log("path=" + script.cameraPath); for (int i = 0; i < rootObject.transform.childCount; i++) { rootObject.transform.GetChild(i).GetComponent <soloItem>().target = script.objectParent.transform.Find(rootObject.transform.GetChild(i).name).gameObject; ItemObject obj = script.items.Find(temp => { if (temp.Name == rootObject.transform.GetChild(i).GetComponent <Text>().text) { return(true); } else { return(false); } }); obj.obj = rootObject.transform.GetChild(i).GetComponent <soloItem>().target; } } EditorGUILayout.LabelField("------ Paramter ------"); EditorGUILayout.PropertyField(serializedObject.FindProperty("mode"), true); ChooseItems item = target as ChooseItems; if (item.mode == ChooseMode.Choose) { //EditorGUILayout.PropertyField(serializedObject.FindProperty("chooseParam"), true); } else if (item.mode == ChooseMode.MoveItem) { Rect rect = EditorGUILayout.BeginHorizontal("MoveParam"); rect.height = 60; EditorGUILayout.PropertyField(serializedObject.FindProperty("moveParam"), true); if (GUILayout.Button("update")) { if (script.endObject != null && script.startObject != null) { Vector3 v3 = script.endObject.transform.position - script.startObject.transform.position; script.moveParam = v3; } } EditorGUILayout.EndHorizontal(); EditorGUILayout.PropertyField(serializedObject.FindProperty("startObject"), true); EditorGUILayout.PropertyField(serializedObject.FindProperty("endObject"), true); EditorGUILayout.PropertyField(serializedObject.FindProperty("moveSpeed"), true); } serializedObject.ApplyModifiedProperties(); }