Example #1
0
        /// <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);
        }
Example #2
0
        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();
            }
        }