コード例 #1
0
ファイル: FightProp.cs プロジェクト: fdgggy/Adventure
    public bool CalFightProp()
    {
        if (m_owner.EnType == EntityType.Monster)
        {
            int            id      = m_owner.ID;
            MonsterCsvData monster = GameMgr.Instance.m_csvMgr.mMonsterCsv.Lookup(id);
            if (monster == null)
            {
                Debug.LogWarning("FightProp::CalFightProp MonsterCsvData == null ID = " + id);
                return(false);
            }

            SetProp(PropID.MaxHP, monster.curHP);
            SetProp(PropID.HP, monster.curHP);
            SetProp(PropID.MovingSpeedScale, monster.moveSpeed);

            int          skillID = monster.skillID;
            SkillCsvData skill   = GameMgr.Instance.m_csvMgr.mSkillCsv.Lookup(skillID);
            if (skill == null)
            {
                Debug.LogWarning("FightProp::CalFightProp SkillCsvData == null ID = " + id);
                return(false);
            }

            SetProp(PropID.Damage, skill.Damage);
        }
        else if (m_owner.EnType == EntityType.Hero)
        {
        }

        return(true);
    }
コード例 #2
0
ファイル: Monster.cs プロジェクト: fdgggy/Adventure
    public override bool Create(EntityCreateCtx ctx)
    {
        if (base.Create(ctx) == false)
        {
            Debug.LogError("Monster::Create 创建Monster失败 !!!");
            return(false);
        }

        m_csvData = GameMgr.Instance.m_csvMgr.mMonsterCsv.Lookup(ctx.id);

        MoveSpeed = m_csvData.moveSpeed;
        SkillID   = m_csvData.skillID;
        EnType    = EntityType.Monster;

        EntityViewCreateCtx ctxView = new EntityViewCreateCtx();

        ctxView.Owner   = this;
        ctxView.Type    = EntityViewType.Monster;
        ctxView.Name    = "Monster_" + UID.ToString();
        ctxView.ResName = m_csvData.resourceID;

        m_entityView = GameMgr.Instance.m_entityViewMgr.CreateEntityView(ctxView);
        if (m_entityView == null)
        {
            Debug.LogError("Monster::Create Monster failed !!!");
            return(false);
        }
        m_entityView.SetParent(null);
        Position  = ctx.pos;
        Direction = ctx.dir;

        m_Part[(int)EntityPartType.MovePart] = new MovePart();
        if (m_Part[(int)EntityPartType.MovePart].Init(this) == false)
        {
            Debug.LogError("Monster::Create 移动部件初始化失败 !!!");
            return(false);
        }

        m_Part[(int)EntityPartType.SkillPart] = new SkillPart();
        if (m_Part[(int)EntityPartType.SkillPart].Init(this) == false)
        {
            Debug.LogError("Monster::Create 技能部件初始化失败 !!!");
            return(false);
        }

        if (!m_fightProp.Init())
        {
            Debug.LogError("Monster::Create初始化战斗属性失败 !!!");
            return(false);
        }
        return(true);
    }
コード例 #3
0
    public bool OnSchemeLoad(ICsvReader reader)
    {
        int nRowCount = reader.GetRowCount();

        m_MonsterDic.Clear();

        try
        {
            for (int i = 0; i < nRowCount; i++)
            {
                int            j    = 0;
                MonsterCsvData data = new MonsterCsvData();

                reader.GetData(out data.monsterID, i, j++, "Id");
                reader.GetData(out data.monsterName, i, j++, "名字");
                reader.GetData(out data.headID, i, j++, "头像ID");
                reader.GetData(out data.resourceID, i, j++, "资源ID");
                reader.GetData(out data.bornEffID, i, j++, "出生效果ID");
                reader.GetData(out data.dieEffID, i, j++, "死亡效果ID");
                reader.GetData(out data.hitEffID, i, j++, "受击表现效果ID");
                reader.GetData(out data.celeEffID, i, j++, "庆祝效果ID");
                reader.GetData(out data.skillID, i, j++, "技能ID");
                reader.GetData(out data.curHP, i, j++, "血量");
                reader.GetData(out data.curLevel, i, j++, "等级");
                reader.GetData(out data.curType, i, j++, "类型");
                reader.GetData(out data.moveSpeed, i, j++, "速度");

                if (m_MonsterDic.ContainsKey(data.monsterID))
                {
                    Debug.Log("MonsterCsv::OnSchemeLoad 存在相同的资源名称 monsterID=" + data.monsterID);
                    continue;
                }

                m_MonsterDic.Add(data.monsterID, data);
            }
        }
        catch (Exception e)
        {
            Debug.Log("MonsterCsv OnSchemeLoad Load Config error.. msg=" + e.Message);
            return(false);
        }

        return(true);
    }