Exemplo n.º 1
0
	void OnTriggerEnter2D(Collider2D  colision){
		if (colision.gameObject.tag == "Player") {
            GameManager.hasWin = true;
            SoundSingleton.Singleton.PlayKey();
            Destroy(this.gameObject);
			keyPhase = KeyPhase.END;
		}
	}
Exemplo n.º 2
0
	void Update () {

		if (keyPhase != KeyPhase.END) {
			if (keyPhase == KeyPhase.JUMP) {
				rigidbody.velocity = new Vector2(0.0f, 0.0f);
				rigidbody.AddForce(new Vector2(-(jumpForce/10), +force * 0.9f), ForceMode2D.Impulse);
				keyPhase = KeyPhase.NONE;
			}
		}
	}
Exemplo n.º 3
0
        protected virtual void Update()
        {
            KeyPhase mask = GetPhaseMask();

            if (mask.HasFlag(phase))
            {
                onTrigger?.Invoke();
            }

            #region LOCAL_FUNCTIONS
            KeyPhase GetPhaseMask()
            {
                var p = KeyPhase.None;

                p |= Input.GetKeyDown(keyCode) ? KeyPhase.Down : KeyPhase.None;
                p |= Input.GetKeyUp(keyCode) ? KeyPhase.Up : KeyPhase.None;
                p |= Input.GetKey(keyCode) ? KeyPhase.Pressed : KeyPhase.Unpressed;

                return(p);
            }

            #endregion
        }
Exemplo n.º 4
0
	public void DownKey(float speed){
		keyPhase = KeyPhase.JUMP;
		force = jumpForce+(speed/10);
	}
Exemplo n.º 5
0
	void Start () {
		rigidbody = this.GetComponent<Rigidbody2D> ();
		keyPhase = KeyPhase.NONE;
	}
Exemplo n.º 6
0
        protected bool TryProcessAxisValue(GamePadKey key, KeyPhase phase)
        {
            string axisName        = string.Empty;
            bool   isPositiveValue = true;

            switch (key)
            {
            case GamePadKey.D_UP:
                axisName        = axisNames.DPadY;
                isPositiveValue = true;
                break;

            case GamePadKey.D_DOWN:
                axisName        = axisNames.DPadY;
                isPositiveValue = false;
                break;

            case GamePadKey.D_LEFT:
                axisName        = axisNames.DPadX;
                isPositiveValue = false;
                break;

            case GamePadKey.D_RIGHT:
                axisName        = axisNames.DPadX;
                isPositiveValue = true;
                break;

            case GamePadKey.LT:
                axisName        = axisNames.LTrigger;
                isPositiveValue = true;
                break;

            case GamePadKey.RT:
                axisName        = axisNames.RTrigger;
                isPositiveValue = true;
                break;

            case GamePadKey.ANALOG_L_UP:
                axisName        = axisNames.LeftAnalogStickY;
                isPositiveValue = true;
                break;

            case GamePadKey.ANALOG_L_DOWN:
                axisName        = axisNames.LeftAnalogStickY;
                isPositiveValue = false;
                break;

            case GamePadKey.ANALOG_L_LEFT:
                axisName        = axisNames.LeftAnalogStickX;
                isPositiveValue = false;
                break;

            case GamePadKey.ANALOG_L_RIGHT:
                axisName        = axisNames.LeftAnalogStickX;
                isPositiveValue = true;
                break;

            case GamePadKey.ANALOG_R_UP:
                axisName        = axisNames.RightAnalogStickY;
                isPositiveValue = true;
                break;

            case GamePadKey.ANALOG_R_DOWN:
                axisName        = axisNames.RightAnalogStickY;
                isPositiveValue = false;
                break;

            case GamePadKey.ANALOG_R_LEFT:
                axisName        = axisNames.RightAnalogStickX;
                isPositiveValue = false;
                break;

            case GamePadKey.ANALOG_R_RIGHT:
                axisName        = axisNames.RightAnalogStickX;
                isPositiveValue = true;
                break;
            }

            if (string.IsNullOrEmpty(axisName))
            {
                return(false);
            }
            else if (!axisValueDict.ContainsKey(axisName))
            {
                return(false);
            }

            if (phase == KeyPhase.RELEASE)
            {
                return(axisValueDict[axisName].Released(isPositiveValue));
            }
            else if (phase == KeyPhase.PRESS)
            {
                return(axisValueDict[axisName].Press(isPositiveValue));
            }
            else if (phase == KeyPhase.PRESSED)
            {
                return(axisValueDict[axisName].IsPressing(isPositiveValue));
            }

            return(false);
        }