Пример #1
0
        void UpdateGauge(ISignalParameters parameters)
        {
            float hp    = (float)(int)parameters.GetParameter(GameParams.MONSTER_HP);
            float maxHp = (float)(int)parameters.GetParameter(GameParams.MONSTER_MAX_HP);

            float rectWidth = GaugeFillMaxWidth * Mathf.Clamp01(hp / maxHp);

            Vector2 sizeDelta = GaugeFillImage.rectTransform.sizeDelta;

            sizeDelta.x = rectWidth;
            GaugeFillImage.rectTransform.sizeDelta = sizeDelta;
        }
Пример #2
0
        private void ProcessInput(ISignalParameters parameters, bool isLocal)
        {
            GestureType gesture = (GestureType)parameters.GetParameter(GameParams.INPUT_TYPE);

            if (gesture == GestureType.SWIPE)
            {
                SwipePayload swipePayload = (SwipePayload)parameters.GetParameter(GameParams.INPUT_SWIPE_PAYLOAD);
                this.PopBubble(gesture, swipePayload.direction);
            }
            else
            {
                this.PopBubble(gesture);
            }
        }
Пример #3
0
        private void OnPlaySFX(ISignalParameters parameters)
        {
            ESfx sfx = (ESfx)parameters.GetParameter(GameParams.AUDIO_ID);

            this.source.clip = this.audioMap[sfx];
            this.source.Play();
        }
        void OnInputHostIP(ISignalParameters parameters)
        {
            if (connType != ConnectionType.CLIENT)
            {
                return;
            }

            hostIp = (string)parameters.GetParameter(GameParams.NETWORK_HOST_IP);
            JoinLocalGame(hostIp);
        }
Пример #5
0
        private void OnMonsterShown(ISignalParameters parameters)
        {
            if (GaugeIcon != null)
            {
                GaugeIcon.SetActive(false);
            }
            MonsterType monsterType = (MonsterType)parameters.GetParameter(GameParams.MONSTER_TYPE);

            GaugeIcon = MonsterIcons.Find(mi => mi.Type == monsterType).Icon;
            GaugeIcon.SetActive(true);

            UpdateGauge(parameters);
        }
Пример #6
0
        void OnNetworkStatusReceived(ISignalParameters parameters)
        {
            var status = (string)parameters.GetParameter(GameParams.NETWORK_STATUS);

            networkStatusDisplay.text = string.Format("Connection status: {0}", status);

            if (status.Contains("success"))
            {
                OnJoinSuccess();
            }
            else if (status.Contains("Stopped"))
            {
                OnHostStopped();
            }
            else
            {
                OnJoinFailed();
            }
        }
        void OnInputReceived(ISignalParameters parameters)
        {
            if (isLocalPlayer)
            {
                var    type          = (GestureType)parameters.GetParameter(GameParams.INPUT_TYPE);
                string textToDisplay = "";
                switch (type)
                {
                case GestureType.TAP:
                    var pos = (Vector2)parameters.GetParameter(GameParams.INPUT_TAP_POS);

                    // server already dispatches this on its side
                    if (!isServer)
                    {
                        CmdDispatchTap(pos);
                    }

                    CmdSpawnTapEffectToServer(pos);

                    textToDisplay = string.Format("{0} Gesture detected!", type.ToString());
                    break;

                case GestureType.SWIPE:
                    var payload = (SwipePayload)parameters.GetParameter(GameParams.INPUT_SWIPE_PAYLOAD);

                    // server already dispatches this on its side
                    if (!isServer)
                    {
                        CmdDispatchSwipe(payload);
                    }

                    CmdSpawnSwipeEffectToServer(payload);

                    textToDisplay = string.Format("Swipe detected! direction: {0}, startPos: {1}, endPos: {2}, velocity: {3}", payload.direction.ToString(), payload.startScreenPos, payload.endScreenPos, payload.velocity);
                    break;

                case GestureType.PINCH:
                    if (!isServer)
                    {
                        CmdDispatchPinch();
                    }

                    textToDisplay = string.Format("{0} Gesture detected!", type.ToString());
                    break;

                case GestureType.LONG_PRESS:
                    if (!isServer)
                    {
                        CmdDispatchLongPress();
                    }

                    textToDisplay = string.Format("{0} Gesture detected!", type.ToString());
                    break;

                default:
                    textToDisplay = string.Format("{0} Gesture detected!", type.ToString());
                    break;
                }

                //display only to client screen
                if (!isServer)
                {
                    DispatchText(textToDisplay);
                }

                //display only to server screen
                CmdDispatchTextToServer(textToDisplay);
            }
        }
Пример #8
0
        void OnLogReceived(ISignalParameters parameters)
        {
            var text = (string)parameters.GetParameter(GameParams.DEBUG_TEXT);

            textDisplay.text += text + "\n";
        }
Пример #9
0
        void OnDisplayHostIp(ISignalParameters parameters)
        {
            var ip = (string)parameters.GetParameter(GameParams.NETWORK_HOST_IP);

            hostDisplay.text = "Host IP: " + ip;
        }