Exemple #1
0
    public void PlayAnimation(string[] OnceWeaponPos, string[] OnceAnimationNames, PackToFashingEff OnceEffs, string[] LoopWeaponPos, string[] LoopAnimationNames, PackToFashingEff Loopeffs)
    {
        List <AnimationClip> OnecAnimationClips = new List <AnimationClip>();

        if (OnceAnimationNames != null)
        {
            OnceAnimationNames.ApplyAllItem(c => OnecAnimationClips.Add(m_hero.animation.GetClip(c)));
        }

        List <AnimationClip> LoopAnimationClips = new List <AnimationClip>();

        LoopAnimationNames.ApplyAllItem(c => LoopAnimationClips.Add(m_hero.animation.GetClip(c)));

        StopCoroutine("PlayAnimation");
        StopCoroutine("PlayOnceAnimation");
        StopCoroutine("PlayeOnceAni");
        if (OnecAnimationClips.Count > 0)
        {
            StartCoroutine(PlayAnimation(OnceWeaponPos, OnecAnimationClips, OnceEffs, LoopWeaponPos, LoopAnimationClips[0], Loopeffs));
        }
        else
        {
            RoleGenerate.AttachWeapon(this.m_hero, LoopWeaponPos);
            PlayLoopAnimation(LoopAnimationClips[0], Loopeffs);
        }
    }
Exemple #2
0
    IEnumerator PlayOnceAnimation(List <AnimationClip> clips, PackToFashingEff eff)
    {
        StartCoroutine(ShowEffect(eff));
        m_hero.animation.wrapMode = WrapMode.Once;
        int i = 0;

        while (i < clips.Count)
        {
            yield return(StartCoroutine(PlayeOnceAni(clips[i])));

            i++;
        }
    }
Exemple #3
0
    IEnumerator ShowEffect(PackToFashingEff eff)
    {
        if (eff != null && eff.Eff != null)
        {
            SetCildLayer(eff.Eff.transform, 10);
            yield return(new WaitForSeconds(eff.StartTime));

            UI.CreatObjectToNGUI.InstantiateObj(eff.Eff, EffPoint.transform);
        }
        else
        {
            yield return(0);

            EffPoint.transform.ClearChild();
        }
    }
