Skip to content

Commit c4821c7

Browse files
authored
Merge pull request #15 from shnok/dev
charselect walk animation
2 parents 60b01c3 + 20d281d commit c4821c7

File tree

3 files changed

+54
-4
lines changed

3 files changed

+54
-4
lines changed

l2-unity/Assets/Scripts/Game/Character/CharacterSelector.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ public void SetCharacterList(List<CharSelectionInfoPackage> characters) {
5252
public void SpawnCharacterSlot(int id) {
5353
GameObject pawnObject = CharacterCreator.Instance.CreatePawn(_characters[id].CharacterRaceAnimation, _characters[id].PlayerAppearance);
5454
pawnObject.GetComponent<SelectableCharacterEntity>().CharacterInfo = _characters[id];
55+
pawnObject.GetComponent<SelectableCharacterEntity>().WeaponAnim = pawnObject.GetComponent<UserGear>().WeaponAnim;
5556
CharacterCreator.Instance.PlacePawn(pawnObject, _pawnData[id], _characters[id].Name, _container);
5657
_characterGameObjects.Add(pawnObject);
5758
}
@@ -63,10 +64,10 @@ public void SelectCharacter(int slot) {
6364
}
6465

6566
if(_selectedCharacterSlot != -1) {
66-
CharacterCreator.Instance.UpdatePawnPosAndRot(_characterGameObjects[_selectedCharacterSlot], _pawnData[_selectedCharacterSlot]);
67+
_characterGameObjects[_selectedCharacterSlot].GetComponent<SelectableCharacterEntity>().SetDestination(_pawnData[_selectedCharacterSlot]);
6768
}
6869

69-
CharacterCreator.Instance.UpdatePawnPosAndRot(_characterGameObjects[slot], _pawnData[7]);
70+
_characterGameObjects[slot].GetComponent<SelectableCharacterEntity>().SetDestination(_pawnData[7]);
7071

7172
_selectedCharacterSlot = slot;
7273
_selectedCharacter = _characters[slot];

l2-unity/Assets/Scripts/Game/Character/SelectableCharacterEntity.cs

Lines changed: 50 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,56 @@
44

55
public class SelectableCharacterEntity : MonoBehaviour
66
{
7+
[SerializeField] private float _walkSpeed = 1;
8+
[SerializeField] private string _weaponAnim;
9+
[SerializeField] private Vector3 _destination;
10+
[SerializeField] private Vector3 _destEulerAngles;
711
[SerializeField] private CharSelectionInfoPackage _characterInfo;
12+
[SerializeField] private bool _walking = false;
813

9-
public CharSelectionInfoPackage CharacterInfo { get { return _characterInfo; } set { _characterInfo = value; } }
14+
private CharacterController _characterController;
15+
private BaseAnimationController _baseAnimationController;
16+
17+
public CharSelectionInfoPackage CharacterInfo { get { return _characterInfo; } set { _characterInfo = value; } }
18+
19+
public string WeaponAnim { get { return _weaponAnim; } set { _weaponAnim = value; } }
20+
21+
private void Awake() {
22+
_characterController = GetComponent<CharacterController>();
23+
_baseAnimationController = GetComponent<BaseAnimationController>();
24+
_destination = transform.position;
25+
}
26+
27+
private void Update() {
28+
float ditanceToDestination = Vector3.Distance(_destination, transform.position);
29+
if(ditanceToDestination > 0.05f) {
30+
if(!_walking) {
31+
StartWalking();
32+
}
33+
34+
transform.LookAt(new Vector3(_destination.x, transform.position.y, _destination.z));
35+
_characterController.Move(transform.forward.normalized * Time.deltaTime * _walkSpeed);
36+
} else if(_walking) {
37+
StopWalking();
38+
}
39+
}
40+
41+
private void StartWalking() {
42+
_walking = true;
43+
_baseAnimationController.SetBool("wait_" + WeaponAnim, false);
44+
_baseAnimationController.SetBool("walk_" + WeaponAnim, true);
45+
}
46+
47+
private void StopWalking() {
48+
_walking = false;
49+
_baseAnimationController.SetBool("walk_" + WeaponAnim, false);
50+
_baseAnimationController.SetBool("wait_" + WeaponAnim, true);
51+
transform.eulerAngles = _destEulerAngles;
52+
}
53+
54+
public void SetDestination(Logongrp destination) {
55+
Vector3 pawnPosition = new Vector3(destination.X, destination.Y, destination.Z);
56+
_destination = VectorUtils.ConvertPosToUnity(pawnPosition);
57+
_destEulerAngles = new Vector3(0, 360.00f * destination.Yaw / 65536, 0);
58+
}
1059
}

l2-unity/Assets/Scripts/UI/Nameplate/LobbyNameplatesManager.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ private void CreateNameplate(SelectableCharacterEntity entity) {
107107
entity.transform,
108108
"",
109109
"9CE8A9FF",
110-
1f, //height
110+
0.92f, //height
111111
entity.CharacterInfo.Name,
112112
entity.CharacterInfo.Id,
113113
true

0 commit comments

Comments
 (0)