예제 #1
0
    public void initEnemyController(string heroId)
    {
        _skills       = new List <OneSkill>();
        IsFacingRight = false;
        IsEnemy       = true;
        initEnemy(heroId);
        EnemyProperty.initEnemyBasicProperties();


        //
        OneSkill s = new OneSkill()
        {
            SkillName         = "挠"
            , SkillFunctionID = 0
            , Desc            = "怪物有爪"
        };

        _skills.Add(s);
        OneSkill s1 = new OneSkill()
        {
            SkillName = "双重攻击"
            ,
            SkillFunctionID = 11
            ,
            Desc = "随机攻击两个敌人"
        };

        _skills.Add(s1);

        //
        APC.initActionPanel(_skills, heroId);
        modelOriginLocalPos = unit_model.localPosition;
    }
예제 #2
0
    public void OpenSDP(SkillFunction skill)
    {
        HSkilInfo info   = skill.GetComponent <HSkilInfo>();
        OneSkill  detail = info.HSDetail;

        SkillPanelContent.GetComponent <Image>().color = Color.clear;
        SkillPanelContent.GetChild(0).localScale       = Vector3.zero;
        SkillPanelContent.localScale = Vector3.one;
        SkillDetailsPanel.DOScale(Vector3.one, 0.15f).SetEase(Ease.OutBack);
        //显示当前技能详情
        ShowThisSkillDetails(skill, detail);
    }
예제 #3
0
    public void initHeroSkillListPanel()
    {
        skillSelect.initHeroAllSkills();
        bool flag = false;

        for (int i = 0; i < skillSelect.skillList.Count; i++)
        {
        }
        if (!flag)
        {
            skillSelect.skillList[0].isSelected = true;
            currentSkillId = skillSelect.skillList[0].ItemId;
            currentSkill
                = SDDataManager.Instance.getOwnedSkillById(currentSkillId, heroDetail.Hashcode);
        }
        refreshSkillDetail();
    }
예제 #4
0
    public void ShowThisSkillDetails(SkillFunction skill, OneSkill detail)
    {
        SkillName.text = detail.SkillName + "·Lv " + skill.SkillGrade;
        SkillBaseData.text
            = (skill.CritR != 0 ? string.Format("基础暴击修正 {0:D}", skill.CritR) : "")
              + (skill.AccuracyR != 0?string.Format("·基础精度修正 {0:D}", skill.AccuracyR):"")
              + (skill.ExpectR != 0?string.Format("·基础期望修正 {0:D}", skill.ExpectR):"");
        SkillDesc.text = detail.Desc;

        /*
         * SkillTag.text = CurrentSkill.ThisSkillBreed.ToString()
         + "·" + CurrentSkill.ThisSkillKind.ToString() + "·" + CurrentSkill.ThisSkillTarget.ToString();
         + SkillBaseData.text = (CurrentSkill.AccuracyR != 0 ? "基础精度修正(" + SignedNumber(CurrentSkill.AccuracyR) + "%)·" : "")
         + CurrentSkill.AllTargetResults != null ? DamageFixText(CurrentSkill.AllTargetResults.All_Use_Array[0]) : ""
         + (CurrentSkill.CritR != 0 ? "基础暴击修正(" + SignedNumber(CurrentSkill.CritR) + "%)·" : "");
         */
    }
예제 #5
0
 public void SelectSkill(RTSingleSkillItem skillItem)
 {
     if (currentSkillId == skillItem.ItemId)
     {
         return;
     }
     //
     SSI_Id = skillSelect.skillList.IndexOf(skillItem);
     for (int i = 0; i < skillSelect.skillList.Count; i++)
     {
         skillSelect.skillList[i].isSelected = false;
     }
     skillItem.isSelected = true;
     currentSkillId       = skillItem.ItemId;
     currentSkill         = SDDataManager.Instance.getOwnedSkillById
                                (currentSkillId, heroDetail.Hashcode);
     refreshSkillDetail();
 }
예제 #6
0
    public static OneSkill InitBySkillInfo(skillInfo info)
    {
        if (info == null)
        {
            return(null);
        }
        OneSkill s = new OneSkill()
        {
            skillId = info.ID
            ,
            SkillName = info.name
            ,
            UseAppointedPrefab = info.UseAppointedPrefab,
            SkillFunctionID    = info.FunctionId,
            SkillPrefab        = info.SkillPrefab,
            isOmegaSkill       = info.IsOmegaSkill,
            DataSet            = info.ExtraDataSet,
        };

        return(s);
    }
