Ejemplo n.º 1
0
    public void AddSkill(SkillReward reward)
    {
        SkillType st = reward.GetSkillType();

        if (!m_skillMap.ContainsKey(st))
        {
            return;
        }
        SkillData     sd = m_skillMap[st];
        RectTransform rt = Instantiate(sd.sprefab.GetComponent <RectTransform>(), this.transform) as RectTransform;

        rt.sizeDelta = new Vector2(64, 64);
        rt.GetComponent <SkillReward>().enabled = false;
        ParticleSystem spray = rt.Find("Spark").GetComponent <ParticleSystem>();

        spray.Stop();
        m_skillList.Insert(0, rt.gameObject.AddComponent <Skill>());
        updateSkillsPos();
        // 检测更新技能表
        if (sd.sstyle == SkillStyle.Times)
        {
            sd.stimes--;
            m_skillMap[st] = sd;
            if (sd.stimes <= 0)
            {
                m_skillMap.Remove(sd.stype);
            }
        }
        // 添加技能回调
        onAddSkill(sd);
    }
Ejemplo n.º 2
0
 void OnTriggerEnter2D(Collider2D collider)
 {
     if (collider.tag == "Reward")
     {
         Reward reward = collider.GetComponent <Reward>();
         if (reward.enabled)
         {
             SkillReward sr = reward.GetComponent <SkillReward>();
             if (sr != null)
             {
                 reward.PlayDeadAnim(GameManager.Instance.GetSkillTrans(), () => {
                     GameManager.Instance.AddSkill(sr);
                     sr.OnAddSkill();
                 });
             }
             else
             {
                 reward.PlayDeadAnim(GameManager.Instance.GetScoreTrans(), () => {
                     GameManager.Instance.AddScore(reward.GetScore());
                 });
             }
             // 播放音效
             AudioClip clip = Resources.Load <AudioClip>("Sounds/GainReward");
             AudioSource.PlayClipAtPoint(clip, Vector3.zero);
         }
     }
 }
Ejemplo n.º 3
0
    protected override void OnGenerateReward(Reward reward)
    {
        SkillReward sr = reward.GetComponent <SkillReward>();

        sr.SetSkillType(m_curSkillData.Value.stype);
    }
Ejemplo n.º 4
0
 public void AddSkill(SkillReward reward)
 {
     m_skillsInfo.AddSkill(reward);
 }