示例#1
0
    // Use this for initialization
    void Start()
    {
        instance = this;
        DontDestroyOnLoad(gameObject);
        followPoint = transform;

        //screen size
        //get the screen's width
        sWidth  = Screen.width;
        sHeight = Screen.height;
        //calculate the rescale ratio
        guiRatioX = sWidth / 1280;
        guiRatioY = sHeight / 720;
        //create a rescale Vector3 with the above ratio
        GUIsF = new Vector3(guiRatioX, guiRatioY, 1);

        //health bar
        teksturHealth  = (Texture2D)Resources.Load("Health/HUD_health_04");
        teksturHealth2 = (Texture2D)Resources.Load("Health/HUD_health_04");
        teksturSkill   = (Texture2D)Resources.Load("Health/HUD_health_04");
        teksturSkill2  = (Texture2D)Resources.Load("Health/HUD_health_04");

        healthBarLength = 1200;
        skillBarLength  = 1200;
    }
示例#2
0
    // Update is called once per frame
    void FixedUpdate()
    {
        instance = this;
        if (MultiplayerManager.instance.isGameStarted)
        {
            float hor = 0f;
            float ver = 0f;
            if (Network.isServer)
            {
                // server side
                // do calculation for server's gasing (as a player)
                if (!MultiplayerManager.instance.isDedicatedServer)
                {
                    if (!client_gasing.isInvicibleAfterClash)
                    {
                        if (Application.platform == RuntimePlatform.Android)
                        {
                            hor = Input.acceleration.x * Gasing.COEF_SPEED * client_gasing.speed;
                            ver = Input.acceleration.y * Gasing.COEF_SPEED * client_gasing.speed;
                        }
                        else
                        {
                            hor = Input.GetAxis("Horizontal") * Gasing.COEF_SPEED * client_gasing.speed;
                            ver = Input.GetAxis("Vertical") * Gasing.COEF_SPEED * client_gasing.speed;
                        }

                        Vector3 movement = new Vector3(hor, 0f, ver);

                        server_addForce(Network.player, movement * 2000 * Time.deltaTime);
                    }
                }
                //send update to all player
                for (int i = 0; i < MultiplayerManager.instance.serverSideGasings.Count; i++)
                {
                    if (MultiplayerManager.instance.playerList[i].playerNetwork == Network.player)
                    {
                        if (MultiplayerManager.instance.serverSideGasings[i] != null)
                        {
                            if (MultiplayerManager.instance.serverSideGasings[i].GetComponentInChildren <Gasing>() != null)
                            {
                                client_gasing.speed                 = MultiplayerManager.instance.serverSideGasings[i].GetComponentInChildren <Gasing>().speed;
                                client_gasing.isOnGround            = MultiplayerManager.instance.serverSideGasings[i].GetComponentInChildren <Gasing>().isOnGround;
                                client_gasing.isInvicibleAfterClash = MultiplayerManager.instance.serverSideGasings[i].GetComponentInChildren <PhysicsTabrak>().isInvicibleAfterClash;
                                client_gasing.energiPoint           = MultiplayerManager.instance.serverSideGasings[i].GetComponentInChildren <Gasing>().energiPoint;
                            }
                        }
                    }
                    else
                    {
                        if (MultiplayerManager.instance.isAllPlayerReady)
                        {
                            if (MultiplayerManager.instance.serverSideGasings[i] != null)
                            {
                                if (MultiplayerManager.instance.serverSideGasings[i].GetComponentInChildren <Gasing>() != null)
                                {
                                    float speed                 = MultiplayerManager.instance.serverSideGasings[i].GetComponentInChildren <Gasing>().speed;
                                    bool  isOnGround            = MultiplayerManager.instance.serverSideGasings[i].GetComponentInChildren <Gasing>().isOnGround;
                                    bool  isInvicibleAfterClash = MultiplayerManager.instance.serverSideGasings[i].GetComponentInChildren <PhysicsTabrak>().isInvicibleAfterClash;
                                    float energiPoint           = MultiplayerManager.instance.serverSideGasings[i].GetComponentInChildren <Gasing>().energiPoint;
                                    float skillPoint            = MultiplayerManager.instance.serverSideGasings[i].GetComponentInChildren <Gasing>().skillPoint;
                                    float energiPointMax        = MultiplayerManager.instance.serverSideGasings[i].GetComponentInChildren <Gasing>().energiPointMax;
                                    float skillPointMax         = MultiplayerManager.instance.serverSideGasings[i].GetComponentInChildren <Gasing>().skillPointMax;
                                    networkView.RPC("client_sendGasingUpdate", MultiplayerManager.instance.playerList[i].playerNetwork, speed, isOnGround, isInvicibleAfterClash, energiPoint, skillPoint, energiPointMax, skillPointMax);
                                }
                            }
                        }
                    }
                }
            }
            else
            {
                // client side


                // do calculation
                if (!client_gasing.isInvicibleAfterClash)
                {
                    if (Application.platform == RuntimePlatform.Android)
                    {
                        hor = Input.acceleration.x * Gasing.COEF_SPEED * client_gasing.speed;
                        ver = Input.acceleration.y * Gasing.COEF_SPEED * client_gasing.speed;
                    }
                    else
                    {
                        hor = Input.GetAxis("Horizontal") * Gasing.COEF_SPEED * client_gasing.speed;
                        ver = Input.GetAxis("Vertical") * Gasing.COEF_SPEED * client_gasing.speed;
                    }

                    Vector3 movement = new Vector3(hor, 0f, ver);
                    networkView.RPC("server_addForce", RPCMode.Server, Network.player, movement * 2000 * Time.deltaTime);
                }
            }
        }
    }