예제 #1
0
    protected List <GameObject> dropItems = new List <GameObject>(); //掉落道具

    protected virtual void Awake()
    {
        mainPlayer = /*SDScriptInterface.getMainCharacter().gameObject;*/ GameObject.Find("@MainCharacter");
        playerctrl = (SDPlayer)mainPlayer.GetComponent("SDPlayer");
        mainCamera = /*SDScriptInterface.getMainCamera().gameObject.GetComponent<Camera>();*/ GameObject.Find("@MainCamera").GetComponent <Camera>();

        cameraVec = mainCamera.transform.position - mainPlayer.transform.position;
        cameraDis = Vector3.Distance(Vector3.zero, cameraVec);
        cameraVec.Normalize();

        Shader.SetGlobalVector("cameraDir", new Vector4(cameraVec.x, cameraVec.y, cameraVec.z, 0));
        Shader.SetGlobalVector("MajorLightColor", new Vector4(MajorLight.r * MajorLightIntensity,
                                                              MajorLight.g * MajorLightIntensity,
                                                              MajorLight.b * MajorLightIntensity, MajorLightRadius));

        frontDir = new Vector3(-cameraVec.x, 0.0f, -cameraVec.z);
        frontDir.Normalize();
        rightDir = Vector3.Cross(Vector3.up, frontDir);
        rightDir.Normalize();

        /*joystk = GameObject.Find("@JoyStick");
         * joyTexture = joystk.GetComponent<GUITexture>();
         * joyCtrl = joystk.GetComponent<Joystick>();
         *
         * joyBack = GameObject.Find("@JoyBack").gameObject;
         * if(joyBack != null)
         * {
         *      joyBackTexture = joyBack.GetComponent<GUITexture>();
         *      joyBack.SetActive(false);
         * }*/

        uiLayer = LayerMask.NameToLayer("NGUI");
        //InitTriggers();
    }
예제 #2
0
        public override void Execute(System.Collections.Generic.List <string> _params, CommandSenderInfo _senderInfo)
        {
            if (_params.Count != 2)
            {
                SdtdConsole.Instance.Output("Invalid parameter Count");
                return;
            }

            int teamId = 0;

            if (int.TryParse(_params [1], out teamId))
            {
                if (teamId <= Constants.cNumberOfTeams)
                {
                    SDPlayer p = PlayerUtils.GetPlayer(_params [0]);
                    if (p != null)
                    {
                        p.SetTeam(teamId);
                        SdtdConsole.Instance.Output("Player Team Set");
                        return;
                    }
                    else
                    {
                        SdtdConsole.Instance.Output("Player not Found: " + _params [0]);
                    }
                }
                else
                {
                    SdtdConsole.Instance.Output("Invalid team Number: " + _params[1] + "(expected 0 -> " + (Constants.cNumberOfTeams - 1).ToString() + ")");
                }
            }

            SdtdConsole.Instance.Output("Could not set player Team");
        }
예제 #3
0
    // Update is called once per frame
    protected virtual void Update()
    {
        for (int i = 0; i < monsters.Count; i++)
        {
            if (monsters[i] == null)
            {
                continue;
            }

            SDPlayer monCtrl = monsters[i].GetComponent <SDPlayer>();
            if (monCtrl.isDisapeared())
            {
                monCtrl.DestroyHPUI();
                GameObject.Destroy(monsters[i]);
                monsters[i] = null;
            }
        }


        //手机和PC模式用不同的方式给摇杆赋
        Vector2 joyPos = new Vector2(0.0f, 0.0f);

        if ((Application.platform == RuntimePlatform.Android) ||
            (Application.platform) == RuntimePlatform.IPhonePlayer)
        {
            int tCount = Input.touchCount;
            if (tCount > 0)
            {
                for (int i = 0; i < tCount; i++)
                {
                    Touch tch = Input.GetTouch(i);
                    if (tch.phase == TouchPhase.Began && (!joyCtrl.IsFingerDown()))
                    {
                        if (!CheckHitUI(tch.position))
                        {
                            Rect pixelInset = new Rect(tch.position.x - joyTexture.pixelInset.width * 0.5f,
                                                       tch.position.y - joyTexture.pixelInset.height * 0.5f,
                                                       joyTexture.pixelInset.width, joyTexture.pixelInset.height);
                            joyTexture.pixelInset = pixelInset;
                            joyCtrl.ReSetDefaultRect();
                            joyCtrl.ResetJoystick();
                            joystk.SetActive(true);

                            if (joyBackTexture != null)
                            {
                                pixelInset = new Rect(tch.position.x - joyBackTexture.pixelInset.width * 0.5f,
                                                      tch.position.y - joyBackTexture.pixelInset.height * 0.5f,
                                                      joyBackTexture.pixelInset.width, joyBackTexture.pixelInset.height);
                                joyBackTexture.pixelInset = pixelInset;
                            }
                            //<
                        }
                    }
                }
            }

            if (joyCtrl.IsFingerDown())
            {
                joyPos = joyCtrl.position;
                if (joyBack != null)
                {
                    joyBack.SetActive(true);
                }
            }
            else
            {
                if (joyBack != null)
                {
                    joyBack.SetActive(false);
                }
            }
        }
        else
        {
            joyPos.x = Input.GetAxis("Horizontal");
            joyPos.y = Input.GetAxis("Vertical");
        }

        if (Mathf.Abs(joyPos.x) > 0.01f || Mathf.Abs(joyPos.y) > 0.01f)
        {
            Vector3 worldDir = rightDir * joyPos.x + frontDir * joyPos.y;
            worldDir.Normalize();
            playerctrl.runToTarget(mainPlayer.transform.position + worldDir * 1.0f);
        }
        else
        {
            if (playerctrl.isRunning())
            {
                playerctrl.runToTarget(mainPlayer.transform.position);
            }
        }



        mainCamera.transform.position = playerctrl.transform.position + cameraVec * cameraDis;
        mainCamera.transform.LookAt(playerctrl.transform);

        Shader.SetGlobalVector("MajorPos", new Vector4(playerctrl.transform.position.x,
                                                       playerctrl.transform.position.y, playerctrl.transform.position.z, 0));

        /*
         * if( Input.GetKeyUp(KeyCode.Escape) )
         * {
         *      GameObject townui = GameObject.Find("TownUi");
         *      if( townui != null )
         *      {
         *              townui.GetComponent<sdTown>().ShowSetting();
         *      }
         *      else
         *      {
         *              GameObject fightui = GameObject.Find("NGUIRoot");
         *              if (fightui != null)
         *                      fightui.GetComponentInChildren<sdFightUi>().ShowSetting();
         *      }
         *
         *      //Application.Quit();
         * }
         */
    }