Beispiel #1
0
    public void rightClick(Vector2 position)
    {
        Ray ray = mainCamera.ScreenPointToRay(position);

        RaycastHit[] hits = Physics.RaycastAll(ray, 200);
        for (int i = hits.Length - 1; i >= 0; i--)
        {
            RaycastHit item = hits[i];

            //如果是敌方单位 则进行普通攻击
            if (item.transform.gameObject.layer == LayerMask.NameToLayer("enemy"))
            {
                PlayerCon con = item.transform.GetComponent <PlayerCon>();
                if (Vector3.Distance(myHero.transform.position, item.transform.position) < con.data.aRange)
                {
                    //记住扩展 如果需要实现分裂攻击 消息体改为 范围内敌人ID数组
                    this.WriteMessage(Protocol.TYPE_FIGHT, 0, FightProtocol.ATTACK_CREQ, con.data.id);
                    return;
                }
                continue;
            }
            //己方单位无视
            //如果是地板层 则开始寻路
            if (item.transform.gameObject.layer == LayerMask.NameToLayer("Water"))
            {
                MoveDTO dto = new MoveDTO();
                dto.x = item.point.x;
                dto.y = item.point.y;
                dto.z = item.point.z;
                this.WriteMessage(Protocol.TYPE_FIGHT, 0, FightProtocol.MOVE_CREQ, dto);
                return;
            }
        }
    }
Beispiel #2
0
 void Start()
 {
     enemy       = GameObject.FindGameObjectsWithTag("Enemy")[0].GetComponent <Enemy>();
     Player      = PlayerCon.player;
     parryStates = new int[] { 1, 0 };
     gen         = new System.Random();
 }
Beispiel #3
0
    private void atk(AttackDTO dto)
    {
        PlayerCon obj    = models[dto.userId];
        PlayerCon target = models[dto.target];

        obj.GetComponent <PlayerCon>().attack(new Transform[] { target.transform });
    }
Beispiel #4
0
 private void damage(DamageDTO value)
 {
     foreach (int[] item in value.target)
     {
         PlayerCon pc = models[item[0]];
         pc.data.hp -= item[1];
         //实例化掉血数字
         FightScene.instance.NumUp(pc.transform, item[1].ToString());
         pc.HpChange();
         if (pc.data.id == GameData.User.id)
         {
             FightScene.instance.refreshView(pc.data);
         }
         if (item[2] == 0)
         {
             if (item[0] >= 0)
             {
                 pc.gameObject.SetActive(false);
                 if (pc.data.id == GameData.User.id)
                 {
                     FightScene.instance.dead = true;
                 }
             }
             else
             {
                 Destroy(pc.gameObject);
             }
         }
     }
 }
Beispiel #5
0
    // Use this for initialization
    void Start()
    {
        PC = GameObject.FindGameObjectWithTag("Player").GetComponent <PlayerCon>();
        EC = GameObject.FindGameObjectWithTag("Enemy").GetComponent <EnemyCon>();

        EnemiesinBattle.AddRange(GameObject.FindGameObjectsWithTag("Enemy"));
    }
Beispiel #6
0
    public void attack(AttackDTO dto)
    {
        PlayerCon obj    = models[dto.userID];
        PlayerCon target = models[dto.targetID];

        obj.attack(new Transform[] { target.transform });
    }
    public void updateroom(SocketIOEvent obj)
    {
        Debug.Log("update Room : " + obj.data);
        Player load = JsonUtility.FromJson <Player>(obj.data.ToString());

        player        = Instantiate(playerCon, content) as PlayerCon;
        player.player = load;
        play.Add(load);
        Debug.Log("Play has " + play.Count);
    }
Beispiel #8
0
    private void OnTriggerEnter2D(Collider2D hitInfo)
    {
        PlayerCon player = hitInfo.GetComponent <PlayerCon>();

        if (player != null)
        {
            player.TakeDamage(damage);
        }
        Destroy(gameObject);
    }
Beispiel #9
0
 void Awake()
 {
     if (player == null)
     {
         player = this;
     }
     else if (player != this)
     {
         Destroy(this.gameObject);
     }
 }
Beispiel #10
0
    private void OnTriggerEnter(Collider c)
    {
        PlayerCon con = c.GetComponentInParent <PlayerCon>();

        if (con)
        {
            if (con.data.team != GetComponentInParent <PlayerCon>().data.team)
            {
                list.Add(c.gameObject);
            }
        }
    }
