/// <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); }
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"); } }