Exemple #4
0
    private static void MakePlayGenerateConfigDataList(string xmlFileName, string sheetName)
    {
        string xmlPath = Path.Combine(EW_RESOURCE_PLAYER_GENERATE_CONFIG_FOLDER, xmlFileName + ".xml");

        TextReader tr   = new StreamReader(xmlPath);
        string     text = tr.ReadToEnd();

        tr.Close();
        tr.Dispose();
        if (string.IsNullOrEmpty(text))
        {
            Debug.LogError("Player generate config file not exist");
            return;
        }
        else
        {
            XmlSpreadSheetReader.ReadSheet(text, sheetName);


            XmlSpreadSheet sheet = XmlSpreadSheetReader.Output;

            string[] keys = XmlSpreadSheetReader.Keys;

            object[] levelIds = sheet[keys[0]];

            List <PlayerGenerateConfigData> tempList = new List <PlayerGenerateConfigData>();

            for (int i = 1; i < levelIds.Length; i++)
            {
                PlayerGenerateConfigData data = new PlayerGenerateConfigData();
                data.PlayerId      = Convert.ToByte(sheet["PlayerId"][i]);
                data.PlayerName    = Convert.ToString(sheet["PlayerName"][i]);
                data.DefaultAvatar = Convert.ToString(sheet["DefaultAvatar"][i]);
                data.DefaultAnim   = Convert.ToString(sheet["DefaultAnim"][i]);
                data.DefaultWeapon = Convert.ToString(sheet["DefaultWeapon"][i]);
                if (!string.IsNullOrEmpty(data.DefaultWeapon))
                {
                    var WeaponPath = Path.Combine(EW_ASSET_PLAYER_WEAPON_FOLDER, data.DefaultWeapon + ".prefab");
                    data.WeaponObj = AssetDatabase.LoadAssetAtPath(WeaponPath, typeof(GameObject)) as GameObject;
                }
                var weaponPositins = Convert.ToString(sheet["WeaponPosition"][i]).Split('+');
                if (weaponPositins.Length > 0)
                {
                    data.WeaponPosition = weaponPositins;
                }
                else
                {
                    data.WeaponPosition = new string[] { Convert.ToString(sheet["WeaponPosition"][i]) };
                }
                var normalSkills = Convert.ToString(sheet["NormalSkillID"][i]).Split('+');
                data.NormalSkillID    = new int[6];
                data.NormalSkillID[0] = Convert.ToInt32(normalSkills[0]); //突击
                data.NormalSkillID[1] = Convert.ToInt32(normalSkills[1]); //突击后的攻击
                data.NormalSkillID[2] = Convert.ToInt32(normalSkills[2]); //以下是修改前的普攻4段
                data.NormalSkillID[3] = Convert.ToInt32(normalSkills[3]);
                data.NormalSkillID[4] = Convert.ToInt32(normalSkills[4]);
                data.NormalSkillID[5] = Convert.ToInt32(normalSkills[5]);
                data.ScrollSkillID    = Convert.ToInt32(normalSkills[4]);
                if (normalSkills.Length >= 9)
                {
                    data.BUFF_SKILLID  = Convert.ToInt32(normalSkills[7]);
                    data.FATAL_SKILLID = Convert.ToInt32(normalSkills[8]);
                }
                if (normalSkills.Length >= 10)
                {
                    data.StandUpSkillID = Convert.ToInt32(normalSkills[9]);
                }
                if (normalSkills.Length >= 12)
                {
                    data.OpeningSkillID_1 = Convert.ToInt32(normalSkills[10]);
                    data.OpeningSkillID_2 = Convert.ToInt32(normalSkills[11]);
                }

                string skillEffectName = Convert.ToString(sheet["SkillEffect"][i]);
                if (skillEffectName == "null")
                {
                    skillEffectName = null;
                }
                if (!string.IsNullOrEmpty(skillEffectName))
                {
                    var effectPath    = Path.Combine(EW_ASSET_PLAYER_SKILLEFFECT_FOLDER, skillEffectName + ".prefab");
                    var skillEffectGo = AssetDatabase.LoadAssetAtPath(effectPath, typeof(GameObject)) as GameObject;
                    data.SkillEffect = skillEffectGo;
                }
                //阴影Prefabs
                data.ShadowEffect = AssetDatabase.LoadAssetAtPath(Path.Combine(EW_ASSET_PLAYER_SKILLEFFECT_FOLDER, "JH_Eff_Scenes_011.prefab"), typeof(GameObject)) as GameObject;
                if (sheetName == "Battle")
                {
                    var normalBackAttackSkills = Convert.ToString(sheet["BackAttack"][i]).Split('+'); //普通攻击,边退边攻击
                    data.NormalBackAttackSkillID    = new int[6];
                    data.NormalBackAttackSkillID[0] = Convert.ToInt32(normalBackAttackSkills[0]);     //突击
                    data.NormalBackAttackSkillID[1] = Convert.ToInt32(normalBackAttackSkills[1]);     //突击后的攻击
                    data.NormalBackAttackSkillID[2] = Convert.ToInt32(normalBackAttackSkills[2]);     //以下是修改前的普攻4段
                    data.NormalBackAttackSkillID[3] = Convert.ToInt32(normalBackAttackSkills[3]);
                    data.NormalBackAttackSkillID[4] = Convert.ToInt32(normalBackAttackSkills[4]);
                    data.NormalBackAttackSkillID[5] = Convert.ToInt32(normalBackAttackSkills[5]);

                    string runEffectStr = Convert.ToString(sheet["RunEffect"][i]);
                    data.RunEffect = AssetDatabase.LoadAssetAtPath(Path.Combine("Assets", runEffectStr + ".prefab"), typeof(GameObject)) as GameObject;
                }


                var animations = Convert.ToString(sheet["Animations"][i]).Split('+');
                if (animations.Length > 0)
                {
                    data.Animations = animations;
                }
                else
                {
                    data.Animations = new string[] { Convert.ToString(sheet["Animations"][i]) };
                }
                if (sheetName == "UI")
                {
                    data.ItemAniIdle         = Convert.ToString(sheet["Item_Ani_Idle"][i]);
                    data.ItemAniChange       = Convert.ToString(sheet["Item_Ani_Change"][i]).Split('|');
                    data.Item_WeaponPosition = Convert.ToString(sheet["Item_WeaponPosition"][i]).Split('+');

                    string[] charPosStr = Convert.ToString(sheet["Avatar_CharPos"][i]).Split('+');
                    data.Avatar_CharPos   = new Vector3(float.Parse(charPosStr[1]), float.Parse(charPosStr[2]), float.Parse(charPosStr[3]));
                    data.Avatar_WeaponPos = Convert.ToString(sheet["Avatar_WeaponPos"][i]).Split('+');
                    data.Avatar_Ani       = Convert.ToString(sheet["Avatar_Ani"][i]).Split('|');
//                    data.RoleUI_ItemToAvatar_Ani=Convert.ToString(sheet["ItemToAvatar_Ani"][i]).Split('|');
//                    data.RoleUI_AvatarToItem_Ani=Convert.ToString(sheet["AvatarToItem_Ani"][i]).Split('|');
                    data.Item_InAni = Convert.ToString(sheet["Item_InAni"][i]).Split('|');

                    string[] Item_InEf = Convert.ToString(sheet["Item_InEff"][i]).Split('|');
                    List <PackToFashingEff> Item_InEfs = new List <PackToFashingEff>();
                    foreach (var item in Item_InEf)
                    {
                        PackToFashingEff eff           = new PackToFashingEff();
                        string           ItemInEffPath = Path.Combine(EW_ASSET_PLAYER_SKILLEFFECT_FOLDER, item.Split('+')[0] + ".prefab");
                        eff.Eff       = AssetDatabase.LoadAssetAtPath(ItemInEffPath, typeof(GameObject)) as GameObject;
                        eff.StartTime = Convert.ToSingle(item.Split('+')[1]);
                        Item_InEfs.Add(eff);
                    }
                    data.Item_InEff = Item_InEfs.ToArray();

                    data.Item_OutAni = Convert.ToString(sheet["Item_OutAni"][i]).Split('|');

                    string[] Item_OutEff = Convert.ToString(sheet["Item_OutEff"][i]).Split('|');
                    List <PackToFashingEff> Item_OutEffs = new List <PackToFashingEff>();
                    foreach (var item in Item_OutEff)
                    {
                        PackToFashingEff eff           = new PackToFashingEff();
                        string           ItemInEffPath = Path.Combine(EW_ASSET_PLAYER_SKILLEFFECT_FOLDER, item.Split('+')[0] + ".prefab");
                        eff.Eff       = AssetDatabase.LoadAssetAtPath(ItemInEffPath, typeof(GameObject)) as GameObject;
                        eff.StartTime = Convert.ToSingle(item.Split('+')[1]);
                        Item_OutEffs.Add(eff);
                    }
                    data.Item_OutEff = Item_OutEffs.ToArray();

                    data.Avatar_InAni = Convert.ToString(sheet["Avatar_InAni"][i]).Split('|');
                    string[] Avatar_InEff = Convert.ToString(sheet["Avatar_InEff"][i]).Split('|');
                    List <PackToFashingEff> Avatar_InEffs = new List <PackToFashingEff>();
                    foreach (var item in Avatar_InEff)
                    {
                        PackToFashingEff eff           = new PackToFashingEff();
                        string           ItemInEffPath = Path.Combine(EW_ASSET_PLAYER_SKILLEFFECT_FOLDER, item.Split('+')[0] + ".prefab");
                        eff.Eff       = AssetDatabase.LoadAssetAtPath(ItemInEffPath, typeof(GameObject)) as GameObject;
                        eff.StartTime = Convert.ToSingle(item.Split('+')[1]);
                        Avatar_InEffs.Add(eff);
                    }
                    data.Avatar_InEff  = Avatar_InEffs.ToArray();
                    data.Avatar_OutAni = Convert.ToString(sheet["Avatar_OutAni"][i]).Split('|');
                    string[] Avatar_OutEff = Convert.ToString(sheet["Avatar_OutEff"][i]).Split('|');
                    List <PackToFashingEff> Avatar_OutEffs = new List <PackToFashingEff>();
                    foreach (var item in Avatar_OutEff)
                    {
                        PackToFashingEff eff           = new PackToFashingEff();
                        string           ItemInEffPath = Path.Combine(EW_ASSET_PLAYER_SKILLEFFECT_FOLDER, item.Split('+')[0] + ".prefab");
                        eff.Eff       = AssetDatabase.LoadAssetAtPath(ItemInEffPath, typeof(GameObject)) as GameObject;
                        eff.StartTime = Convert.ToSingle(item.Split('+')[1]);
                        Avatar_OutEffs.Add(eff);
                    }
                    data.Avatar_OutEff = Avatar_OutEffs.ToArray();

                    data.Avatar_DefaultAni = Convert.ToString(sheet["Avatar_DefaultAni"][i]).Split('|');
                    string[] camPosStr = Convert.ToString(sheet["Avatar_CameraPos"][i]).Split('+');
                    data.Avatar_CameraPos = new Vector3(float.Parse(camPosStr[1]), float.Parse(camPosStr[2]), float.Parse(camPosStr[3]));
                    string[] camTargerPosStr = Convert.ToString(sheet["Avatar_CameraTargetPos"][i]).Split('+');
                    data.Avatar_CameraTargetPos = new Vector3(float.Parse(camTargerPosStr[1]), float.Parse(camTargerPosStr[2]), float.Parse(camTargerPosStr[3]));

                    string[] roleCharPosStr = Convert.ToString(sheet["RoleUI_CharPos"][i]).Split('+');
                    data.RoleUI_CharPos        = new Vector3(float.Parse(roleCharPosStr[1]), float.Parse(roleCharPosStr[2]), float.Parse(roleCharPosStr[3]));
                    data.RoleUI_WeaponPosition = Convert.ToString(sheet["RoleUI_WeaponPosition"][i]).Split('+');
                    data.RoleUI_Ani_Idle       = Convert.ToString(sheet["RoleUI_Ani_Idle"][i]).Split('|');
                    string[] roleCamPosStr = Convert.ToString(sheet["RoleUI_CameraPos"][i]).Split('+');
                    data.RoleUI_CameraPos = new Vector3(float.Parse(roleCamPosStr[1]), float.Parse(roleCamPosStr[2]), float.Parse(roleCamPosStr[3]));
                    string[] camTargetPosStr = Convert.ToString(sheet["RoleUI_CameraTargetPos"][i]).Split('+');
                    data.RoleUI_CameraTargetPos = new Vector3(float.Parse(camTargetPosStr[1]), float.Parse(camTargetPosStr[2]), float.Parse(camTargetPosStr[3]));

                    data.PVP_Ready   = Convert.ToString(sheet["PVP_Ready"][i]).Split('|');
                    data.PVP_Success = Convert.ToString(sheet["PVP_Success"][i]).Split('|');
                    data.PVP_Fail    = Convert.ToString(sheet["PVP_Fail"][i]).Split('|');

                    data.HitFlyHeight    = Convert.ToSingle(sheet["HitFlyHeight"][i]);
                    data.BeAttackBreakLV = Convert.ToInt32(sheet["BeAttackBreakLV"][i]);
                    data.BeHitFlyBreakLV = Convert.ToInt32(sheet["BeHitFlyBreakLV"][i]);

                    data.Team_WeaponPosition = Convert.ToString(sheet["Team_WeaponPosition"][i]).Split('+');
                    data.Team_Ani_Idle       = Convert.ToString(sheet["Team_Ani_Idle"][i]).Split('+');
                    data.Team_Ani_Join       = Convert.ToString(sheet["Team_Ani_Join"][i]).Split('+');
                }
                tempList.Add(data);
            }
            CreatePlayerGenerateConfigDataBase(tempList, xmlFileName + sheetName);
        }
    }
