diff --git a/MrBigsock/Assets/Code/PlayerController.cs b/MrBigsock/Assets/Code/PlayerController.cs index be7b14b231d1c23f85bf275a1ddae6111bed36fd..80c3773093e9c08ba0284932105fa532ff3cc747 100644 --- a/MrBigsock/Assets/Code/PlayerController.cs +++ b/MrBigsock/Assets/Code/PlayerController.cs @@ -34,6 +34,7 @@ namespace BigSock { + protected IAttack _testAttack; protected IAttack _testAttack2; protected IAbility _dodge; @@ -118,30 +119,32 @@ namespace BigSock { } + private void Update() { + // Regenerate mana & stamina. Regenerate(); - if (Input.GetKeyDown(KeyCode.Space) || Input.GetMouseButton(0)) { - // Manage attack cooldown. - if(NextTimeCanAttack <= DateTime.Now) { - //NextTimeCanAttack = DateTime.Now.AddSeconds(AttackCooldown); + // Object w/ parameters for abilities. + var par = new AbilityParam{ + Actor = this, + TargetPos = Camera.main.ScreenToWorldPoint(Input.mousePosition), + MovementDir = moveDir, + }; - //var bullet = Instantiate(attack, new Vector3(transform.position.x, transform.position.y, transform.position.z), attack.transform.rotation); - //bullet.GetComponent<AttackMovement>().Actor = this; - _testAttack.Use(this, Camera.main.ScreenToWorldPoint(Input.mousePosition)); - - } + // If pressed Soace or LMB: Regular attack. + if (Input.GetKeyDown(KeyCode.Space) || Input.GetMouseButton(0)) { + _testAttack.Use(par); } // If pressed Z: Big attack. if(Input.GetKey(KeyCode.Z)) { - _testAttack2.Use(this, Camera.main.ScreenToWorldPoint(Input.mousePosition)); + _testAttack2.Use(par); } // If pressed X: dodge. if(Input.GetKey(KeyCode.X)) { - _dodge.Use(this, Camera.main.ScreenToWorldPoint(Input.mousePosition)); + _dodge.Use(par); } @@ -152,9 +155,8 @@ namespace BigSock { TryPickUpItem(item); } - - if (Input.GetKeyDown(KeyCode.I)) - { + // Code for opening the menu. + if (Input.GetKeyDown(KeyCode.I)) { GameObject canvas = GameObject.Find("Canvas"); if(canvas != null) { var playerMenu = PrefabService.SINGLETON.Instance("UI/PlayerMenu", canvas.transform); diff --git a/MrBigsock/Assets/Code/orc/Enemy_orc_range.cs b/MrBigsock/Assets/Code/orc/Enemy_orc_range.cs index dff603f831b4253698b87d0ce832fa3d52827576..869611fd2f1796182c3e978d6ac8428265d3f3a0 100644 --- a/MrBigsock/Assets/Code/orc/Enemy_orc_range.cs +++ b/MrBigsock/Assets/Code/orc/Enemy_orc_range.cs @@ -71,7 +71,16 @@ namespace BigSock { m_Animator_bow.SetTrigger("attack"); if(DateTime.Now >= NextTimeStateCanChange && target != null) { m_Animator_bow.SetTrigger("none"); - _testAttack.Use(this, target.position); + + + // Object w/ parameters for abilities. + var par = new AbilityParam{ + Actor = this, + TargetPos = target.position, + MovementDir = moveDir, + }; + + _testAttack.Use(par); State = State.Attacking; NextTimeStateCanChange = DateTime.Now + ATTACK_WAIT_TIME; diff --git a/MrBigsock/Assets/Code/skeleton/Enemy_skeleton_range.cs b/MrBigsock/Assets/Code/skeleton/Enemy_skeleton_range.cs index 91a18ee92673bda152b95ca3949ffa5945522d0b..fbab9a4eeabfc4906c2ed8ff6d37c843713b473e 100644 --- a/MrBigsock/Assets/Code/skeleton/Enemy_skeleton_range.cs +++ b/MrBigsock/Assets/Code/skeleton/Enemy_skeleton_range.cs @@ -71,7 +71,14 @@ namespace BigSock { if(DateTime.Now >= NextTimeStateCanChange && target != null) { - _testAttack.Use(this, target.position); + // Object w/ parameters for abilities. + var par = new AbilityParam{ + Actor = this, + TargetPos = target.position, + MovementDir = moveDir, + }; + + _testAttack.Use(par); State = State.Attacking; NextTimeStateCanChange = DateTime.Now + ATTACK_WAIT_TIME;