/// <summary> /// Set a gameObject's state /// </summary> /// <param name="gameObject">The gameObject you want to set</param> /// <param name="fsmName">The FSM that contains the state</param> /// <param name="state">The name of the state</param> static public void SetToState(GameObject gameObject, string fsmName, string state) { string hookedEventName = state + "-MSCMP"; PlayMakerFSM fsm = Utils.GetPlaymakerScriptByName(gameObject, fsmName); FsmEvent ourEvent = fsm.Fsm.GetEvent(hookedEventName); PlayMakerUtils.AddNewGlobalTransition(fsm, ourEvent, state); fsm.SendEvent(hookedEventName); RemoveEvent(fsm, hookedEventName); }
public void UpdatePlayer(GameObject localPlayer) { if (!devView) { return; } // Pseudo AirBrk if (Input.GetKey(KeyCode.KeypadPlus) && localPlayer) { localPlayer.transform.position = localPlayer.transform.position + Vector3.up * 5.0f; } if (Input.GetKey(KeyCode.KeypadMinus) && localPlayer) { localPlayer.transform.position = localPlayer.transform.position - Vector3.up * 5.0f; } if (Input.GetKey(KeyCode.Keypad8) && localPlayer) { localPlayer.transform.position = localPlayer.transform.position + localPlayer.transform.rotation * Vector3.forward * 5.0f; } if (Input.GetKey(KeyCode.Keypad2) && localPlayer) { localPlayer.transform.position = localPlayer.transform.position - localPlayer.transform.rotation * Vector3.forward * 5.0f; } if (Input.GetKey(KeyCode.Keypad4) && localPlayer) { localPlayer.transform.position = localPlayer.transform.position - localPlayer.transform.rotation * Vector3.right * 5.0f; } if (Input.GetKey(KeyCode.Keypad6) && localPlayer) { localPlayer.transform.position = localPlayer.transform.position + localPlayer.transform.rotation * Vector3.right * 5.0f; } if (Input.GetKeyDown(KeyCode.G) && localPlayer) { PlayMakerFSM fsm = Utils.GetPlaymakerScriptByName(localPlayer, "PlayerFunctions"); if (fsm != null) { fsm.SendEvent("MIDDLEFINGER"); } else { GameObject go = GameObject.CreatePrimitive(PrimitiveType.Cube); go.transform.position = localPlayer.transform.position + localPlayer.transform.rotation * Vector3.forward * 2.0f; } } if (Input.GetKeyDown(KeyCode.I) && localPlayer) { StringBuilder builder = new StringBuilder(); Utils.PrintTransformTree(localPlayer.transform, 0, (int level, string text) => { for (int i = 0; i < level; ++i) { builder.Append(" "); } builder.Append(text + "\n"); }); System.IO.File.WriteAllText(Client.GetPath("localPlayer.txt"), builder.ToString()); } if (Input.GetKeyDown(KeyCode.F6) && localPlayer) { GameObject prefab = GameObject.Find("JONNEZ ES(Clone)"); spawnedGo = GameObject.Instantiate(prefab); // Remove component that overrides spawn position of JONNEZ. PlayMakerFSM fsm = Utils.GetPlaymakerScriptByName(spawnedGo, "LOD"); GameObject.Destroy(fsm); Vector3 direction = localPlayer.transform.rotation * Vector3.forward * 2.0f; spawnedGo.transform.position = localPlayer.transform.position + direction; /*StringBuilder builder = new StringBuilder(); * PrintTrans(go.transform, 0, (int level, string text) => { * * for (int i = 0; i < level; ++i) builder.Append(" "); * builder.Append(text + "\n"); * }); * System.IO.File.WriteAllText("J:\\projects\\MSCMP\\MSCMP\\Debug\\charTree.txt", builder.ToString());*/ } if (Input.GetKeyDown(KeyCode.F5)) { DumpWorld(); } }