FightPlayerModel create(SelectModel model) { FightPlayerModel player = new FightPlayerModel(); player.id = model.userId; player.heroId = model.heroId; player.name = getUser(model.userId).name; player.exp = 0; player.level = 1; player.free = 1; player.money = 0; player.equs = new int[6]; //TODO 剩余数据 需要脚本载入 HeroDataModel data = HeroData.heroMap[model.heroId]; player.hp = data.hpBase; player.maxHp = data.hpBase; player.atk = data.atkBase; player.def = data.defBase; player.aspeed = data.aspeed; player.speed = data.speed; player.range = data.range; player.skills = initSkill(data.skills); return(player); }
public void init(FightPlayerModel data, int myTeam) { this.data = data; title.init(data, data.team == myTeam); head.material.SetTexture("_MainTex", Resources.Load <Texture>("HeroIcon/" + data.code)); //如果不是己方单位移除遮罩 //是友方单位 移除战争视野处理 if (data.team != myTeam) { mask.SetActive(false); root.SetActive(false); title.gameObject.SetActive(false); gameObject.layer = LayerMask.NameToLayer("enemy"); } else { gameObject.layer = LayerMask.NameToLayer("friend"); Destroy(GetComponentInChildren <Eye>()); } if (data.id < -20) { //进行怪物寻路 } }
private FightPlayerModel Create(SelectModel model, int team) { FightPlayerModel player = new FightPlayerModel(); player.Id = model.UserID; player.Code = model.Hero; player.Name = GetUser(model.UserID).Name; player.Exp = 0; player.Level = 1; player.FreePoint = 1; player.Mongy = 0; player.Type = ModelType.HUMAN; //从配置表里取出对应的英雄数据,然后计算 HeroDataModel data = HeroData.heroMap[model.Hero]; player.Hp = data.HpBase; player.HpMax = data.HpBase; player.Atk = data.AtkBase; player.Def = data.DefBase; player.MoveSpeed = data.MoveSpeed; player.AtkSpeed = data.AtkSpeed; player.AtkRange = data.AtkRange; player.EyeRange = data.EyeRange; player.Skills = InitSkill(data.Skills); player.Team = team; player.Equs = new int[3]; return(player); }
/// <summary> /// 创建英雄单位 /// </summary> /// <param name="model"></param> /// <param name="team"></param> /// <returns></returns> FightPlayerModel create(SelectModel model, int team) { FightPlayerModel player = new FightPlayerModel(); player.id = model.userID; player.code = model.hero; player.type = ModelType.HUMAN; player.name = getUserName(model.userID); player.exp = 0; player.level = 1; player.free = 1; player.money = 0; player.team = team; //从配置表里 去出对应的英雄数据 HeroDataModel data = HeroData.heroMap[model.hero]; player.hp = data.hpBase; player.maxHp = data.hpBase; player.atk = data.atkBase; player.def = data.defBase; player.aSpeed = data.aSpeed; player.speed = data.speed; player.aRange = data.range; player.eyeRange = data.eyeRange; player.skills = initSkill(data.skills); player.equs = new int[3]; return(player); }
public void init(FightPlayerModel model, bool friend) { hp.Value = model.hp / model.maxHp; nameText.text = model.name; if (friend) { sr.color = new Color(255, 255, 255, 100); } }
public void Init(FightPlayerModel model, bool isFriend) { hp.Value = model.Hp / (float)model.HpMax; name.text = model.Name; if (isFriend) { sr.color = new Color(255, 255, 255, 100); } }
//加载heroHP GameObject LoadHP(GameObject go, FightPlayerModel player) { GameObject hp = Instantiate(Resources.Load("Prefab/HpBar")) as GameObject; hp.transform.parent = HP; HpBar hpBar = hp.GetComponent <HpBar>(); hpBar.SetTaget(go.transform.Find("headhp")); hpBar.refesh(player); return(hp); }
public void init(FightPlayerModel data, int myTeam) { this.data = data; if (data.team != myTeam) { gameObject.layer = LayerMask.NameToLayer("enemy"); } else { gameObject.layer = LayerMask.NameToLayer("friend"); } }
public void init(FightPlayerModel model, bool friend) { hp.Value = model.hp / model.maxHp; nameText.text = model.name; if (friend) { sr.color = Color.blue; } else { sr.color = Color.red; } }
//刷新角色头顶 public void refesh(FightPlayerModel model) { nameTex.text = model.name; this.GetComponent <Slider>().value = (float)model.hp / model.maxHp; if (model.id == GameData.user.id) { hp.color = Color.green; } else { hp.color = Color.red; } }
/// <summary> /// 初始化本英雄面版 /// </summary> /// <param name="model"></param> public void initView(FightPlayerModel model, GameObject go) { myHero = go.GetComponent <PlayerCon>(); headIcon.sprite = Resources.Load <Sprite>("HeroIcon/" + model.code); LvTex.text = model.level.ToString(); int i = 0; foreach (FightSkill item in model.skills) { skills[i].init(item); i++; } }
/// <summary> /// 初始化显示 /// </summary> /// <param name="model"></param> public void InitView(FightPlayerModel model, GameObject hero) { this.hero = hero; HeadIcon.sprite = Resources.Load <Sprite>("HeroIcon/" + model.Code); HpSlider.value = model.Hp / (float)model.HpMax; Name.text = HeroData.heroMap[model.Code].Name; Level.text = model.Level.ToString(); for (int i = 0; i < model.Skills.Length; i++) { skills[i].Init(model.Skills[i]); } }
public void sceneLefttClick(Vector2 position) { Debug.Log("zou键点击屏幕" + position); Ray ray = Camera.main.ScreenPointToRay(position); RaycastHit[] hits = Physics.RaycastAll(ray, 300); for (int i = hits.Length - 1; i >= 0; i--) { RaycastHit hit = hits[i]; if (hit.collider.CompareTag(Tags.TerrianLayer)) { if (PlayerCon.SelfPlayer.myState == Constans.PlayerState.MOVING || PlayerCon.SelfPlayer.myState == Constans.PlayerState.DEAD) { return; } GridView gv = hit.collider.GetComponent <GridView>(); if (gv && gv.GridModel.state == Constans.GridState.EMPTY) { MoveDTO m = new MoveDTO(); m.x = gv.GridModel.col; m.y = 1; m.z = gv.GridModel.row; NetWorkScript.Instance.write(Protocol.TYPE_FIGHT, 0, FightProtocol.MOVE_CREQ, m); PlayerCon.SelfPlayer.ReadyMove(); return; } } if ((hit.collider.tag == "enemyHero" || hit.collider.tag == "enemysoldier" || hit.collider.tag == "neutral") && hit.collider.gameObject.layer == LayerMask.NameToLayer("visible")) { FightPlayerModel m = hit.transform.gameObject.GetComponent <PlayerCon>().Data; if (Vector3.Distance(myHero.transform.position, hit.transform.position) <= player.range) { NetWorkScript.Instance.write(Protocol.TYPE_FIGHT, 0, FightProtocol.ATTACK_CREQ, new int[] { m.id }); return; } } if (hit.transform.gameObject.layer == LayerMask.NameToLayer("Water")) { MoveDTO m = new MoveDTO(); m.x = hit.point.x; m.y = hit.point.y; m.z = hit.point.z; NetWorkScript.Instance.write(Protocol.TYPE_FIGHT, 0, FightProtocol.MOVE_CREQ, m); return; } } }
public void initView(FightPlayerModel model, GameObject hero) { myHero = hero; head.sprite = Resources.Load <Sprite>("HeroIcon/" + model.code); hpSlider.value = model.hp / model.maxHp; nameText.text = HeroData.heroMap[model.code].name; levelText.text = model.level.ToString(); int i = 0; foreach (FightSkill item in model.skills) { skills[i].init(item); i++; } }
private void addHero(int team, FightPlayerModel model) { GameObject o; if (team == 1) { o = (GameObject)Instantiate(ResourceLoad.getHeroModel(model.heroId), GameData.teamOneStart, Quaternion.identity); } else { o = (GameObject)Instantiate(ResourceLoad.getHeroModel(model.heroId), GameData.teamTwoStart, Quaternion.identity); } IHero pc = o.GetComponent <PlayerComponent>().con; pc.setData(model); //todo set hpbar, case now, we use gui statebar for quick start //GameObject hp = Instantiate<GameObject>(ResourceLoad.getBar()); //pc.setHp(hp, scene.par); if (scene.myTeam == team) { //o.layer = LayerMask.NameToLayer("visible"); //hp.GetComponent<HpProcess>().setColorAndName(Color.green, model.name); //Destroy(o.GetComponent<EnemyEye>()); pc.setTag(Tags.FriendHero); if (model.id == GameData.user.id) { FightScene.player = model; scene.myHero = o; //todo set head portrait //scene.myHead.sprite = ResourceLoad.getHead(model.heroId.ToString()); scene.initUI(); //scene.cameraReset(); //scene.InitFollowCamera(o); } } else { //o.layer = LayerMask.NameToLayer("disible"); pc.setTag(Tags.EnemyHero); //hp.GetComponent<HpProcess>().setColorAndName(Color.red, model.name); } Debug.Log(model.id); heros.Add(model.id, o); }
public void Init(FightPlayerModel data, int myTeam) { bool isFriend = data.Team == myTeam; this.data = data; headSlider.Init(data, isFriend); head.material.SetTexture("_MainTex", Resources.Load <Texture>("HeroIcon/" + data.Code)); //如果不是己方单位,移出遮罩 //是己方单位,移出视野脚本 if (!isFriend) { gameObject.layer = LayerMask.NameToLayer("Enemy"); mask.SetActive(false); } else { gameObject.layer = LayerMask.NameToLayer("Friend"); Destroy(GetComponent <Eye>()); } }
/// <summary> /// 向当前战斗场景中添加一个英雄 /// </summary> /// <param name="teamId">英雄所属的队伍ID</param> /// <param name="model">英雄的数据</param> private void addHero(int teamId, FightPlayerModel model) { string assetName = "assets/dynamicresources/characters/hero" + model.heroId + ".prefab"; Debug.Log(assetName); GameObject o = FightUnitMgr.Instance.NewGameObject(model.id, assetName, model.name + model.id, false); FightUnit fu = o.GetComponent <FightUnit>(); bool isMyTeam = (PlayerController.Instance.MyTeamId == teamId); fu.Initial(teamId, model, isMyTeam); if (model.id == GameData.user.id) { PlayerController.Instance.Player = model; LuaScriptMgr.Instance.CallLuaFunction("initPlayerFightUI", model); //设置玩家界面 CameraMgr.Instance.FocusMainCameraToPlayer(o.transform); //摄像机对准角色 PlayerBehaviourFacade.Instance.UpdateControlUnit(fu); } }
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"); } }
public void refreshView(FightPlayerModel model) { hpSlider.value = model.hp / model.maxHp; levelText.text = model.level.ToString(); }
/// <summary> /// 设置战斗单位的数据 /// </summary> /// <param name="model"></param> public void setData(FightPlayerModel model) { this.fightModel = model; }
internal void RefreshView(FightPlayerModel fightPlayerModel) { HpSlider.value = fightPlayerModel.Hp / (float)fightPlayerModel.HpMax; Level.text = fightPlayerModel.Level.ToString(); }