/// <summary> /// Adds the combo ------------------------------------------------------コンボ数-------------------------------------. /// </summary> public void AddCombo(int id) { if (playerTarget == id) { if (comboNumber == null) { GameObject o = new GameObject(); comboNumber = o.AddComponent <ComboNumber> (); } comboNumber.ShowComboNumber(); } }
public void UpdateCombo() { // after an attack, updates what the next combo will be switch (currentCombo) { case ComboNumber.One: currentCombo = ComboNumber.Two; break; case ComboNumber.Two: currentCombo = ComboNumber.Three; break; case ComboNumber.Three: currentCombo = ComboNumber.One; break; } }
internal void setColor(ComboNumber comboNum, ComboColor color) { switch (comboNum) { case ComboNumber.Last: LastCombo = color; break; case ComboNumber.First: FirstCombo = color; break; case ComboNumber.Second: SecondCombo = color; break; case ComboNumber.Third: ThirdCombo = color; break; case ComboNumber.Fourth: FourthCombo = color; break; case ComboNumber.Fifth: FifthCombo = color; break; case ComboNumber.Sixth: SixthCombo = color; break; case ComboNumber.Seventh: SeventhCombo = color; break; default: throw new ArgumentException("输入的序号错误。"); } }
public void UpdateDecay() { // able to chain attack within a certain window, else performs a normal attack switch (currentCombo) { case ComboNumber.One: return; case ComboNumber.Two: if (Time.time > nextDecayTime) { currentCombo = ComboNumber.One; } break; case ComboNumber.Three: if (Time.time > nextDecayTime) { currentCombo = ComboNumber.One; } break; } }
protected override void OnOpen() { #region Initialize m_behaviour.globalLock = false; m_isPvP = Level.current && Level.current.isPvP; m_isTrain = !m_isPvP && Level.currentLevel == GeneralConfigInfo.sTrainLevel; m_isPvE = !m_isPvP && !m_isTrain && Level.current && Level.current.isPvE; moduleGlobal.ShowGlobalLayer(false); Level.current.AddEventListener(LevelEvents.BATTLE_TIMER, OnBattleTimer); Level.current.AddEventListener(LevelEvents.PREPARE, OnBattlePrepare); Level.current.AddEventListener(LevelEvents.BATTLE_ENTER_WATCH_STATE, OnBattleEnterWatchState); EventManager.AddEventListener(CreatureEvents.PLAYER_ADD_TO_SCENE, OnPlayerAddToScene); if (m_isPvE) { EventManager.AddEventListener(Level_PVE.EventInitPVERightAvatar, InitPVERightAvatar); } #endregion #region Avatar m_avatarLeft = GetComponent <AvatarCombat>("left"); m_avatarRight = GetComponent <AvatarCombat>("right"); #endregion #region Buttons & Infos m_btnShoot = GetComponent <Button>("qiangji"); m_btnBurst = GetComponent <Button>("baoqi"); m_btnBurstInfo = GetComponent <Text>("baoqi/Text"); m_awakeRoot = GetComponent <Transform>("awakeRoot")?.gameObject; m_btnAwake = GetComponent <Button>("awakeRoot/awake"); m_awakeBar = GetComponent <Image>("awakeRoot/awake/progressbar"); m_awakeCR = GetComponent <CanvasRenderer>("awakeRoot/awake"); m_awakeBarCR = GetComponent <CanvasRenderer>("awakeRoot/awake/progressbar"); m_awakeRoot?.SetActive(showAwakeButton); moduleBattle.SetKeyState("E", m_btnAwake.gameObject.activeSelf); m_effectNode = GetComponent <RectTransform>("effectNode"); m_battleTimer = GetComponent <Text>("jishi_pai/number"); m_btnPause = GetComponent <Button>("jishi_pai/pause"); m_timeInfinityObj = transform.Find("jishi_pai/endless").gameObject; m_btnShoot.onClick.AddListener(OnBtnShoot); m_btnBurst.onClick.AddListener(OnBtnBurst); m_btnAwake.onClick.AddListener(OnBtnAwake); m_info = GetComponent <Text>("info"); m_infoTween = GetComponent <TweenColor>("info"); m_state499Info = GetComponent <Text>("state499/Text"); m_state499Bar = GetComponent <Image>("state499/progressbar"); m_state499Tween = GetComponent <TweenAlpha>("state499"); m_state499CD = 0; m_state10CD = 0; m_btnBurstInfo.enabled = false; m_state499Tween.gameObject.SetActive(false); m_btnPause.interactable = true; m_btnPause.onClick.AddListener(OnBtnPause); var now = Level.current is Level_Battle ? (Level.current as Level_Battle).battleTimeSec : CombatConfig.sdefaultTimeLimit / 1000; OnBattleTimer(Event_.Pop(now)); #endregion #region Movement & Touch m_movementPad = GetComponent <UIMovementPad>("movementPad"); m_touchGuard = GetComponent <RectTransform>("touchGuard"); m_moveCR = m_movementPad.GetComponent <CanvasRenderer>(); m_touchPad = GetComponent <UITouchPad>("touchPad"); m_btnLeft = GetComponent <CanvasRenderer>("movementPad/left"); m_btnRight = GetComponent <CanvasRenderer>("movementPad/right"); m_movementPad.onTouchBegin.AddListener(OnMovementPadBegin); m_movementPad.onTouchMove.AddListener(OnMovementPadMove); m_movementPad.onTouchEnd.AddListener(OnMovementPadEnd); m_touchPad.onTouchBegin.AddListener(OnTouchPadBegin); m_touchPad.onTouchEnd.AddListener(OnTouchPadEnd); m_touchPad.onTouchMove.AddListener(OnTouchPadMove); m_touchPad.onTouchStay.AddListener(OnTouchPadStay); m_movementPos = m_movementPad.rectTransform().anchoredPosition; m_guardSize = m_touchGuard.sizeDelta; InitTouchAndMoveAlpha(); UpdateInputSettings(); EventManager.AddEventListener(Events.INPUT_SETTINGS_CHANGED, UpdateInputSettings); #endregion #region Combo m_comboObj = transform.Find("lianji").gameObject; m_comboNum = GetComponent <ComboNumber>("lianji/number"); m_comboObj.SetActive(false); #endregion #region Camera Shot m_shotShowHide = 0; EventManager.AddEventListener(Events.CAMERA_SHOT_STATE, OnCameraShotState); EventManager.AddEventListener(Events.CAMERA_SHOT_UI_STATE, OnCameraShotUIState); #endregion #region Creatures ObjectManager.Foreach <Creature>(c => { if (m_isPvP && c.teamIndex == 0 || !m_isPvP && c.isPlayer) { m_hero1 = c; return(!m_hero2); } if (!c.visible) { return(true); } if ((moduleMatch.isMatchRobot || moduleLabyrinth.lastSneakPlayer != null) && c.isRobot || m_isPvP && c.teamIndex > 0 || !m_isPvP && c.creatureCamp == CreatureCamp.MonsterCamp && (!(c is MonsterCreature) || !(c as MonsterCreature).isDestructible)) { m_hero2 = c; return(!m_hero1); } return(true); }); InitCreature(0, m_hero1); InitCreature(1, m_hero2); UpdateBurstButtonState(); UpdateShootButtonState(); UpdateAwakeButtonState(); #endregion #region Debug #if DEVELOPMENT_BUILD || UNITY_EDITOR var btnKillMe = Object.Instantiate(Resources.Load <GameObject>("ui_button")).rectTransform(); btnKillMe.name = "btnKillMe"; btnKillMe.GetComponent <Text>("label").text = "Kill Self"; Util.AddChild(transform, btnKillMe.transform); btnKillMe.pivot = btnKillMe.anchorMax = btnKillMe.anchorMin = new Vector2(1, 0.5f); btnKillMe.sizeDelta = new Vector2(90, 50); btnKillMe.anchoredPosition = new Vector2(0, 55); if (Level.current is Level_Test || Level.current is Level_PVP) { btnKillMe.GetComponent <Button>().onClick.AddListener(() => { ObjectManager.enableUpdate = true; Game.GoHome(); }); } else { btnKillMe.GetComponent <Button>().onClick.AddListener(() => { if (m_player) { m_player.Kill(); } }); } RectTransform btnVictory = null, randomInput = null; if (!(Level.current is Level_Test || Level.current is Level_PVP)) { btnVictory = Object.Instantiate(Resources.Load <GameObject>("ui_button")).rectTransform(); btnVictory.name = "btnVictory"; btnVictory.GetComponent <Text>("label").text = "Victory!"; Util.AddChild(transform, btnVictory.transform); btnVictory.pivot = btnVictory.anchorMax = btnVictory.anchorMin = new Vector2(1, 0.5f); btnVictory.sizeDelta = new Vector2(90, 50); btnVictory.anchoredPosition = new Vector2(0, 0); btnVictory.GetComponent <Button>().onClick.AddListener(() => { modulePVE.DebugPveGameData(); modulePVE.SendPVEState(PVEOverState.Success, m_player); modulePVEEvent.ClearAll(); }); randomInput = Object.Instantiate(Resources.Load <GameObject>("ui_button")).rectTransform(); randomInput.name = "randomInput"; randomInput.GetComponent <Text>("label").text = InputManager.instance.randomKey ? "cancel random" : "random Input"; Util.AddChild(transform, randomInput.transform); randomInput.pivot = randomInput.anchorMax = randomInput.anchorMin = new Vector2(1, 0.5f); randomInput.sizeDelta = new Vector2(90, 50); randomInput.anchoredPosition = new Vector2(0, 165); randomInput.GetComponent <Button>().onClick.AddListener(() => { InputManager.instance.randomKey = !InputManager.instance.randomKey; randomInput.GetComponent <Text>("label").text = InputManager.instance.randomKey ? "cancel random" : "random Input"; }); } btnKillMe.SafeSetActive(!Root.simulateReleaseMode); randomInput.SafeSetActive(!Root.simulateReleaseMode); btnVictory.SafeSetActive(!Root.simulateReleaseMode); EventManager.AddEventListener("EditorSimulateReleaseMode", () => { btnKillMe.SafeSetActive(!Root.simulateReleaseMode); randomInput.SafeSetActive(!Root.simulateReleaseMode); btnVictory.SafeSetActive(!Root.simulateReleaseMode); }); #if UNITY_EDITOR EventManager.AddEventListener("EditorReloadConfig", OnEditorReloadConfig); #endif #endif #endregion }