Beispiel #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++;
        }
    }
Beispiel #12
0
    //ボタンによる進行、keycodeではなく


    private void Start()
    {
        _game_system_obj = GameObject.Find("GameSystem");
        _fovangle_obj    = GameObject.Find("MainCamera");
        _playercon_obj   = GameObject.Find("Player");
        _gun_obj         = GameObject.Find("Gun");

        _game_system_sri = _game_system_obj.GetComponent <Game_system>();
        _fovangle_sri    = _fovangle_obj.GetComponent <FovAngleController>();
        _playercon_sri   = _playercon_obj.GetComponent <PlayerCon>();
        _gun_sri         = _gun_obj.GetComponent <Gun>();
        OnPause();
    }
Beispiel #13
0
    public void initView(FightPlayerModel model, PlayerCon 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++;
        }
    }
Beispiel #14
0
    void Start()
    {
        sound  = GameObject.FindObjectOfType <SoundManager>();
        shop   = GameObject.FindObjectOfType <ShopManager>();
        player = GameObject.FindObjectOfType <PlayerCon>();
        Score  = GameObject.Find("Score");
        Fever  = GameObject.Find("GameView");

        Timer = Find.Find_obj(Global.timer);
        Line  = Find.Find_obj(Global.linecount);

        fevergagemax = 50;

        Staminer     = 1;
        timer_switch = true;
    }
    public void loadplayer(SocketIOEvent obj)
    {
        Debug.Log(obj.data);
        Room          load    = JsonUtility.FromJson <Room>(obj.data.ToString());
        List <Player> players = new List <Player>();

        players      = load.players;
        roomPin.text = "GamePin : " + load.roompin;
        roomPin.gameObject.SetActive(true);
        roomName.text = load.roomname;
        roomName.gameObject.SetActive(true);
        roomController.room = load;
        foreach (Player item in load.players)
        {
            Debug.Log(item.name);
            player        = Instantiate(playerCon, content) as PlayerCon;
            player.player = item;
            play.Add(item);
        }
    }
Beispiel #16
0
    /// <summary>
    /// 鼠标右键
    /// </summary>
    /// <param name="position"></param>
    public void leftClick(Vector2 position)
    {
        Ray ray = Camera.main.ScreenPointToRay(position);

        RaycastHit[]     hits   = Physics.RaycastAll(ray, 200);
        List <Transform> list   = new List <Transform>();
        Vector3          tigger = Vector3.zero;

        for (int i = hits.Length - 1; i >= 0; i--)
        {
            RaycastHit item = hits[i];
            if (item.transform.gameObject.layer == LayerMask.NameToLayer("enemy"))//点击的是enenmy
            {
                PlayerCon con = item.transform.GetComponent <PlayerCon>();
                if (fight == null)
                {
                    return;
                }
                //CursorManager._instance.setAttack();
                if (Vector3.Distance(myHero.transform.position, item.transform.position) < con.data.aRange)
                {
                    //进行攻击
                    fight.applyAttack(con.data.id);
                }
                else
                {
                }
                tigger = item.point;
            }
            list.Add(item.transform);
            if (skill == -1)
            {
            }
        }
        if (skill != -1)
        {
            //技能攻击
            myHero.baseSkill(skill, list.ToArray(), tigger);
        }
        skill = -1;
    }
Beispiel #17
0
    public void damage(DamageDTO value)
    {
        foreach (int[] item in value.target)
        {
            PlayerCon pc = models[item[0]];
            pc.data.hp -= item[1];
            //掉血效果
            Debug.Log("受到伤害掉血");
            //更新ui
            gohpDic[pc.data.id].GetComponent <HpBar>().refesh(pc.data);
            if (pc.data.id == GameData.user.id)
            {
                //如果是自己受到伤害
            }
            if (item[2] == 0)//hp没有了
            {
                if (item[0] >= 0)
                {
                    //pc.gameObject.SetActive(false);
                    //gohpDic[pc.data.id].SetActive(false);

                    //models.Remove(pc.data.id);//将该英雄从列表中移除
                    pc.death();
                    //血条处理
                    Destroy(gohpDic[pc.data.id]);
                    gohpDic.Remove(pc.data.id);
                    //gohpDic.Remove();
                    if (pc.data.id == GameData.user.id)
                    {
                        //s设置-->死亡
                        deathMask.gameObject.SetActive(true);
                    }
                }
                else
                {
                    Destroy(pc.gameObject);
                }
            }
        }
    }
