Пример #1
0
 public Skill(BJSkill bjskill, int level, int maxLevel, List <int> upgradeCosts)
 {
     BJSkill      = bjskill;
     Name         = bjskill.Name;
     Level        = level;
     MaxLevel     = maxLevel;
     UpgradeCosts = upgradeCosts;
 }
Пример #2
0
    public void AddSkill(BJSkill skill)
    {
        BJSkill skillCopy = Instantiate(skill);

        Skills.Add(skillCopy);
        skillCopy.CurrentUser       = this;
        OnCreatureMovementFinished += skillCopy.User_OnCreatureMovementFinished;
        skillCopy.OnSkillFinished  += CurrentSkill_OnSkillFinished;
    }
Пример #3
0
 void Start()
 {
     Creature.OnDamageTaken += Creature_OnDamageTaken;
     Creature.OnDodge       += Creature_OnDodge;
     Creature.OnMiss        += Creature_OnMiss;
     HPSlider.maxValue       = Creature.MaxHP;
     HPSlider.value          = Creature.HP;
     InitialPosition         = transform.position;
     Skills [0].Damage       = Creature.BaseDamage;
     CurrentSkill            = Skills [0];
 }
Пример #4
0
    void BJSkillButton_OnSkillButtonClicked(GameObject sender)
    {
        Tooltip.gameObject.SetActive(true);
        float dx = (BJGameController.Instance.SkillButtons.IndexOf(sender.GetComponent <Button> ()) == 3) ? -1.0f : 1.0f;

        Tooltip.transform.position = new Vector3(sender.transform.position.x + dx, sender.transform.position.y + 1.5f, Tooltip.transform.position.z);
        foreach (var skillButton in BJGameController.Instance.SkillButtons)
        {
            if (sender.GetComponent <Button> () == skillButton)
            {
                BJSkill skill = BJGameController.Instance.CurrentCreatureObject.Skills [BJGameController.Instance.SkillButtons.IndexOf(sender.GetComponent <Button> ()) + 1];
                Tooltip.Header.text   = skill.Name;
                Tooltip.MainText.text = skill.GetInfo();
                break;
            }
        }
    }
Пример #5
0
 void FinishTurn(BJSkill sender)
 {
     isFinishingTurn = true;
     if (Creature.HP > 0)
     {
         List <BJEffect> effectsToRemove = new List <BJEffect> ();
         foreach (var effect in Effects)
         {
             if (effect.Duration <= effect.CurrentLifetime)
             {
                 effect.Deactivate();
                 int index = Effects.IndexOf(effect);
                 if (index >= EffectIcons.Count)
                 {
                     Debug.Log("Something went wrong with " + Name + "'s effects");
                 }
                 else
                 {
                     Destroy(EffectIcons [index]);
                     EffectIcons.RemoveAt(index);
                 }
                 effectsToRemove.Add(effect);
             }
         }
         for (int i = Effects.Count - 1; i >= 0; i--)
         {
             if (effectsToRemove.Contains(Effects [i]))
             {
                 Destroy(Effects [i].EffectParticles);
                 Destroy(Effects [i]);
                 Effects.Remove(Effects [i]);
             }
         }
         effectsToRemove.Clear();
     }
     if (OnCreatureTurnFinished != null)
     {
         if (sender == null || !sender.IsPassive)
         {
             OnCreatureTurnFinished(this);
         }
     }
 }
Пример #6
0
 public void UseSkill(BJCreatureObject target, BJSkill skill)
 {
     skill.UseSkill(this, target);
 }
Пример #7
0
 void CurrentSkill_OnSkillFinished(BJSkill sender)
 {
     FinishTurn(sender);
 }