Exemplo n.º 1
0
        public static string GetActionSection(IEnumerable <object> attributes)
        {
            ActionSection attribute = CustomAttributeHelpers.GetAttribute <ActionSection>(attributes);

            if (attribute == null)
            {
                return(null);
            }
            return(attribute.get_Section());
        }
Exemplo n.º 2
0
        /**
         * @brief 提取数据
         *
         * @param node
         *
         * @return
         */
        public bool CollectDataFromDBC(DBC_Row node)
        {
            ActionId        = DBCUtil.ExtractNumeric <int>(node, "Id", 0, true);
            ActionLogicId   = DBCUtil.ExtractNumeric <int>(node, "LogicId", 0, true);
            BreakLevel      = DBCUtil.ExtractNumeric <int>(node, "BreakLevel", 0, true);
            CallbackSection = DBCUtil.ExtractNumeric <int>(node, "CallbackSection", 0, true);
            CallbackPoint   = DBCUtil.ExtractNumeric <float>(node, "CallbackPoint", 0, true);
            SectionNumber   = DBCUtil.ExtractNumeric <int>(node, "SectionNum", 0, true);

            EffectNum = DBCUtil.ExtractNumeric <int>(node, "EffectNum", 0, true);
            EffectList.Clear();
            for (int i = 0; i < EffectNum; i++)
            {
                string           keySuffix   = i.ToString();
                ActionEffectInfo effect_info = new ActionEffectInfo();
                effect_info.EffectTime       = DBCUtil.ExtractNumeric <float>(node, "EffectTime" + keySuffix, 0, false);
                effect_info.SkeletonNodeName = DBCUtil.ExtractString(node, "SkeletonNodeName" + keySuffix, "", false);
                effect_info.EffectName       = DBCUtil.ExtractString(node, "EffectName" + keySuffix, "", false);
                EffectList.Insert(i, effect_info);
            }

            for (int i = 0; i < SectionNumber; i++)
            {
                string        keySuffix     = i.ToString();
                ActionSection actionSection = new ActionSection();
                actionSection.ActionType  = DBCUtil.ExtractNumeric <int>(node, "ActionType" + keySuffix, -1, true);
                actionSection.WapMode     = DBCUtil.ExtractString(node, "WapMode" + keySuffix, "ONCE", false);
                actionSection.IsUpperBody = DBCUtil.ExtractBool(node, "IsUpperBody" + keySuffix, false, false);
                actionSection.PlaySpeed   = DBCUtil.ExtractNumeric <float>(node, "PlaySpeed" + keySuffix, 1.0f, false);
                actionSection.PlayTime    = DBCUtil.ExtractNumeric <float>(node, "PlayTime" + keySuffix, 0, false);
                actionSection.MoveSpeed   = DBCUtil.ExtractNumeric <float>(node, "MoveSpeed" + keySuffix, 0, false);
                actionSection.MoveTowards = DBCUtil.ExtractNumeric <int>(node, "MoveTowards" + keySuffix, 0, false);
                SectionList.Insert(i, actionSection);
            }

            ParamNum = DBCUtil.ExtractNumeric <int>(node, "ParamNum", 0, false);
            if (ParamNum > 0)
            {
                for (int i = 0; i < ParamNum; ++i)
                {
                    string key = "Param" + i.ToString();
                    ExtraParams.Insert(i, DBCUtil.ExtractString(node, key, "", false));
                }
            }
            return(true);
        }
Exemplo n.º 3
0
    // implement build methods here
    public override void SetFields(string[] fields, GameObject Field)
    {
        Section = Field.AddComponent(typeof(ActionSection)) as ActionSection;

        Section.Action = fields[4];
    }