Ejemplo n.º 1
0
 /// <summary>
 /// 对一个单位造成伤害
 /// </summary>
 /// <param name="value"></param>
 public void damage(int value)
 {
     fightModel.hp -= value;
     if (fightModel.hp < 0)
     {
         fightModel.hp = 0;
         //TODO dead
     }
     if (fightModel.hp > fightModel.maxHp)
     {
         fightModel.hp = fightModel.maxHp;
     }
     fuView.SetHpView((float)fightModel.hp / fightModel.maxHp);
 }
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");
        }
    }