|
@@ -31,6 +31,8 @@ public class PlazaRoomController
|
|
|
#region Config
|
|
|
|
|
|
public string NickName;
|
|
|
+ public string SerialNumber;
|
|
|
+ public DateTime JoinedTime;
|
|
|
|
|
|
public Player Player;
|
|
|
public Transform NickNameTransform;
|
|
@@ -41,9 +43,11 @@ public class PlazaRoomController
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
- public PlazaRoomPlayer(Player player, string nickname)
|
|
|
+ public PlazaRoomPlayer(Player player, string nickname, string serialNumber, DateTime joinedTime)
|
|
|
{
|
|
|
Player = player;
|
|
|
+ SerialNumber = serialNumber;
|
|
|
+ JoinedTime = joinedTime;
|
|
|
TweenRoots = new List<TweenRoot>();
|
|
|
|
|
|
|
|
@@ -63,6 +67,11 @@ public class PlazaRoomController
|
|
|
NickNameTransform.GetComponent<Text>().text = NickName;
|
|
|
|
|
|
|
|
|
+ if (serialNumber != HttpManager.SerialNumber)
|
|
|
+ {
|
|
|
+ PlazaroomMemberPanel.AddMemberItem(nickname, serialNumber, joinedTime);
|
|
|
+ }
|
|
|
+
|
|
|
MessageBox = ResourceManager.Get(ResourceLabel.MessageBox, Folder.UI, false, ResourceManager.Get(ObjectLabel.W_HudParent), false, ObjType.MessageBox);
|
|
|
MessageLab = MessageBox.GetComponentInChildren<BestfitText>();
|
|
|
MessageLab.VerticalMinSize = MinMessageFontSize;
|
|
@@ -91,6 +100,11 @@ public class PlazaRoomController
|
|
|
ResourceManager.Save(NickNameTransform);
|
|
|
ResourceManager.Save(MessageBox);
|
|
|
|
|
|
+ if (SerialNumber != HttpManager.SerialNumber)
|
|
|
+ {
|
|
|
+ PlazaroomMemberPanel.SaveMemberItem(SerialNumber);
|
|
|
+ }
|
|
|
+
|
|
|
Player.PlayAnim(Player.IdleAnimationName);
|
|
|
Player.DeactiveShadow();
|
|
|
Player.Shadow.SetLZ(0);
|
|
@@ -302,10 +316,14 @@ public class PlazaRoomController
|
|
|
ResourceManager.SetActive(ObjectLabel.X_PlazaRoom, true);
|
|
|
}
|
|
|
|
|
|
+ public bool ExitToVisitFlag;
|
|
|
+ public string VisiteeSerialNumber;
|
|
|
public void ExitPlazaRoom()
|
|
|
{
|
|
|
QuitPlazaRoom();
|
|
|
|
|
|
+ AudioManager.PartyThemeAudio.TweenBacAudio();
|
|
|
+
|
|
|
TweenRoot tweenRoot = ResourceManager.Get(ObjectLabel.V_BlackMask).TweenBacCG();
|
|
|
|
|
|
tweenRoot.AddEventOnetime
|
|
@@ -313,51 +331,33 @@ public class PlazaRoomController
|
|
|
EventType.BackwardFinish,
|
|
|
() =>
|
|
|
{
|
|
|
- ChestManager.RetrieveAllChest();
|
|
|
-
|
|
|
- InPlazaRoom = false;
|
|
|
-
|
|
|
- AudioManager.GardenThemeAudio.TweenForAudio();
|
|
|
-
|
|
|
- PlazaRoomSky.position = SkyOriginPosition;
|
|
|
- PlazaRoomCamera.transform.position = CameraOriginPosition;
|
|
|
-
|
|
|
- ResourceManager.SetActive(ObjectLabel.C_Main2, true);
|
|
|
- ResourceManager.SetActive(ResourceLabel.Garden, true);
|
|
|
- ResourceManager.SetActive(PlazaRoomLabel.PlazaRoom, false);
|
|
|
- ResourceManager.SetActive(ObjectLabel.W_HudParent, false);
|
|
|
- ResourceManager.SetActive(ObjectLabel.X_PlazaRoom, false);
|
|
|
-
|
|
|
- ResourceManager.Get(ObjectLabel.V_BlackMask).TweenForCG();
|
|
|
- ResourceManager.Get(ObjectLabel.B_SignIn0).TweenForCG();
|
|
|
- ResourceManager.Get(ObjectLabel.T_NickName).TweenForCG();
|
|
|
+ ResetScene();
|
|
|
+ }
|
|
|
+ );
|
|
|
|
|
|
- ResourceManager.Get<Text>(ObjectLabel.X_CurrentInfoLab).text = "";
|
|
|
- Transform tra = ResourceManager.Get(ObjectLabel.X_Info);
|
|
|
- while (tra.childCount > 0)
|
|
|
+ if (ExitToVisitFlag)
|
|
|
+ {
|
|
|
+ tweenRoot.AddEventOnetime
|
|
|
+ (
|
|
|
+ EventType.BackwardFinish,
|
|
|
+ () =>
|
|
|
{
|
|
|
- ResourceManager.Save(tra.GetChild(0));
|
|
|
+ ExitToVisitFlag = false;
|
|
|
+ VisitManager.Visit(ConfigSource.SerialNumber, VisiteeSerialNumber);
|
|
|
}
|
|
|
-
|
|
|
- foreach (var kv in UserInstanceDictionary)
|
|
|
+ );
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ tweenRoot.AddEventOnetime
|
|
|
+ (
|
|
|
+ EventType.ForwardFinish,
|
|
|
+ () =>
|
|
|
{
|
|
|
- kv.Value.Save();
|
|
|
+ PlazaRoomManager.OpenJoinRoomPanel();
|
|
|
}
|
|
|
-
|
|
|
- UserInstanceDictionary = new Dictionary<int, PlazaRoomPlayer>();
|
|
|
-
|
|
|
- RobotManager.DeactivateAllRobots(true);
|
|
|
- }
|
|
|
- );
|
|
|
-
|
|
|
- tweenRoot.AddEventOnetime
|
|
|
- (
|
|
|
- EventType.ForwardFinish,
|
|
|
- () =>
|
|
|
- {
|
|
|
- PlazaRoomManager.OpenJoinRoomPanel();
|
|
|
- }
|
|
|
- );
|
|
|
+ );
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
public void QuitPlazaRoom()
|
|
@@ -371,6 +371,52 @@ public class PlazaRoomController
|
|
|
GardenSmartFox.PlazaRoomController.CurrentPlazaRoom = null;
|
|
|
}
|
|
|
|
|
|
+ public void LeavePlazaRoom()
|
|
|
+ {
|
|
|
+ SFSObject arg = new SFSObject();
|
|
|
+ arg.PutInt(SFSLabel.CommandID, PlazaRoomReq.LeaveRoom.GetHashCode());
|
|
|
+ arg.PutInt(SFSLabel.RoomID, SFSManager.GardenSmartFox.PlazaRoomController.CurrentPlazaRoom.Id);
|
|
|
+ SFSManager.GardenSmartFox.AddRequest(arg, RequestType.Immediate);
|
|
|
+ }
|
|
|
+
|
|
|
+ private void ResetScene()
|
|
|
+ {
|
|
|
+ ChestManager.RetrieveAllChest();
|
|
|
+
|
|
|
+ InPlazaRoom = false;
|
|
|
+
|
|
|
+ AudioManager.GardenThemeAudio.TweenForAudio();
|
|
|
+
|
|
|
+ PlazaRoomSky.position = SkyOriginPosition;
|
|
|
+ PlazaRoomCamera.transform.position = CameraOriginPosition;
|
|
|
+
|
|
|
+ ResourceManager.SetActive(ObjectLabel.C_Main2, true);
|
|
|
+ ResourceManager.SetActive(ResourceLabel.Garden, true);
|
|
|
+ ResourceManager.SetActive(PlazaRoomLabel.PlazaRoom, false);
|
|
|
+ ResourceManager.SetActive(ObjectLabel.W_HudParent, false);
|
|
|
+ ResourceManager.SetActive(ObjectLabel.X_PlazaRoom, false);
|
|
|
+
|
|
|
+ ResourceManager.Get(ObjectLabel.V_BlackMask).TweenForCG();
|
|
|
+ ResourceManager.Get(ObjectLabel.B_SignIn0).TweenForCG();
|
|
|
+ ResourceManager.Get(ObjectLabel.T_NickName).TweenForCG();
|
|
|
+
|
|
|
+ ResourceManager.Get<Text>(ObjectLabel.X_CurrentInfoLab).text = "";
|
|
|
+ Transform tra = ResourceManager.Get(ObjectLabel.X_Info);
|
|
|
+ while (tra.childCount > 0)
|
|
|
+ {
|
|
|
+ ResourceManager.Save(tra.GetChild(0));
|
|
|
+ }
|
|
|
+
|
|
|
+ foreach (var kv in UserInstanceDictionary)
|
|
|
+ {
|
|
|
+ kv.Value.Save();
|
|
|
+ }
|
|
|
+
|
|
|
+ UserInstanceDictionary = new Dictionary<int, PlazaRoomPlayer>();
|
|
|
+
|
|
|
+ RobotManager.DeactivateAllRobots(true);
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
public PlazaRoomController(GardenSmartFox gardenSmartFox)
|
|
|
{
|
|
@@ -481,19 +527,13 @@ public class PlazaRoomController
|
|
|
{
|
|
|
if (JoinedPlazaRoom)
|
|
|
{
|
|
|
- OnExitPlazaRoom();
|
|
|
+ ExitPlazaRoom();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
- public void OnExitPlazaRoom()
|
|
|
- {
|
|
|
- AudioManager.PartyThemeAudio.TweenBacAudio();
|
|
|
- ExitPlazaRoom();
|
|
|
- }
|
|
|
-
|
|
|
private float SelfInstanceOffset = 0.001f;
|
|
|
- public void OnJoinPlazaRoom(Room room)
|
|
|
+ public void OnJoinPlazaRoom(Room room, DateTime joinedTime)
|
|
|
{
|
|
|
if (JoinRoomResult == JoinRoomResult.Pending)
|
|
|
{
|
|
@@ -501,7 +541,7 @@ public class PlazaRoomController
|
|
|
|
|
|
PlazaRoom.Initialize();
|
|
|
PlayerDefaultPosition = GetDefaultPosition();
|
|
|
- SelfInstance = InstantiatePlayer(NickNameManager.NickName, PlayerDefaultPosition, PlayerDirection.Left, ConfigManager.GetDressDataIDs(PlayerManager.Player));
|
|
|
+ SelfInstance = InstantiatePlayer(NickNameManager.NickName, HttpManager.SerialNumber, joinedTime, PlayerDefaultPosition, PlayerDirection.Left, ConfigManager.GetDressDataIDs(PlayerManager.Player));
|
|
|
UserInstanceDictionary.Add(SFSManager.GardenSmartFox.User.Id, SelfInstance);
|
|
|
SendInstantiateRequset(-1);
|
|
|
SelfInstance.Player.transform.SetLZ(SelfInstance.Player.transform.localPosition.z - SelfInstanceOffset);
|
|
@@ -646,7 +686,7 @@ public class PlazaRoomController
|
|
|
|
|
|
public void SendInstantiateRequset(int receiverID)
|
|
|
{
|
|
|
- SFSManager.GardenSmartFox.EventManager.PlazaRoomEvent.SendInstantiateRequset(GardenSmartFox.User.Id, ConfigManager.GetDressDataIDs(SelfInstance.Player).ToArray(), SelfInstance.Player.transform.position, SelfInstance.Player.PlayerDirection, NickNameManager.NickName, receiverID);
|
|
|
+ SFSManager.GardenSmartFox.EventManager.PlazaRoomEvent.SendInstantiateRequset(GardenSmartFox.User.Id, ConfigManager.GetDressDataIDs(SelfInstance.Player).ToArray(), HttpManager.SerialNumber, SelfInstance.JoinedTime, SelfInstance.Player.transform.position, SelfInstance.Player.PlayerDirection, NickNameManager.NickName, receiverID);
|
|
|
|
|
|
if (SelfInstance.IsMoving)
|
|
|
{
|
|
@@ -661,7 +701,7 @@ public class PlazaRoomController
|
|
|
|
|
|
|
|
|
private float ShaowLocalZ = 3;
|
|
|
- public PlazaRoomPlayer InstantiatePlayer(string nickName, Vector3 position, PlayerDirection direction, List<int> dressDataIDs)
|
|
|
+ public PlazaRoomPlayer InstantiatePlayer(string nickName, string serialNumber, DateTime joinedTime, Vector3 position, PlayerDirection direction, List<int> dressDataIDs)
|
|
|
{
|
|
|
Transform parent = ResourceManager.Get(PlazaRoomLabel.PlazaRoom, false);
|
|
|
Transform tra = ResourceManager.Get(ResourceLabel.Player, Folder.Scene, false, parent, false, ObjType.Player);
|
|
@@ -690,7 +730,7 @@ public class PlazaRoomController
|
|
|
|
|
|
tra.localScale = PlazaRoomPlayerScale;
|
|
|
|
|
|
- return new PlazaRoomPlayer(player, nickName);
|
|
|
+ return new PlazaRoomPlayer(player, nickName, serialNumber, joinedTime);
|
|
|
}
|
|
|
|
|
|
public PlazaRoomPlayer InstantiatePlayer(ISFSObject parameter)
|
|
@@ -699,8 +739,10 @@ public class PlazaRoomController
|
|
|
Vector3 position = parameter.GetUtfString(InfoLabel.Position.GetHashString()).ToVector();
|
|
|
PlayerDirection direction = (PlayerDirection) parameter.GetInt(InfoLabel.PlayerDirection.GetHashString());
|
|
|
string nickName = parameter.GetUtfString(InfoLabel.NickName.GetHashString());
|
|
|
+ string serialNumber = parameter.GetUtfString(InfoLabel.SerialNumber.GetHashString());
|
|
|
+ DateTime joinedTime = new DateTime(parameter.GetLong(InfoLabel.JoinedTime.GetHashString()));
|
|
|
|
|
|
- PlazaRoomPlayer plazaRoomPlayer = InstantiatePlayer(nickName, position, direction, dressDatas);
|
|
|
+ PlazaRoomPlayer plazaRoomPlayer = InstantiatePlayer(nickName, serialNumber, joinedTime, position, direction, dressDatas);
|
|
|
|
|
|
return plazaRoomPlayer;
|
|
|
}
|