Пример #1
0
    private void InitialiseAbility(Ability selectedAbility, GameObject weaponHolder, AbilityDeployModes.DeployStyle style)
    {
        selectedAbility.Initialize(weaponHolder);
        if (style == AbilityDeployModes.DeployStyle.Attack)
        {
            abilityAttack = selectedAbility;
        }
        else if (style == AbilityDeployModes.DeployStyle.Defense)
        {
            abilityDefense = selectedAbility;
        }

        if (abilityUI != null)
        {
            abilityUI.AssignSprite(selectedAbility.Sprite);
            abilityUI.gameObject.SetActive(true);
        }
        else
        {
            Debug.Log("UI Not Active");
        }
        // mark this ability as initialized and ready to deploy
        if (selectedAbility != null)
        {
            canTriggerAbility = true;
        }
        else
        {
            canTriggerAbility = false;
        }
    }
Пример #2
0
 public void TriggerAbilitySequence(AbilityDeployModes.DeployStyle style)
 {
     if (canTriggerAbility) //Check if the ability can be fired
     {
         //if the attack style is pressed
         if (style == AbilityDeployModes.DeployStyle.Attack)
         {
             AbilityDeploy(abilityAttack, style);
         }
         //if the defense style is pressed
         else if (style == AbilityDeployModes.DeployStyle.Defense)
         {
             AbilityDeploy(abilityDefense, style);
         }
     }
 }
Пример #3
0
    private void AbilityDeploy(Ability ability, AbilityDeployModes.DeployStyle deployStyle)
    {
        if (ability != null)
        {
            ability.TriggerAbility(deployStyle); //Triggers the ability based on the attack style
        }

        if (abilityUI != null && abilityUI.gameObject.activeInHierarchy)
        {
            abilityUI.PlaySoundEffect(ability.Sound);
            abilityUI.AssignSprite(null);          //removes the icon from the UI image
            abilityUI.gameObject.SetActive(false); //makes the active state of the gameObject attached to this script to false (Removes blank UI image and also helps make sure nothing can be activated)
        }

        //mark the ability as used, and stop more triggering events in TriggerAbilitySequence
        canTriggerAbility = false;
    }
Пример #4
0
 public abstract void Initialize(GameObject obj); //Method that will be overriden for Initializing an ability to a specific weapon holders script (this is based on which ability needs which script)
 public abstract void TriggerAbility(AbilityDeployModes.DeployStyle style); //Method that will be overriden for Triggering each ability based on a deploy style
Пример #5
0
 //This method is used to trigger the ability (For example, it takes in an attack style to deploy the correctly ability when used e.g. attack style will activate attack style ability)
 public override void TriggerAbility(AbilityDeployModes.DeployStyle style)
 {
     launcher.Launch();
 }
Пример #6
0
 //This method is used to trigger the ability (It takes in an attack style to deploy the correctly ability when used e.g. attack style will activate attack style ability)
 public override void TriggerAbility(AbilityDeployModes.DeployStyle style)
 {
     Launcher.Activate(this);
 }