Beispiel #18
0
 //private void Awake()
 //{
 //    player = GetComponent<PlayerCon>();
 //    rank = GetComponent<Rank>();
 //    camv = Camera.main.GetComponent<Camer_Follow>();
 //}
 void Start()
 {
     Debug.Log("Run");
     if (!isLocalPlayer)
     {
         Debug.Log("Run1");
         player             = GetComponent <PlayerCon>();
         player.Name_Player = Name_Player;
         rank   = GetComponent <Rank>();
         MapPos = GameObject.Find("Pos");
         x      = Instantiate(MapSlider, new Vector3(0, MapPos.transform.position.y, MapPos.transform.position.z), MapPos.transform.rotation) as Slider;
         x.transform.SetParent(GameObject.FindGameObjectWithTag("MainCanvas").transform, false);
         rank.SetGetFinishPoint = x.GetComponent <Slider>();
         player.enabled         = false;
     }
     else if (isLocalPlayer)
     {
         Debug.Log("Run2");
         Debug.Log(ultimatebar);
         //Camer_Follow camv = Camera.main.GetComponent<Camer_Follow>();
         //camv.SetGetPlayer = this.gameObject;
         Camer_Follow.player = this.gameObject;
         ultimatebar         = GameObject.FindGameObjectWithTag("UltimateBar");
         Debug.Log(ultimatebar);
         staminabar = GameObject.FindGameObjectWithTag("StaminaBar");
         Debug.Log(finishbar);
         finishbar = GameObject.FindGameObjectWithTag("FinishBar");
         CountTime = GameObject.Find("CountTime").GetComponent <Text>();
         Debug.Log(CountTime);
         rank   = GetComponent <Rank>();
         player = GetComponent <PlayerCon>();
         player.SetGetStamina      = staminabar.GetComponent <Slider>();
         player.SetGetultimatebar  = ultimatebar.GetComponent <Slider>();
         rank.SetGetFinishPoint    = finishbar.GetComponent <Slider>();
         player.SetGetSpeedText    = GameObject.Find("Speed").GetComponent <Text>();
         player.SetGetContTimetext = CountTime;
         player.Name_Player        = Name_Player;
         Debug.Log("Run3");
     }
 }
Beispiel #19
0
 protected PlayerCon actor; //技能释放者对象
 public void init(PlayerCon actor, float speed, float maxDis)
 {
     this.actor  = actor;
     this.maxDis = maxDis;
     this.speed  = speed;
 }
Beispiel #20
0
 // Start is called before the first frame update
 void Start()
 {
     myRB      = GetComponent <Rigidbody>();
     thePlayer = FindObjectOfType <PlayerCon>();
 }
Beispiel #21
0
 // Start is called before the first frame update
 protected override void Start()
 {
     player = PlayerCon.player;
 }
Beispiel #22
0
 // Start is called before the first frame update
 void Start()
 {
     enemy  = GameObject.FindGameObjectsWithTag("Enemy")[0].GetComponent <Enemy>();
     player = GameObject.FindGameObjectsWithTag("Player")[0].GetComponent <PlayerCon>();
 }