Exemple #5
0
    private static void MakePlayPvpConfigDataList(string xmlFileName, string sheetName)
    {
        string     path = Path.Combine(RESOURCE_CHARACTER_DATA_FOLDER, xmlFileName + ".xml");
        TextReader tr   = new StreamReader(path);
        string     text = tr.ReadToEnd();

        if (text == null)
        {
            Debug.LogError("Equipment item file not exist");
            return;
        }
        else
        {
            XmlSpreadSheetReader.ReadSheet(text, sheetName);
            XmlSpreadSheet sheet    = XmlSpreadSheetReader.Output;
            string[]       keys     = XmlSpreadSheetReader.Keys;
            object[]       levelIds = sheet[keys[0]];

            List <PlayerPvpConfigData> tempList = new List <PlayerPvpConfigData>();

            for (int i = 2; i < levelIds.Length; i++)
            {
                PlayerPvpConfigData data = new PlayerPvpConfigData();
                //data.m_SzName = Convert.ToString(sheet["szName"][i]);
                //data.m_IEquipmentID = Convert.ToInt32(sheet["lEquimentID"][i]);
                data.PlayerId      = Convert.ToInt32(sheet["PlayerId"][i]);
                data.PlayerName    = Convert.ToString(sheet["PlayerName"][i]);
                data.DefaultAvatar = Convert.ToString(sheet["DefaultAvatar"][i]);
                data.DefaultAnim   = Convert.ToString(sheet["DefaultAnim"][i]);
                data.Animations    = Convert.ToString(sheet["Animations"][i]).Split('+');
                data.In_Ani        = Convert.ToString(sheet["In_Ani"][i]).Split('+');
                data.In_WeaponPos  = Convert.ToString(sheet["In_WeaponPos"][i]).Split('+');
                string inEff = Convert.ToString(sheet["In_Eff"][i]);
                if (inEff != "0")
                {
                    string[]         str = inEff.Split('+');
                    PackToFashingEff eff = new PackToFashingEff();
                    eff.Eff       = (GameObject)Resources.LoadAssetAtPath("Assets/Effects/Prefab/" + str[0] + ".prefab", typeof(GameObject));
                    eff.StartTime = Convert.ToInt32(str[1]);
                    data.In_Eff   = eff;
                }
                data.NotAdapIdle_Ani       = Convert.ToString(sheet["NotAdapIdle_Ani"][i]).Split('+');
                data.NotAdapIdle_WeaponPos = Convert.ToString(sheet["NotAdapIdle_WeaponPos"][i]).Split('+');
                string NotAdapIdle_Eff = Convert.ToString(sheet["NotAdapIdle_Eff"][i]);
                if (NotAdapIdle_Eff != "0")
                {
                    string[]         str = NotAdapIdle_Eff.Split('+');
                    PackToFashingEff eff = new PackToFashingEff();
                    eff.Eff              = (GameObject)Resources.LoadAssetAtPath("Assets/Effects/Prefab/" + str[0] + ".prefab", typeof(GameObject));
                    eff.StartTime        = Convert.ToInt32(str[1]);
                    data.NotAdapIdle_Eff = eff;
                }
                data.AdapStar_Ani       = Convert.ToString(sheet["AdapStar_Ani"][i]).Split('+');
                data.AdapStar_WeaponPos = Convert.ToString(sheet["AdapStar_WeaponPos"][i]).Split('+');
                string AdapStar_Eff = Convert.ToString(sheet["AdapStar_Eff"][i]);
                if (AdapStar_Eff != "0")
                {
                    string[]         str = AdapStar_Eff.Split('+');
                    PackToFashingEff eff = new PackToFashingEff();
                    eff.Eff           = (GameObject)Resources.LoadAssetAtPath("Assets/Effects/Prefab/" + str[0] + ".prefab", typeof(GameObject));
                    eff.StartTime     = Convert.ToInt32(str[1]);
                    data.AdapStar_Eff = eff;
                }
                data.AdapIdle_Ani       = Convert.ToString(sheet["AdapIdle_Ani"][i]).Split('+');
                data.AdapIdle_WeaponPos = Convert.ToString(sheet["AdapIdle_WeaponPos"][i]).Split('+');
                string AdapIdle_Eff = Convert.ToString(sheet["AdapIdle_Eff"][i]);
                if (AdapIdle_Eff != "0")
                {
                    string[]         str = AdapIdle_Eff.Split('+');
                    PackToFashingEff eff = new PackToFashingEff();
                    eff.Eff           = (GameObject)Resources.LoadAssetAtPath("Assets/Effects/Prefab/" + str[0] + ".prefab", typeof(GameObject));
                    eff.StartTime     = Convert.ToInt32(str[1]);
                    data.AdapIdle_Eff = eff;
                }
                data.EnterGroup_Ani       = Convert.ToString(sheet["EnterGroup_Ani"][i]).Split('+');
                data.EnterGroup_WeaponPos = Convert.ToString(sheet["EnterGroup_WeaponPos"][i]).Split('+');
                string EnterGroup_Eff = Convert.ToString(sheet["EnterGroup_Eff"][i]);
                if (EnterGroup_Eff != "0")
                {
                    string[]         str = EnterGroup_Eff.Split('+');
                    PackToFashingEff eff = new PackToFashingEff();
                    eff.Eff             = (GameObject)Resources.LoadAssetAtPath("Assets/Effects/Prefab/" + str[0] + ".prefab", typeof(GameObject));
                    eff.StartTime       = Convert.ToInt32(str[1]);
                    data.EnterGroup_Eff = eff;
                }
                tempList.Add(data);
            }

            CreatePVPConfigDataList(tempList);
        }
    }
Exemple #6
0
 void PlayLoopAnimation(AnimationClip clip, PackToFashingEff eff)
 {
     m_hero.animation.wrapMode = WrapMode.Loop;
     m_hero.animation.CrossFade(clip.name);
     StartCoroutine(ShowEffect(eff));
 }
Exemple #7
0
    IEnumerator  PlayAnimation(string[] OnceWeaponPos, List <AnimationClip> OnecAnimationClips, PackToFashingEff onceEff, string[] LoopWeaponPos, AnimationClip clip, PackToFashingEff LoopEff)
    {
        RoleGenerate.AttachWeapon(this.m_hero, OnceWeaponPos);
        yield return(null);

        yield return(StartCoroutine(PlayOnceAnimation(OnecAnimationClips, onceEff)));

        RoleGenerate.AttachWeapon(this.m_hero, LoopWeaponPos);
        yield return(null);

        PlayLoopAnimation(clip, LoopEff);
    }