コード例 #1
0
ファイル: FightRoom.cs プロジェクト: SirLpc/BoxProject
        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);
        }
コード例 #2
0
    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)
        {
            //进行怪物寻路
        }
    }
コード例 #3
0
ファイル: FightRoom.cs プロジェクト: mengtest/LOLClient
        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);
        }
コード例 #4
0
ファイル: FightRoom.cs プロジェクト: lxq2537664558/LOLServer
        /// <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);
        }
コード例 #5
0
ファイル: PlayerTitile.cs プロジェクト: 963148894/KingGrory
 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);
     }
 }
コード例 #6
0
 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);
     }
 }
コード例 #7
0
    //加载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);
    }
コード例 #8
0
 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");
     }
 }
コード例 #9
0
 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;
     }
 }
コード例 #10
0
ファイル: HpBar.cs プロジェクト: isoundy000/LOLClient
 //刷新角色头顶
 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;
     }
 }
コード例 #11
0
    /// <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++;
        }
    }
コード例 #12
0
        /// <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]);
            }
        }
コード例 #13
0
ファイル: FightScene.cs プロジェクト: SirLpc/BoxProject
    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;
            }
        }
    }
コード例 #14
0
ファイル: FightScene.cs プロジェクト: 963148894/KingGrory
    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++;
        }
    }
コード例 #15
0
ファイル: FightHandler.cs プロジェクト: SirLpc/BoxProject
    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);
    }
コード例 #16
0
        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>());
            }
        }
コード例 #17
0
    /// <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);
        }
    }
コード例 #18
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");
        }
    }
コード例 #19
0
ファイル: FightScene.cs プロジェクト: SunGuangdong/LOL-
 public void refreshView(FightPlayerModel model)
 {
     hpSlider.value = model.hp / model.maxHp;
     levelText.text = model.level.ToString();
 }
コード例 #20
0
 /// <summary>
 /// 设置战斗单位的数据
 /// </summary>
 /// <param name="model"></param>
 public void setData(FightPlayerModel model)
 {
     this.fightModel = model;
 }
コード例 #21
0
 internal void RefreshView(FightPlayerModel fightPlayerModel)
 {
     HpSlider.value = fightPlayerModel.Hp / (float)fightPlayerModel.HpMax;
     Level.text     = fightPlayerModel.Level.ToString();
 }