예제 #7
0
 public void initOneSkillSlot(OneSkill skill)
 {
     if (skill == null)
     {
         emptyPanel.gameObject.SetActive(true);
         return;
     }
     if (skill.lv < 0 || string.IsNullOrEmpty(skill.skillId))
     {
         emptyPanel.gameObject.SetActive(true);
     }
     else
     {
         emptyPanel.gameObject.SetActive(false);
         lv = skill.lv;
         slotAboveText.text = SDGameManager.T("Lv.") + lv;
         Transform skillBtn;;
         if (skill.UseAppointedPrefab)
         {
             skillBtn = skill.SkillPrefab;
         }
         else
         {
             skillBtn = HDP.skillDetailList.AllSkillList[skill.SkillFunctionID];
         }
         skillItemImg.color = skillBtn.GetComponent <Image>().color;
     }
     id      = skill.skillId;
     isOmega = skill.isOmegaSkill;
     if (isOmega)
     {
         skillBgIcon.sprite = SDDataManager.Instance.baseFrameSpriteByRarity(3);
     }
     else
     {
         skillBgIcon.sprite = SDDataManager.Instance.baseFrameSpriteByRarity(1);
     }
 }
예제 #8
0
 public void initSkillItem(OneSkill baseskilldata, int heroHashcode = 0)
 {
     deploy        = SDConstants.deployType.skill;
     ItemId        = baseskilldata.skillId;
     lv            = baseskilldata.lv;
     DownText.text = SDGameManager.T("Lv.") + lv;
     if (heroHashcode > 0)
     {
         OneSkill S = SDDataManager.Instance.getOwnedSkillById
                          (ItemId, heroHashcode);
         isOmega = S.isOmegaSkill;
         if (isOmega)
         {
             itemFrameImg.sprite = SDDataManager.Instance
                                   .baseFrameSpriteByRarity(3);
         }
         else
         {
             itemFrameImg.sprite = SDDataManager.Instance
                                   .baseFrameSpriteByRarity(1);
         }
     }
 }
예제 #9
0
    public void initSkillSlot(int HeroHashcode)
    {
        bool flag = false;

        if (!SDDataManager.Instance.checkHeroEnableSkill1ByHashcode(HeroHashcode))
        {
            if (slotType == skillSlotType.skill1)
            {
                flag = true;
            }
        }
        if (!flag)
        {
            gameObject.SetActive(true);
            GDEHeroData hero    = SDDataManager.Instance.getHeroByHashcode(HeroHashcode);
            HeroInfo    info    = SDDataManager.Instance.getHeroInfoById(id);
            string      skillId = string.Empty;
            if (slotType == skillSlotType.skill0)
            {
                skillId = hero.a_skill0.Id;
            }
            else if (slotType == skillSlotType.skill1)
            {
                skillId = hero.a_skill1.Id;
            }
            else if (slotType == skillSlotType.omegaSkill)
            {
                skillId = hero.a_skillOmega.Id;
            }
            OneSkill skill = SDDataManager.Instance.getOwnedSkillById(skillId, HeroHashcode);
            initOneSkillSlot(skill);
        }
        else
        {
            gameObject.SetActive(false);
        }
    }
예제 #10
0
    public void addSkill(OneSkill skill, Transform trans, string heroId)
    {
        Transform s;

        if (!skill.UseAppointedPrefab)
        {
            if (skill.SkillFunctionID < 0)
            {
                return;
            }
            int index = skill.SkillFunctionID;
            s = Instantiate(SDL.AllSkillList[index]) as Transform;
        }
        else
        {
            s = Instantiate(skill.SkillPrefab) as Transform;
            s.GetComponent <Button>().interactable = true;
            HSExportDmgModifity HSE = s.GetComponent <HSExportDmgModifity>();
            if (HSE)
            {
                HSE.BCPerformDataUsingRA    = skill.DataSet.BCPerformDataUsingRA;
                HSE.PDUsingRA_PerLevel      = skill.DataSet.PDUsingRA_PerLevel;
                HSE.PDUsingRA_PerSkillGrade = skill.DataSet.PDUsingRA_PerSkillGrade;
            }
            SkillFunction sf = s.GetComponent <SkillFunction>();
            if (sf)
            {
                sf.UseState       = skill.DataSet.UseState;
                sf._standardState = skill.DataSet._standardState;
            }
        }

        s.GetComponentInChildren <HSkilInfo>().HSDetail = skill;
        s.SetParent(trans);
        s.GetComponent <RectTransform>().anchoredPosition = Vector2.zero;
        s.localScale = Vector3.one;
        HSkilInfo info = s.GetComponent <HSkilInfo>();

        info.breed = skill.Breed;
        if (skill.Kind != SkillKind.End)
        {
            info.kind = skill.Kind;
        }
        if (skill.SkillAoe != SDConstants.AOEType.End)
        {
            info.AOEType = skill.SkillAoe;
        }
        if (skill.MpTpAddType != SDConstants.AddMpTpType.End)
        {
            info.AfterwardsAddType = skill.MpTpAddType;
        }
        SkillFunction basicSkillController = s.GetComponent <SkillFunction>();

        if (skill.Aim != SkillAim.End)
        {
            basicSkillController.ThisSkillAim = skill.Aim;
        }

        basicSkillController.SkillGrade = skill.lv;
        basicSkillController.IsOmega    = skill.isOmegaSkill;


        if (skill.BulletImg != null && skill.BulletImg != "")
        {
            basicSkillController.bullet.GetComponent <Image>().sprite
                = Resources.Load <Sprite>("Sprites/" + skill.BulletImg);
        }
        //判断是否为稀有角色



        //
        basicSkillController.initIcon();
    }