public void world_SpawnPlayerList(S2GC_PlayerList spawnList) { foreach (S2GC_PlayerList.PlayerSpawnData p in spawnList.Data) { if (p.PlayerID != Player_Self.PlayerID) { PlayerData_Other newPlayer = GameObject.Instantiate(playerOtherPrefab).GetComponent <PlayerData_Other>(); newPlayer.PlayerID = p.PlayerID; newPlayer.CharacterName = p.CharacterName; newPlayer.gameObject.name = p.CharacterName; newPlayer.gameObject.transform.position = p.Position.V3; newPlayer.gameObject.transform.rotation = Quaternion.Euler(p.Rotation.V3); newPlayer.Level = p.Level; newPlayer.Health = p.HP; newPlayer.maxHealth = p.MaxHP; newPlayer.Energy = p.Energy; newPlayer.maxEnergy = p.MaxEnergy; newPlayer.CharacterGender = p.CharacterGender; newPlayer.CharacterEyeShape = p.CharacterEyeShape; newPlayer.CharacterEyeType = p.CharacterEyeType; newPlayer.CharacterEyeColor = p.CharacterEyeColor.V4; newPlayer.CharacterFrontHair = p.CharacterFrontHair; newPlayer.CharacterBackHair = p.CharacterBackHair; newPlayer.CharacterHairColor = p.CharacterHairColor.V4; newPlayer.Init(e); e.getUI().ui_world_CreatePlayerNameplate(newPlayer); e.getUI().ui_chat_CreateMessage(ChatMSGType.System, "", p.CharacterName + " has joined."); PlayerList.Add(newPlayer); } } }
public void world_SpawnSinglePlayer(S2GC_PlayerSpawn s) { if (s.SpawnData.PlayerID != Player_Self.PlayerID) { PlayerData_Other newPlayer = GameObject.Instantiate(playerOtherPrefab).GetComponent <PlayerData_Other>(); newPlayer.PlayerID = s.SpawnData.PlayerID; newPlayer.CharacterName = s.SpawnData.CharacterName; newPlayer.gameObject.name = s.SpawnData.CharacterName; newPlayer.gameObject.transform.position = s.SpawnData.Position.V3; newPlayer.gameObject.transform.rotation = Quaternion.Euler(s.SpawnData.Rotation.V3); newPlayer.Level = s.SpawnData.Level; newPlayer.Health = s.SpawnData.HP; newPlayer.maxHealth = s.SpawnData.MaxHP; newPlayer.Energy = s.SpawnData.Energy; newPlayer.maxEnergy = s.SpawnData.MaxEnergy; newPlayer.CharacterGender = s.SpawnData.CharacterGender; newPlayer.CharacterEyeShape = s.SpawnData.CharacterEyeShape; newPlayer.CharacterEyeType = s.SpawnData.CharacterEyeType; newPlayer.CharacterEyeColor = s.SpawnData.CharacterEyeColor.V4; newPlayer.CharacterFrontHair = s.SpawnData.CharacterFrontHair; newPlayer.CharacterBackHair = s.SpawnData.CharacterBackHair; newPlayer.CharacterHairColor = s.SpawnData.CharacterHairColor.V4; newPlayer.Init(e); e.getUI().ui_world_CreatePlayerNameplate(newPlayer); e.getUI().ui_chat_CreateMessage(ChatMSGType.System, "", s.SpawnData.CharacterName + " has joined."); PlayerList.Add(newPlayer); } /* * if (spawnInfo.ID == Player_Self.ID) * return; * foreach (PlayerData plr in PlayerList) * { * if (plr.ID == spawnInfo.ID) * return; * } * PlayerData newPlayer = new PlayerData * { * GObject = (GameObject)GameObject.Instantiate(playerOtherPrefab, spawnInfo.position, spawnInfo.rotation) * }; * newPlayer.GObject.name = spawnInfo.name; * newPlayer.Name = spawnInfo.name; * newPlayer.ID = spawnInfo.ID; * newPlayer.GObject.GetComponent<CapsuleCollider>().enabled = true; * //newPlayer.Object.GetComponent<MeshRenderer>().enabled = true; * newPlayer.OPController = newPlayer.GObject.GetComponent<Client_OtherPlayerController>(); * newPlayer.OPController.init(e); * e.getUI().ui_world_CreatePlayerNameplate(newPlayer); * * e.getUI().ui_chat_CreateMessage(ChatMSGType.System, "", spawnInfo.name + " has joined."); * * PlayerList.Add(newPlayer); */ }
public void Create(Client_Engine eng, PlayerData_Other n) { e = eng; isPlayer = true; gameObject.name = n.CharacterName + "_Nameplate"; Vector3 viewPos = Camera.main.WorldToViewportPoint(n.gameObject.transform.position); transform.position = new Vector3((viewPos.x - 0.5f) * Camera.main.pixelWidth, (viewPos.y - 0.5f) * Camera.main.pixelHeight, 0f); playerTarget = n.gameObject; setNameplateName(n.CharacterName); setNameplateColor(3); setNameplateHealthValues(n.Health, n.maxHealth); setNameplateEnergyValues(n.Energy, n.maxEnergy); targetOffset.y = 3.25f; ID = n.PlayerID; }
public static GameObject BuildPlayerModel(PlayerData_Other p) { GameObject Model; if (p.CharacterGender == 0) { Model = GameObject.Instantiate(MaleModel); } else { Model = GameObject.Instantiate(FemaleModel); } GameObject HairF = GameObject.Instantiate(HairFront[p.CharacterFrontHair], Model.transform); GameObject HairB = GameObject.Instantiate(HairBack[p.CharacterBackHair], Model.transform); Material HairM = new Material(HairMaterial); HairM.SetColor("_MainColor", p.CharacterHairColor); HairF.GetComponent <SkinnedMeshRenderer>().material = HairM; HairB.GetComponent <SkinnedMeshRenderer>().material = HairM; Material EyeM = new Material(EyeMaterial); Material EyeBlendM = new Material(EyeBlendMaterial); EyeBlendM.SetTexture("_MainTex", EyeTextures[p.CharacterEyeType]); EyeBlendM.SetTexture("_MaskTex", EyeMaskTextures[p.CharacterEyeType]); EyeBlendM.SetColor("_Color", p.CharacterEyeColor); RenderTexture RendTex = new RenderTexture(512, 512, 32); RendTex.Create(); Graphics.Blit(EyeTextures[p.CharacterEyeType], RendTex, EyeBlendM); EyeM.mainTexture = RendTex; SkinnedMeshRenderer r = Model.transform.GetChild(1).gameObject.GetComponent <SkinnedMeshRenderer>(); Material[] mats = r.sharedMaterials; mats[2] = EyeM; r.sharedMaterials = mats; mesh_AttachHair(Model, HairF, "Hair_F"); mesh_AttachHair(Model, HairB, "Hair_R"); return(Model); }
/*public void ui_lobby_SelectCharacter(int index) * { * lobby_SelectedCharacterIndex = index; * // Change character preview here later on.... * lobby_EnterWorldButton.interactable = true; * lobby_DeleteCharacterButton.interactable = true; * } * * public void ui_lobby_AskDeleteCharacter() * { * if(lobby_SelectedCharacterIndex != -1) * { * e.getNetwork().net_lobbyAskDeleteCharacter(lobby_SelectedCharacterIndex); * } * } * * public void ui_lobby_LogoutToTitle() * { * lobby_CharacterList = null; * e.getNetwork().net_FullClientDisconnect(); * ui_login_Disconnected("Logged out."); * } * * public void ui_lobby_AskWorldEnter() * { * if (lobby_SelectedCharacterIndex != -1) * e.getNetwork().net_lobbyAskWorldConnect(lobby_SelectedCharacterIndex); * }*/ public void ui_world_CreatePlayerNameplate(PlayerData_Other parent) { parent.Nameplate = GameObject.Instantiate(nameplate_Prefab, nameplate_Parent.transform).GetComponent <Nameplate>(); parent.Nameplate.Create(e, parent); }