public void UpdateSelf() { if (!CamerasMgr.CameraUI.get_enabled()) { ControlStick.Direction2ControlStick = Vector2.get_zero(); return; } if (!this.IsDraging) { this.CheckTouchBegin(); if (this.IsDraging) { EventDispatcher.Broadcast("UIStateSystem.ResetFPSSleep"); } ControlStick.Direction2ControlStick = Vector2.get_zero(); return; } if (this.TouchEnd()) { this.TouchEndReset(); return; } Vector2 offset = this.ChangeStickPositon(); this.OffsetControlStickPos(offset); ControlStick.Direction2ControlStick = ControlStick.GetDirection(); }
/// <summary> /// Initialize the character /// </summary> new public virtual void Start() { moveStick = new ControlStick(); jumpAlarm = ScriptableObject.CreateInstance <Alarm>(); hitLagAlarm = ScriptableObject.CreateInstance <Alarm>(); spriteRenderer = this.gameObject.GetComponentInChildren <SpriteRenderer>(); timer = 0; velocity = new Vector3(0f, 0f, 0f); position = new Vector2(0f, 0f); knockback = new Vector3(0f, 0f, 0f); jumpCount = 0; // Pool the states currentState = new StateIdle(this); stateAttack = new StateAttack(this); stateCrouch = new StateCrouch(this); stateIdle = new StateIdle(this); stateDash = new StateDash(this); stateJump = new StateJump(this); stateRun = new StateRun(this); stateHurt = new StateHurt(this); stateFall = new StateFall(this); playerContactFilter.layerMask = playerMask; timerSpeed = 1; canJump = true; canAttack = true; }
private void TouchBeginSuccess(Vector2 vTouchPosBaseBottomL) { ControlStick.m_beginTouchBaseBottomL = vTouchPosBaseBottomL; this.ChangeControlStickPos(vTouchPosBaseBottomL); ControlStick.Direction2ControlStick = ControlStick.GetDirection(); this.IsDraging = true; }
void Update() { inputBuffer[1] = inputBuffer[0]; // shift inputBuffer[0] = new ControlStick(Input.GetAxisRaw("Horizontal"), Input.GetAxisRaw("Vertical")); // pan movement panTransform.position = new Vector3(initialPanPosition.x + inputBuffer[0].x * panDisplacement, initialPanPosition.y + inputBuffer[0].y * panDisplacement, initialPanPosition.z); // clamp inputBuffer[0] = new ControlStick(inputBuffer[0].x > threshold ? 1f : (inputBuffer[0].x < -threshold ? -1f : 0f), inputBuffer[0].y > threshold ? 1f : (inputBuffer[0].y < -threshold ? -1f : 0f)); if (isInputAllowed) { // not diagonal, centered, or the same input if (Mathf.Abs(inputBuffer[0].x) != Mathf.Abs(inputBuffer[0].y) && inputBuffer[0] != inputBuffer[1]) { if (keys[c] == inputBuffer[0]) { buttonSprites[c].color = Color.green; AudioManager.instance.PlaySFX(correct, 1f); food.SetActive(true); foodTimer = foodDuration; } else { isWin = false; buttonSprites[c].color = Color.red; AudioManager.instance.PlaySFX(incorrect, 1f); timer = duration; food.SetActive(false); foodTimer = 0f; } buttons[c++].SetActive(true); } bool isNotDone = c < buttons.Length; isInputAllowed = isNotDone; if (!isNotDone) { slider.value = slider.minValue; } } AudioManager.instance.SetMusicPitch(speed += Time.deltaTime * deltaSpeed); if (timer > 0f) { bgTransform.position = initialBGPosition + Random.insideUnitSphere * magnitude; timer -= Time.deltaTime * dampening; } else { bgTransform.position = initialBGPosition; } if (foodTimer > 0f) { foodTimer -= Time.deltaTime; } else { food.SetActive(false); } }
protected override void ReleaseSelf(bool calledDestroy) { if (SystemConfig.IsReleaseResourceOn && calledDestroy) { ControlStick.m_instance = null; base.ReleaseSelf(true); } }
private void Awake() { base.AwakeBase(BindingContext.BindingContextMode.MonoBinding, false); ControlStick.m_instance = this; this.m_spBg = base.FindTransform("ControlStickBg").GetComponent <Image>(); this.m_spStick = base.FindTransform("ControlStickDot").GetComponent <Image>(); this.ShowBackground(false); this.SetBackgroundOfA(false); this.OnForbiddenStick(true); base.Invoke("DelayInit", 0.1f); }
void Awake() { slider = GetComponentInChildren <Slider>(); Text[] texts = GetComponentsInChildren <Text>(); memorizeText = texts[0]; repeatText = texts[1]; inputBuffer = new ControlStick[2]; identityStick = new ControlStick[4]; identityStick[0] = new ControlStick(0f, 1f); // up identityStick[1] = new ControlStick(-1f, 0f); // left identityStick[2] = new ControlStick(0f, -1f); // down identityStick[3] = new ControlStick(1f, 0f); // right minButtons = 3; deltaButtons = 1f; isWin = true; speed = 1f; panDisplacement = 2f; }
IEnumerator GameLoop(ushort loops) { slider.gameObject.SetActive(memorizeText.enabled = repeatText.enabled = false); AudioManager.instance.PlayMusic(music, 1f, speed, true); yield return(new WaitForSeconds(initialWaitTime)); for (ushort h = 0; h < loops; h++) { c = 0; slider.maxValue = maxTime; slider.value = slider.minValue; memorizeText.enabled = true; // generate new set of buttons and placeholders int size = Mathf.RoundToInt(Random.value * deltaButtons) + minButtons; buttons = new GameObject[size]; buttonSprites = new SpriteRenderer[size]; keys = new ControlStick[size]; float j = -buttons.Length - 1; for (ushort i = 0; i < buttons.Length; i++) { j += 2; buttons[i] = Instantiate(buttonPrefab, new Vector3(j, 0f, 0f), Quaternion.Euler(0f, 0f, RandomDirection(i))); buttonSprites[i] = buttons[i].GetComponent <SpriteRenderer>(); } slider.gameObject.SetActive(true); // memorize while (slider.value < slider.maxValue) { slider.value += Time.deltaTime; yield return(null); } slider.gameObject.SetActive(false); memorizeText.enabled = false; // hide buttons foreach (GameObject button in buttons) { button.SetActive(false); } slider.value = slider.maxValue = absoluteMaxTime; repeatText.enabled = true; slider.gameObject.SetActive(true); // repeat isInputAllowed = true; while (slider.value > slider.minValue) { slider.value -= Time.deltaTime; yield return(null); // yields for Update() } isInputAllowed = false; slider.gameObject.SetActive(false); repeatText.enabled = false; if (c < buttons.Length) { isWin = false; } // compare results foreach (GameObject button in buttons) { button.SetActive(true); } yield return(new WaitForSeconds(waitTime)); // clean up foreach (GameObject button in buttons) { Destroy(button); } if (!isWin) { AudioManager.instance.StopMusic(); MinigameManager.FinishMinigame(isWin); yield break; } // up the ante minButtons++; yield return(null); } AudioManager.instance.StopMusic(); MinigameManager.FinishMinigame(isWin); }
void OnEnable() { instance = this; }
public void InitInstance() { instance = this; }