// Update is called once per frame void Update () { if (Input.GetMouseButtonDown(0)) { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hitinfo; // LayerMask mask = 1 << LayerMask.NameToLayer("GroundLayer"); bool isCollider = Physics.Raycast(ray, out hitinfo); if (isCollider) { if (hitinfo.collider.transform.parent.GetComponent<DBaseFightRole>() != null) { cur_role = hitinfo.collider.transform.parent.GetComponent<DBaseFightRole>(); pname.text = cur_role.name; roleskill = hitinfo.collider.transform.parent.GetComponent<FightRoleSkill>(); }; } } }
public void setSide(int fside,int roleid,Vector3 pos,Vector3 rotate) { side = fside; roledata = new DRoleData(roleid); // GameObject rolemodel = UnityEditor.AssetDatabase.LoadAssetAtPath("Assets/RPG/actors/" + roledata.defaultRoledata.modelUrl + ".prefab",typeof(GameObject)) as GameObject; GameObject rolemodel = ResourceManager.loadAsset<GameObject>("Assets/RPG/actors/" + roledata.defaultRoledata.modelUrl + ".prefab"); roleModel = GameObject.Instantiate(rolemodel) as GameObject; //agent = roleModel.GetComponent<NavMeshAgent>(); roleModel.transform.position = pos; roleModel.transform.parent = transform; //if(fside == 0) // roleModel.tag = Tags.enemy; rolelastpos = pos; roleModel.transform.localEulerAngles = rotate; // roleModel.transform.localScale = new Vector3(8, 8, 8); animatorControl = roleModel.AddComponent<DAnimatorController>(); cc = roleModel.GetComponent<CharacterController>(); bodyRadius = cc.radius; bodyHeight = cc.height; cc.enabled = false; agent = roleModel.AddComponent<NavMeshAgent>(); // obstacle = roleModel.AddComponent<NavMeshObstacle>(); agent.obstacleAvoidanceType = ObstacleAvoidanceType.NoObstacleAvoidance; agent.autoRepath = true; agent.radius = bodyRadius; agent.height = bodyHeight; // obstacle.radius = bodyRadius; // obstacle.carving = true; skillManager = gameObject.AddComponent<FightRoleSkill>(); skillManager.initSkill(roledata.defaultRoledata.skillIdList); followfight = gameObject.AddComponent<FollowFighter>(); hpbarui = gameObject.AddComponent<HpBarControl>(); StartCoroutine(resetModelPos()); }