Ejemplo n.º 1
0
    /// <summary>
    /// 为战斗单位创建VIew
    /// </summary>
    /// <param name="unit"></param>
    private void _createFightUnitView(FightUnit unit)
    {
        int resId   = 0;
        int horseId = 0;

        if (!unit.IsMonster)
        {
            Hero chero = JsonMgr.GetSingleton().GetHeroByID(unit.HeroId);
            resId   = chero.resid;
            horseId = chero.horseid;
        }
        else
        {
            Monster chero = JsonMgr.GetSingleton().GetMonsterByID(unit.HeroId);
            resId   = chero.resid;
            horseId = chero.horseid;
        }

        GameObject fighterObj = GameObject.Instantiate(ResourceMgr.Instance.LoadResource(resId) as GameObject);
        GameObject horseObj   = null;

        if (horseId > 0)
        {
            horseObj = GameObject.Instantiate(ResourceMgr.Instance.LoadResource(horseId) as GameObject);
            horseObj.transform.parent        = fighterObj.transform;
            horseObj.transform.localPosition = Vector3.zero;
        }
        FightUnitView fightUnitView = fighterObj.AddComponent <FightUnitView>();

        fightUnitView.unit  = unit;
        fightUnitView.Horse = horseObj;
        fightUnitView.Init(resId);
    }
Ejemplo n.º 2
0
    public void Initial(int teamId, FightPlayerModel model, bool isMyTeam)
    {
        fuFSM = new FightUnitFSM(this.transform);
        anim  = transform.GetComponent <Animator>();
        fuFSM.SwitchState(FightUnitStateIds.Idle, null, null);
        fuView   = GetComponent <FightUnitView>();
        enemyEye = GetComponent <EnemyEye>();
        setData(model);
        fuView.Init();
        fuView.SetHpView(1f);

        if (teamId == 1)
        {
            transform.position = GameData.teamOneStart;
            transform.rotation = Quaternion.identity;
        }
        else
        {
            transform.position = GameData.teamTwoStart;
            transform.rotation = Quaternion.identity;
        }

        if (isMyTeam)
        {
            gameObject.layer = LayerMask.NameToLayer("visible");
            fuView.ViewAsFriend();
            fuView.SetName(model.name);
            setTag("friendHero");
        }
        else
        {
            gameObject.layer = LayerMask.NameToLayer("invisible");
            fuView.ViewAsEnemy();
            fuView.SetName(model.name);
            setTag("enemyHero");
        }
    }