예제 #1
0
    public ActorModule()
    {
        this.m_ActorLogicDataDic = new Dictionary <string, ActorLogicData>();
        List <ActorData> actorList      = ConfigCtrller.Instance.Actor.GetActors();
        string           actorUIDPrefix = "actor{0}";
        string           skillUIDPrefix = "skill{0}";
        int actorUIDCounter             = 1;
        int skillUIDCounter             = 1;

        foreach (var actorData in actorList)
        {
            List <SkillLogicDataBase> skillList = new List <SkillLogicDataBase>();
            foreach (var acotrSkillID in actorData.Skills)
            {
                ActorSkillData       actorSkillData    = ConfigCtrller.Instance.Skill.GetActorSkillDataByID(acotrSkillID);
                List <SkillDataBase> skillDataBaseList = new List <SkillDataBase>();
                foreach (var skillID in actorSkillData.SkillIDs)
                {
                    SkillDataBase skillDataBase = ConfigCtrller.Instance.Skill.GetSkillDataBaseByID(skillID);
                    skillDataBaseList.Add(skillDataBase);
                }
                SkillLogicDataBase skillLogicData = null;
                string             skillUID       = string.Format(skillUIDPrefix, skillUIDCounter);
                switch (actorSkillData.SkillType)
                {
                case SkillType.Normal:
                    break;

                case SkillType.First:
                case SkillType.Active:
                    skillLogicData = new ActiveSkillLogicData(skillUID, actorSkillData, skillDataBaseList);
                    break;

                case SkillType.Passive:
                    skillLogicData = new PassiveSkillLogicData(skillUID, actorSkillData, skillDataBaseList);
                    break;

                case SkillType.Trigger:
                    skillLogicData = new TriggerSkillLogicData(skillUID, actorSkillData, skillDataBaseList);
                    break;

                case SkillType.Weather:
                    skillLogicData = new WeatherSkillLogicData(skillUID, actorSkillData, skillDataBaseList);
                    break;

                default:
                    break;
                }
                skillUIDCounter++;
                if (skillLogicData != null)
                {
                    skillList.Add(skillLogicData);
                }
            }
            string         actorUID       = string.Format(actorUIDPrefix, actorUIDCounter++);
            ActorLogicData actorLogicData = new ActorLogicData(actorUID, actorData, skillList);
            this.m_ActorLogicDataDic.Add(actorUID, actorLogicData);
        }
        this.InitBattleArray();
    }
예제 #2
0
    /// <summary>
    /// 初始化
    /// </summary>
    /// <param name="data"></param>
    public void InitEnemy(int id, GridData gridData)
    {
        ActorData actorData = ConfigCtrller.Instance.Actor.GetActorDataByID(id);
        List <SkillLogicDataBase> skillList = new List <SkillLogicDataBase>();

        foreach (var acotrSkillID in actorData.Skills)
        {
            ActorSkillData       actorSkillData    = ConfigCtrller.Instance.Skill.GetActorSkillDataByID(acotrSkillID);
            List <SkillDataBase> skillDataBaseList = new List <SkillDataBase>();
            foreach (var skillID in actorSkillData.SkillIDs)
            {
                SkillDataBase skillDataBase = ConfigCtrller.Instance.Skill.GetSkillDataBaseByID(skillID);
                skillDataBaseList.Add(skillDataBase);
            }
            SkillLogicDataBase skillLogicData = null;
            switch (actorSkillData.SkillType)
            {
            case SkillType.Normal:
                break;

            case SkillType.First:
            case SkillType.Active:
                skillLogicData = new ActiveSkillLogicData(actorSkillData, skillDataBaseList);
                break;

            case SkillType.Passive:
                skillLogicData = new PassiveSkillLogicData(actorSkillData, skillDataBaseList);
                break;

            case SkillType.Trigger:
                skillLogicData = new TriggerSkillLogicData(actorSkillData, skillDataBaseList);
                break;

            case SkillType.Weather:
                skillLogicData = new WeatherSkillLogicData(actorSkillData, skillDataBaseList);
                break;

            default:
                break;
            }
            if (skillLogicData != null)
            {
                skillList.Add(skillLogicData);
            }
        }
        ActorLogicData actorLogicData = new ActorLogicData(actorData, skillList);

        this.Init(actorLogicData);
    }
예제 #3
0
 public override void Init(ActorBevBase actor, SkillLogicDataBase data)
 {
     base.Init(actor, data);
 }
예제 #4
0
 public override void Init(ActorBevBase actor, SkillLogicDataBase data)
 {
     base.Init(actor, data);
 }
예제 #5
0
 public override void Init(ActorBevBase actor, SkillLogicDataBase data)
 {
     base.Init(actor, data);
     this.m_WeatherSkillLogicData = (WeatherSkillLogicData)data;
 }
예제 #6
0
 public override void Init(ActorBevBase actor, SkillLogicDataBase data)
 {
     base.Init(actor, data);
     this.m_WeatherSkillLogicData = (WeatherSkillLogicData)data;
 }
예제 #7
0
 public override void Init(ActorBevBase actor, SkillLogicDataBase logicData, SkillDataBase configData)
 {
     base.Init(actor, logicData, configData);
     this.m_ActiveSkillLogicData = (ActiveSkillLogicData)logicData;
     this.m_ActiveSkillData      = (ActiveSkillData)configData;
 }
예제 #8
0
 public override void Init(ActorBevBase actor, SkillLogicDataBase logicData, SkillDataBase configData)
 {
     base.Init(actor, logicData, configData);
     this.m_ActiveSkillLogicData = (ActiveSkillLogicData)logicData;
     this.m_ActiveSkillData = (ActiveSkillData)configData;
 }
예제 #9
0
 public virtual void Init(ActorBevBase actor, SkillLogicDataBase logicData, SkillDataBase configData)
 {
     this.Actor = actor;
 }
예제 #10
0
 public virtual void Init(ActorBevBase actor, SkillLogicDataBase data)
 {
     this.Actor = actor;
 }
예제 #11
0
 public virtual void Init(ActorBevBase actor, SkillLogicDataBase logicData, SkillDataBase configData)
 {
     this.Actor = actor;
 }
예제 #12
0
 public virtual void Init(ActorBevBase actor, SkillLogicDataBase data)
 {
     this.Actor = actor;
 }