Beispiel #23
0
    private void start(FightRoomModel value)
    {
        room = value;

        int myTeam = -1;

        foreach (AbsFightModel item in value.teamOne)
        {
            if (item.id == GameData.user.id)
            {
                myTeam = item.team;
            }
        }
        if (myTeam == -1)
        {
            foreach (AbsFightModel item in value.teamTwo)
            {
                if (item.id == GameData.user.id)
                {
                    myTeam = item.team;
                }
            }
        }


        foreach (AbsFightModel item in value.teamOne)
        {
            GameObject go;
            if (item.type == ModelType.HUMAN)
            {
                go = (GameObject)Instantiate(Resources.Load <GameObject>("prefab/Player/" + item.code), startPosition.position + new Vector3(Random.Range(0.5f, 1.5f), 0, Random.Range(0.5f, 1.5f)), startPosition.rotation);

                PlayerCon pc = go.GetComponent <PlayerCon>();
                pc.init((FightPlayerModel)item, myTeam);
            }
            else
            {
                go = (GameObject)Instantiate(Resources.Load <GameObject>("prefab/build/1_" + item.code), positions[item.code - 1].position, positions[item.code - 1].rotation);
            }

            this.models.Add(item.id, go);
            if (item.id == GameData.user.id)
            {
                FightScene.instance.initView((FightPlayerModel)item, go);
                FightScene.instance.lookAt();
            }
        }

        foreach (AbsFightModel item in value.teamTwo)
        {
            GameObject go;
            if (item.type == ModelType.HUMAN)
            {
                go = (GameObject)Instantiate(Resources.Load <GameObject>("prefab/Player/" + item.code), startPosition1.position + new Vector3(Random.Range(5, 15), 0, Random.Range(5, 15)), startPosition1.rotation);
                PlayerCon pc = go.GetComponent <PlayerCon>();
                pc.init((FightPlayerModel)item, myTeam);
            }
            else
            {
                go = (GameObject)Instantiate(Resources.Load <GameObject>("prefab/build/2_" + item.code), positions1[item.code - 1].position, positions1[item.code - 1].rotation);
            }

            this.models.Add(item.id, go);
            if (item.id == GameData.user.id)
            {
                FightScene.instance.initView((FightPlayerModel)item, go);
                FightScene.instance.lookAt();
            }
        }
    }
Beispiel #24
0
	public void ply(GameObject pl){
		player = pl.GetComponent<PlayerCon>();

	}
Beispiel #25
0
    public void start(FightRoomModel model)
    {
        int MyTeam = -1;

        foreach (AbsFightModel item in model.teamOne)
        {
            if (item.id == GameData.user.id)
            {
                MyTeam = item.team;
            }
        }
        foreach (AbsFightModel item in model.teamTwo)
        {
            if (item.id == GameData.user.id)
            {
                MyTeam = item.team;
            }
        }
        int team1 = 0;

        foreach (AbsFightModel item in model.teamOne)
        {
            GameObject go = null;
            GameObject hp = null;
            PlayerCon  pc = null;
            if (item.type == ModelType.HUMAN)
            {
                //实例化英雄
                go = LoadPlayer(item.code, teamOnePoints[team1]);
                pc = go.GetComponent <PlayerCon>();
                pc.init((FightPlayerModel)item, MyTeam);
                hp = LoadHP(go, (FightPlayerModel)item);
                gohpDic.Add(item.id, hp);
                if (item.id == GameData.user.id)
                {
                    FightUI._instance.initView((FightPlayerModel)item, go);
                    FightUI._instance.LookAt();
                }
                team1++;
            }
            else if (item.type == ModelType.BUILD)
            {
                //实例化防御塔
                FightBuildModel build = (FightBuildModel)item;
                go = Instantiate(Resources.Load("Prefab/Build/1-" + item.code)) as GameObject;
                go.transform.position = new Vector3(build.defaultVec.x, build.defaultVec.y, build.defaultVec.z);
                pc = go.GetComponent <PlayerCon>();
            }
            this.teamOne.Add(item.id, go);
            this.models.Add(item.id, pc);
        }
        int team2 = 0;

        foreach (AbsFightModel item in model.teamTwo)
        {
            GameObject go;
            PlayerCon  pc;
            GameObject hp = null;
            if (item.type == ModelType.HUMAN)
            {
                //实例化英雄
                go = LoadPlayer(item.code, teamTwoPoints[team2]);
                pc = go.GetComponent <PlayerCon>();
                pc.init((FightPlayerModel)item, MyTeam);
                hp = LoadHP(go, (FightPlayerModel)item);
                gohpDic.Add(item.id, hp);
                if (item.id == GameData.user.id)
                {
                    FightUI._instance.initView((FightPlayerModel)item, go);
                    FightUI._instance.LookAt();
                }
                team2++;
            }
            else
            {
                FightBuildModel build = (FightBuildModel)item;
                go = Instantiate(Resources.Load("Prefab/build/2-" + item.code)) as GameObject;
                go.transform.position = new Vector3(build.defaultVec.x, build.defaultVec.y, build.defaultVec.z);
                pc = go.GetComponent <PlayerCon>();
            }
            this.teamTwo.Add(item.id, go);
            this.models.Add(item.id, pc);
        }
    }
Beispiel #26
0
 void Start()
 {
     pcontroller = GetComponent <PlayerCon>();
 }
Beispiel #27
0
 public void ply(GameObject pl)
 {
     player = pl.GetComponent <PlayerCon>();
 }