Esempio n. 1
0
 public void MoveDistance(Vector3 vMotion, bool bPhysics)
 {
     if (MoveCom == null)
     {
         Log.Error("MoveCom组件不存在!");
         return;
     }
     MoveCom.MoveDistance(vMotion, bPhysics);
 }
Esempio n. 2
0
 public virtual void End()
 {
     mPlayerIdx      = 0;
     mSkillID        = 0;
     mAttackID       = 0;
     mAttackWorldPos = Vector3.zero;
     mIsEnd          = true;
     mAttackMoveCom  = null;
     mEfxResPath     = "";
 }
Esempio n. 3
0
    MoveCom GetMoveCom()
    {
        MoveCom    moveCom = null;
        BattleUnit unit    = BattleInstance.instance.GetPlayer(mPlayerIdx).GetHeroUnit();

        if (unit == null)
        {
            return(null);
        }

        moveCom = unit.GetCom("MoveCom") as MoveCom;
        return(moveCom);
    }
Esempio n. 4
0
    public override void OnBroadcastEvent(int eventID, int targetObjID, object args = null)
    {
        if (eventID == (int)Const_Util.BATTLE_EVENT.USE_SKILL)
        {
            if (mSkillItem.Count > 0)
            {
                int skillID = 1;//;
//                use skill
                if (moveCom == null)
                {
                    moveCom = GetCom("MoveCom") as MoveCom;
                }
                SkillMgr.instance.BeginSkill(cobj.mPlayerIdx, skillID, cobj.GetObjID());
                // TODO: use skillID
                mSkillItem.Remove(mSkillItem[0]);
            }
        }
    }
Esempio n. 5
0
    public virtual bool Begin(int playerIdx, int skillID, int attackID, string skillTmpName)
    {
        mPlayerIdx         = playerIdx;
        mSkillID           = skillID;
        mAttackID          = attackID;
        mIsEnd             = false;
        mSkillTemplateName = skillTmpName;
        mAttackMoveCom     = GetMoveCom();
        if (mAttackMoveCom == null)
        {
            Debug.LogError("SkillBase mAttackMoveCom == null");
        }
        mEfxResPath = GetEfxResPath();
        if (string.IsNullOrEmpty(mEfxResPath))
        {
            Debug.LogError("SkillBase mEfxResPath IsNullOrEmpty");
        }

        return(true);
    }
Esempio n. 6
0
    BattleUnit SpawnOneUnit(int playerIdx, int carResID, string resPath, Transform hangNode, Vector2 pos, Vector2 speed, int unitType)
    {
        int        objID = 0;
        GameObject obj   = ResMgr.instance.CreateObject(resPath, out objID);

        if (obj == null)
        {
            Debug.LogError("ObjMgr SpawnOneUnit obj == null resPath:" + resPath);
        }
        BattleUnit unitObj = new BattleUnit(playerIdx, objID, resPath, obj, hangNode, pos, speed, unitType);
        // attr com
        AttrCom attrCom = unitObj.GetRenderObjTr().GetComponent <AttrCom>();

        if (attrCom == null)
        {
            attrCom = unitObj.GetRenderObjTr().gameObject.AddComponent <AttrCom>();
        }
        unitObj.AddCom(attrCom);
        attrCom.InitAttr(carResID, unitType);

        // move com
        MoveCom move = unitObj.GetRenderObjTr().GetComponent <MoveCom>();

        if (move == null)
        {
            move = unitObj.GetRenderObjTr().gameObject.AddComponent <MoveCom>();
        }
        unitObj.AddCom(move);
        move.Init(speed);

        // collider com
        ColliderCom collider = unitObj.GetRenderObjTr().GetComponent <ColliderCom>();

        if (collider == null)
        {
            collider = unitObj.GetRenderObjTr().gameObject.AddComponent <ColliderCom>();
        }
        unitObj.AddCom(collider);

        // Scale com
        ScaleCom scaleCom = unitObj.GetRenderObjTr().GetComponent <ScaleCom>();

        if (scaleCom == null)
        {
            scaleCom = unitObj.GetRenderObjTr().gameObject.AddComponent <ScaleCom>();
        }
        unitObj.AddCom(scaleCom);

        // NitrogenCom
        NitrogenCom nitrogenCom = unitObj.GetRenderObjTr().GetComponent <NitrogenCom>();

        if (nitrogenCom == null)
        {
            nitrogenCom = unitObj.GetRenderObjTr().gameObject.AddComponent <NitrogenCom>();
        }
        unitObj.AddCom(nitrogenCom);


        SkillCom skillCom = unitObj.GetRenderObjTr().GetComponent <SkillCom>();

        if (skillCom == null)
        {
            skillCom = unitObj.GetRenderObjTr().gameObject.AddComponent <SkillCom>();
        }
        unitObj.AddCom(skillCom);


        StatusCom statusCom = unitObj.GetRenderObjTr().GetComponent <StatusCom>();

        if (statusCom == null)
        {
            statusCom = unitObj.GetRenderObjTr().gameObject.AddComponent <StatusCom>();
        }
        unitObj.AddCom(statusCom);

        return(unitObj);
    }