fix: change ships color when spawning
This commit is contained in:
parent
cca4b75827
commit
2879e82429
@ -95,17 +95,7 @@ namespace Managers
|
||||
|
||||
foreach (Player p in players)
|
||||
{
|
||||
GameObject shipObject = Instantiate(p.character.shipPrefab);
|
||||
p.spawnedCharacter = shipObject;
|
||||
shipObject.TryGetComponent(out Ship ship);
|
||||
ship.state = new ShipHandling.ShipState();
|
||||
ship.cameraOperator = MatchCamera.GetComponent<CameraOperator>();
|
||||
shipObject.transform.SetParent(MatchArena.transform, false);
|
||||
shipObject.transform.localPosition =
|
||||
MatchManager.G.ArenaProperties.spawnPositions[p.playerNumber - 1];
|
||||
|
||||
shipObject.transform.localScale = new Vector3();
|
||||
Tween.Scale(shipObject.transform, new Vector3(0.7f, 0.7f, 0.7f), 1f);
|
||||
SpawnCharacter(p, MatchCamera, MatchArena);
|
||||
spawned.Add(p);
|
||||
}
|
||||
return;
|
||||
@ -130,7 +120,9 @@ namespace Managers
|
||||
GameObject shipObject = Instantiate(player.character.shipPrefab);
|
||||
player.spawnedCharacter = shipObject;
|
||||
shipObject.TryGetComponent(out Ship ship);
|
||||
ship.props = player.character;
|
||||
ship.state = new ShipHandling.ShipState();
|
||||
ApplyShipColor(player.character.shipHullColor, ship.bodyMeshRenderer);
|
||||
ship.cameraOperator = MatchCamera.GetComponent<CameraOperator>();
|
||||
shipObject.transform.SetParent(MatchArena.transform, false);
|
||||
shipObject.transform.localPosition =
|
||||
@ -144,6 +136,33 @@ namespace Managers
|
||||
return;
|
||||
}
|
||||
|
||||
public void SpawnCharacter(Player p, GameObject camera, GameObject arena)
|
||||
{
|
||||
Log.Debug($"Spawning ship:{p.character.shipName} for player: {p.playerName}");
|
||||
GameObject shipObject = Instantiate(p.character.shipPrefab);
|
||||
Log.Debug($"Instantiated prefab");
|
||||
p.spawnedCharacter = shipObject;
|
||||
shipObject.TryGetComponent(out Ship ship);
|
||||
ship.props = p.character;
|
||||
ship.state = new ShipHandling.ShipState();
|
||||
ship.cameraOperator = camera.GetComponent<CameraOperator>();
|
||||
ApplyShipColor(p.character.shipHullColor, ship.bodyMeshRenderer);
|
||||
Log.Debug($"Applied ships color");
|
||||
shipObject.transform.SetParent(arena.transform, false);
|
||||
shipObject.transform.localPosition =
|
||||
MatchManager.G.ArenaProperties.spawnPositions[p.playerNumber - 1];
|
||||
|
||||
shipObject.transform.localScale = new Vector3();
|
||||
Log.Debug($"Set ships location");
|
||||
Tween.Scale(shipObject.transform, new Vector3(0.7f, 0.7f, 0.7f), 1f);
|
||||
Log.Debug($"Started ship spawn tween");
|
||||
}
|
||||
|
||||
private void ApplyShipColor(Color color, MeshRenderer renderer)
|
||||
{
|
||||
MaterialPropertyBlock materialPropertyBlock = new();
|
||||
materialPropertyBlock.SetColor("_BaseColor", color);
|
||||
renderer.SetPropertyBlock(materialPropertyBlock);
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user