public void PlayerJoin(long guid, string name) { if (m_allPlayers.ContainsKey(guid)) { HallManager.Instance.Print("Already Exist Player : " + guid); } else { Player player = new Player(); player.level = 1; player.guid = guid; player.name = name; player.radius = 0.5f; player.pos = Vector3.zero; player.dir = Vector3.zero; m_allPlayers.Add(guid, player); } List <Player> playerList = GetPlayerList(); for (int i = playerList.Count - 1; i >= 0; i--) { Player player = playerList[i]; if (player.guid != guid) { SC_PlayerJoinOther snd = new SC_PlayerJoinOther(); snd.guid = player.guid; snd.name = player.name; SessionManager.Instance.SendTo(guid, snd); } } ActiveFoodPosSync(); }
/*----------- Handles -----------*/ void CS_LoginHandle(long guid, CS_Login msg) { SC_PlayerJoin snd = new SC_PlayerJoin(); snd.bornPos = MathHelper.RandomPos(15, 40); snd.bornPos.y = 10; snd.guid = guid; snd.name = msg.name; SessionManager.Instance.SendTo(guid, snd); SC_PlayerJoinOther snd2 = new SC_PlayerJoinOther(); snd2.guid = guid; snd2.name = msg.name; SessionManager.Instance.SendToOthers(guid, snd2); HallManager.Instance.Print(guid + " ---> " + msg.name); EntryManager.Instance.PlayerJoin(guid, msg.name); FrameSyncManager.Instance.FrameAdd(guid, new FrameState(snd.bornPos, Vector3.zero)); }