Skip to content

Instantly share code, notes, and snippets.

@hyouuu
Created November 1, 2022 20:59
Show Gist options
  • Save hyouuu/46909bd3c3f091db83b49a4d884379f4 to your computer and use it in GitHub Desktop.
Save hyouuu/46909bd3c3f091db83b49a4d884379f4 to your computer and use it in GitHub Desktop.
private void SceneManager_OnClientLoadedStartScenes(NetworkConnection conn, bool asServer)
{
Debug.Log("GameCo SceneManager_OnClientLoadedStartScenes asServer:" + asServer);
if (!asServer)
return;
// NetworkObject nob = _networkManager.GetPooledInstantiated(banPrefab, true);
// NetworkObject nob = conn.FirstObject;
// nob.transform.SetPositionAndRotation(position, rotation);
// _networkManager.ServerManager.Spawn(nob, conn);
//If there are no global scenes
// _networkManager.SceneManager.AddOwnerToDefaultScene(nob);
var banColor = Util.randomColor();
Debug.Log("NetCo OnCreatePlayer 1 clientId:" + conn.ClientId);
NetworkObject ban = newObjFromGearType(Gear.Type.ban);
_networkManager.ServerManager.Spawn(ban, conn);
var playerCo = ban.GetComponent<PlayerCo>();
Gear banGear = new Gear {type = Gear.Type.ban};
banGear.serverSetPrefab(ban.gameObject);
banGear.overrideColor = banColor;
Banban banban = new Banban {name = validPlayerName("test")};
// Banban banban = new Banban {name = validPlayerName(msg.name)};
banban.connectionId = conn.ClientId;
upsertPlayerStat(banban.connectionId, banban.name, null, 0, playerCo);
// banGear needs to be the 1st in gears
banban.gears.Add(banGear);
banbanPlayers.Add(banban);
Debug.Log("Number of banbanPlayers : " + banbanPlayers.Count);
Debug.Log("NetCo OnCreatePlayer 1.5 banbanId:" + banban.id + " ClientId:" + conn.ClientId);
var gun = newObjFromGearType(Gear.Type.gun);
_networkManager.ServerManager.Spawn(gun, conn);
Gear gunGear = new Gear {type = Gear.Type.gun};
gunGear.serverSetPrefab(gun.gameObject);
var shaft = newObjFromGearType(Gear.Type.shaft);
_networkManager.ServerManager.Spawn(shaft, conn);
Gear shaftGear = new Gear {type = Gear.Type.shaft};
shaftGear.serverSetPrefab(shaft.gameObject);
Debug.Log("NetCo OnCreatePlayer 2 ClientId:" + conn.ClientId);
Effect shieldEffect = new Effect {type = Effect.Type.drag, val = 1f};
var backShield = newObjFromGearType(Gear.Type.shield);
_networkManager.ServerManager.Spawn(backShield, conn);
Gear backShieldGear = new Gear {type = Gear.Type.shield};
backShieldGear.serverSetPrefab(backShield.gameObject);
Effect sideShieldEffect = new Effect {type = Effect.Type.angularDrag, val = 2f};
var leftShield = newObjFromGearType(Gear.Type.shield);
_networkManager.ServerManager.Spawn(leftShield, conn);
Gear leftShieldGear = new Gear {type = Gear.Type.shield};
leftShieldGear.serverSetPrefab(leftShield.gameObject);
var rightShield = newObjFromGearType(Gear.Type.shield);
_networkManager.ServerManager.Spawn(rightShield, conn);
Gear rightShieldGear = new Gear {type = Gear.Type.shield};
rightShieldGear.serverSetPrefab(rightShield.gameObject);
Debug.Log("NetCo OnCreatePlayer 3 ClientId:" + conn.ClientId);
banban.joinLink(gunGear, shaftGear, Link.Pos.front, 0.05f);
banban.joinLink(shaftGear, banGear, Link.Pos.top);
banban.joinLink(backShieldGear, banGear, Link.Pos.back);
banban.joinLink(leftShieldGear, banGear, Link.Pos.left);
banban.joinLink(rightShieldGear, banGear, Link.Pos.right);
Debug.Log("NetCo OnCreatePlayer 4 ClientId:" + conn.ClientId);
playerCo.banban = banban;
StartCoroutine(DelayedResetPos(banban));
Debug.Log("NetCo OnCreatePlayer 5 playerCo:" + playerCo + " ClientId:" + conn.ClientId);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment