public override void SetData(Dictionary <string, object> data) { base.SetData(data); Body = Get <string>(data, KEY_BODY); User = DataUser.GetUser(GetDict(data, KEY_USER)); }
void OnDisable() { mNavigation.OnSwitchDone -= OnSwitchPage; ChatManager.OnGetChat -= OnGetChat; DataManager.Me.OnDataUpdate -= OnMyDataUpdated; mCurrentContact = null; }
public static DataUser[] GetUserArray(List <object> data) { DataUser[] result = new DataUser[data.Count]; for (int i = 0; i < data.Count; i++) { result[i] = GetUser(data[i] as Dictionary <string, object>); } return(result); }
private DataUser[] RelationsToContacts(DataRelationship[] relations) { DataUser[] result = new DataUser[relations.Length]; for (int i = 0; i < result.Length; i++) { result[i] = relations[i].Contact; } return(result); }
public void Initialize(ScreenChat screenChat, DataUser contact) { SetState(true); mChat = screenChat; mContact = contact; mNameText.text = contact.UserDetails.FullName; mMessageIndicator.Initialize(contact); mProfileImage.SetDetails(contact.UserDetails); }
public void ChatWith(DataUser contact) { mCurrentContact = contact; GlobalStatus.SetSeenMessages(mCurrentContact.ID); ChatManager.FetchChat(mCurrentContact.ID); mContactPage.Close(); mChatPage.Open(mCurrentContact); mChatPage.Refresh(); UIHeader.Show(mHeaderTag, BackToContacts); }
private void SetOtherContacts(DataUser[] others) { // Clear rows if (mRows != null) { for (int i = 0; i < mRows.Length; i++) { if (mRows[i] != null) { Destroy(mRows[i].gameObject); } } } mRows = new Transform[Mathf.CeilToInt((float)others.Length / BUTTONS_PER_ROW)]; int row = -1; int entryCount = 3; // Create rows for (int i = 0; i < others.Length; i++) { DataUser contact = others[i]; // Fill rows with contacts if (entryCount > 2) { // Row full, create new row and start filling it instead entryCount = 0; row++; Transform newRow = Instantiate(mRowTemplate, mRowTemplate.parent); mRows[row] = newRow; newRow.gameObject.SetActive(true); for (int j = newRow.childCount - 1; j >= 0; j--) { Destroy(newRow.GetChild(j).gameObject); } } else { entryCount++; } Instantiate(mButtonTemplate, mRows[row]).Initialize(mChatScreen, contact); } SetOtherPlaceHolders(mRows.Length * 3 - others.Length); }
/// <summary> If a user with the id does not exist, create it and return the new instance. /// If a user with that id exists, update that user with the new data and return the user instance. </summary> public static DataUser GetUser(Dictionary <string, object> data) { int id = GetInt(data, KEY_ID); if (mUsers.ContainsKey(id)) { DataUser user = mUsers[id]; user.SetData(data); return(user); } DataUser newUser = new DataUser(); newUser.SetData(data); mUsers[id] = newUser; return(newUser); }
public void Open(DataUser contact) { mCurrentContact = contact; SetState(true); mProfileImage.SetDetails(mCurrentContact.UserDetails); mNameText.text = mCurrentContact.UserDetails.FullName; mPhoneText.text = mCurrentContact.UserDetails.CellPhone; mMailText.text = mCurrentContact.UserDetails.Email; mEntryOther.gameObject.SetActive(false); mEntryMe.gameObject.SetActive(false); Clear(); Refresh(); }
public override void SetData(Dictionary <string, object> data) { base.SetData(data); List <object> userData = GetList(data, KEY_USERS); Users = new DataUser[userData.Count]; for (int i = 0; i < Users.Length; i++) { Users[i] = DataUser.GetUser(userData[i] as Dictionary <string, object>); } Messages = DataChatMessage.ListFromData(GetList(data, KEY_MESSAGES)); for (int i = 0; i < Users.Length; i++) { if (!Users[i].IsMe) { Contact = Users[i]; break; } } }
public void Initialize(DataUser user) { mContact = user; UpdateState(); }
public override void SetData(Dictionary <string, object> data) { base.SetData(data); Contact = DataUser.GetUser(GetDict(data, KEY_CONTACT)); }
void OnDisable() { Backend.OnSendChatMessageSuccess -= OnSendMessageSuccess; mCurrentContact = null; }