void ChooseActionState(RaycastHit2D hit2D) { if (hit2D.collider != null) { string hit2DTag = hit2D.transform.tag; if (hit2DTag.Equals("Hex")) { if (Input.GetMouseButtonDown(0)) { HexCell clickedHex = hit2D.collider.transform.parent.gameObject.GetComponent <HexCell> (); if (clickedHex.active) { //BattlefieldSM.CharactersByInitiative[0].MoveCharacter (clickedHex); StartCoroutine(BattlefieldSM.CharactersByInitiative[0].MoveCharacter(clickedHex)); //BattlefieldSM.CharactersByInitiative[0].characterState = Character.CharacterStateMachine.AFTERACTION; BattlefieldSM.CharactersByInitiative[0].characterState = Character.CharacterStateMachine.MOVING; currentMouseState = MouseStateMachine.IDLE; } } } else if (hit2DTag.Equals("Character")) { lookAtCharacterStats(hit2D); } } }
void ChooseTargetState(RaycastHit2D hit2D) { Character attacker = BattlefieldSM.CharactersByInitiative[0]; if (hit2D.collider != null) { string hit2DTag = hit2D.transform.tag; if (hit2DTag.Equals("Character")) { lookAtCharacterStats(hit2D); if (Input.GetMouseButtonDown(0) && hit2D.transform.parent.gameObject.GetComponent <Character>().hexCell.active) { attacker.DeActivateNeighboringTiles(); attacker.DeactivateAvailableTilesForRange(); Character attacked = hit2D.transform.parent.gameObject.GetComponent <Character> (); clickedAbility.dealDamage(attacker, attacked); //clickedAbility.currentCooldown = clickedAbility.cooldown; clickedAbilityBorder.color = Color.white; if (attacker.currentHP > 0) { clickedAbility = null; BattlefieldSM.CharactersByInitiative[0].ActivateMovableTiles(); currentMouseState = MouseStateMachine.IDLE; BattlefieldSM.CharactersByInitiative[0].characterState = Character.CharacterStateMachine.AFTERACTION; } else { currentMouseState = MouseStateMachine.IDLE; BattlefieldSM.CharactersByInitiative[0].characterState = Character.CharacterStateMachine.ENDTURN; } } } } if (Input.GetMouseButtonDown(1) || Input.GetKeyDown(KeyCode.Escape)) { Debug.Log("Ability Cancelled"); attacker.DeActivateNeighboringTiles(); attacker.DeactivateAvailableTilesForRange(); clickedAbility = null; BattlefieldSM.CharactersByInitiative[0].ActivateMovableTiles(); UIM.AbilityBarBorders[clickedAbilityIndex].color = Color.white; currentMouseState = MouseStateMachine.CHOOSEACTION; } }
private void UserControl1_MouseUp(object sender, MouseEventArgs e) { TheMouseStateMachine = MouseStateMachine.None; }