public static void Encode(this PartyData data, IPacket p) { var members = new PartyMemberData[6]; for (var i = 0; i < 6; i++) { members[i] = i < data.Members.Count ? data.Members[i] : new PartyMemberData(); } foreach (var member in members) { p.Encode <int>(member.CharacterID); } foreach (var member in members) { p.EncodeFixedString(member.Name, 13); } foreach (var member in members) { p.Encode <int>(member.Job); } foreach (var member in members) { p.Encode <int>(member.Level); } foreach (var member in members) { p.Encode <int>(member.ChannelID); } p.Encode <int>(data.BossCharacterID); foreach (var member in members) { p.Encode <int>(member.FieldID); } // TODO: town portal foreach (var member in members) { p.Encode <int>(999999999); // m_dwTownID p.Encode <int>(999999999); // m_dwFieldID p.Encode <int>(0); // m_nSKillID p.Encode <int>(0); // m_ptFieldPortal x p.Encode <int>(0); // m_ptFieldPortal y } foreach (var member in members) { p.Encode <int>(0); // aPQReward } foreach (var member in members) { p.Encode <int>(0); // aPQRewardType } p.Encode <int>(0); // dwPQRewardMobTemplateID p.Encode <int>(0); // bPQReward }
void Awake() { var tmp = new EnterArenaData(); var ttmp = new ArenaStateData (); var tttmp = new PartyMemberData (); var ttttmp = new List<ArenaStateData> (); var tttttmp = new List<bool> (); }
public void LoadData(PartyMemberData data) { CharacterName = data.CharacterName; Portrait = data.Portrait; PortraitColor = data.PortraitColor; AnimationSet = data.AnimationSet; Stats = (Statblock)GetNode("Statblock"); Stats.LoadData(data); GUIManager.UpdateFor(this); }
public void ReloadNew() { Populate(0); foreach (PartyMemberData activePrimaryPartyMember in UISingletonHudWindow <UIPartyManager> .Instance.GetActivePrimaryPartyMembers()) { if (activePrimaryPartyMember != null && !UISingletonHudWindow <UIPartyManager> .Instance.PendingToBench.Contains(activePrimaryPartyMember)) { ActivateClone <UIPartyManagementIcon>().SetPartyMember(activePrimaryPartyMember); } } for (int i = 0; i < UISingletonHudWindow <UIPartyManager> .Instance.PendingToParty.Count; i++) { PartyMemberData partyMemberData = UISingletonHudWindow <UIPartyManager> .Instance.PendingToParty[i]; if (partyMemberData != null) { ActivateClone <UIPartyManagementIcon>().SetPartyMember(partyMemberData); } } PartyCount.text = IntUtils.ToStringLocal(base.ActiveChildCount) + "/6"; }
protected void LoadPartyMemberDataFromTextFile() { string text = dataFile.text; string name = "Default"; int lv = 1; int nextExp = 1; int hp = 10; int mp = 10; int atk = 1; int def = 1; int spd = 1; int startPos = 0; int endPos = 0; string field = null; string value = null; while (endPos < text.Length) { endPos = text.IndexOf(" ", startPos); field = text.Substring(startPos, endPos - startPos); startPos = endPos + 1; endPos = text.IndexOf("\n", startPos); if (endPos == -1) { endPos = text.Length; } value = text.Substring(startPos, endPos - startPos); value = value.Trim(); switch (field) { case "name": name = value; break; case "icon": iconTexture = Resources.Load <Texture2D>(IconFolderPath + value); if (iconTexture == null) { throw new UnityException("Failed to load icon from \"" + IconFolderPath + value + "\""); } break; case "nextExp": if (!int.TryParse(value, out nextExp)) { throw new UnityException("Fail to read \"nextExp\" from \"" + DataFolderPath + partyMemberName + "\""); } break; case "lv": if (!int.TryParse(value, out lv)) { throw new UnityException("Fail to read \"lv\" from \"" + DataFolderPath + PartyMemberName + "\""); } break; case "hp": if (!int.TryParse(value, out hp)) { throw new UnityException("Fail to read \"hp\" from \"" + DataFolderPath + PartyMemberName + "\""); } break; case "mp": if (!int.TryParse(value, out mp)) { throw new UnityException("Fail to read \"mp\" from \"" + DataFolderPath + PartyMemberName + "\""); } break; case "atk": if (!int.TryParse(value, out atk)) { throw new UnityException("Fail to read \"atk\" from \"" + DataFolderPath + PartyMemberName + "\""); } break; case "def": if (!int.TryParse(value, out def)) { throw new UnityException("Fail to read \"def\" from \"" + DataFolderPath + PartyMemberName + "\""); } break; case "spd": if (!int.TryParse(value, out spd)) { throw new UnityException("Fail to read \"spd\" from \"" + DataFolderPath + PartyMemberName + "\""); } break; } startPos = endPos + 1; } data = new PartyMemberData(name, lv, nextExp, hp, mp, atk, def, spd); }
public void AcceptPartyInvite(int viewID, PhotonMessageInfo info) { if(PlayerManager.Instance.partyMembers.Count >= GeneralData.maxPartySize) { return; } //failsafe if(PlayerManager.Instance.partyMembers.Count == 0) { PartyMemberData pmd = new PartyMemberData(); pmd.viewID = PlayerManager.Instance.avatarPhotonView.viewID; pmd.playerID = PhotonNetwork.player.ID; PlayerManager.Instance.partyMembers.Add(pmd); Debug.Log("adding myself as party member number 1"); } PartyMemberData pmdd = new PartyMemberData (); pmdd.viewID = viewID; pmdd.playerID = PhotonView.Find(viewID).ownerId; PlayerManager.Instance.partyMembers.Add(pmdd); Debug.Log("added new party member"); UpdatePartyMemberList(); }
public void RequestArenaEntry(string arenaName, int enemyID, bool solo) { int newid = PhotonNetwork.AllocateViewID(); EnterArenaData data = new EnterArenaData(); data.EnemyID = enemyID; data.NewViewID = newid; Debug.Log(data.NewViewID); if(solo) { PartyMemberData pmd = new PartyMemberData(); pmd.viewID = PlayerManager.Instance.avatarPhotonView.viewID; pmd.playerID = PhotonNetwork.player.ID; data.partyList.Add(pmd); data.PartyLeaderID = PhotonNetwork.player.ID; } else { if(PlayerManager.Instance.partyMembers.Count == 0) { PartyMemberData pmdd = new PartyMemberData(); pmdd.viewID = PlayerManager.Instance.avatarPhotonView.viewID; pmdd.playerID = PhotonNetwork.player.ID; data.partyList.Add(pmdd); data.PartyLeaderID = PhotonNetwork.player.ID; } else if(PlayerManager.Instance.partyMembers.Count > 0) { data.partyList = PlayerManager.Instance.partyMembers; data.PartyLeaderID = PhotonNetwork.player.ID; } } BinaryFormatter b = new BinaryFormatter(); MemoryStream m = new MemoryStream(); b.Serialize(m, data); myPhotonView.RPC("GetAvailableArena", PhotonTargets.MasterClient, arenaName, m.GetBuffer()); }
public bool AddToPartyNew(Guid newPartyMemberGuid, PartyMemberType partyMemberType, PartyMemberStatus status, PartyMemberData existingPartyMemberData, AddToPartyFlags flags) { if (newPartyMemberGuid == Guid.Empty) { Debug.LogError("Failed to add party member: Empty Guid."); return(false); } if (m_guidToPartyMemberDataDictionary.ContainsKey(newPartyMemberGuid)) { return(false); } if (!AllTimePartyMembers.Contains(newPartyMemberGuid)) { AllTimePartyMembers.Add(newPartyMemberGuid); } if (partyMemberType == PartyMemberType.Primary && IsActiveStatus(status)) { if ((flags & AddToPartyFlags.AllowRedirectToBench) != 0 && GodChallengeGameData.AnyEnabledChallenge(GodChallengeGameData.ProhibitPartyMembersPredicate)) { return(false); } if (m_activePrimaryPartyMembers.Count >= 6) { Debug.LogError("Trying to add a primary party member to the party when already at max primary party members limit!"); return(false); } } PartyMemberData partyMemberData = existingPartyMemberData; if (partyMemberData == null) { partyMemberData = new PartyMemberData(); } GameObject objectByID = InstanceID.GetObjectByID(newPartyMemberGuid); if ((bool)objectByID) { PartyMember partyMember = (!(bool)objectByID) ? null : objectByID.GetComponent <PartyMember>(); if (partyMember == null) { partyMember = ResourceManager.AddComponent <PartyMember>(objectByID); } AIController component = objectByID.GetComponent <AIController>(); if (component != null) { component.AssignPartyMemberBehavior(); } partyMember.PartyMemberData = partyMemberData; } if (!(bool)objectByID && partyMemberData.MemberStatus == PartyMemberStatus.NotInParty) { Debug.LogError("Trying to add party member with no game object reference! Guid: " + newPartyMemberGuid.ToString()); return(false); } if (!(bool)objectByID && status == PartyMemberStatus.Active) { status = PartyMemberStatus.InactiveAvailable; } partyMemberData.InitializePartyMemberData(newPartyMemberGuid, partyMemberType); m_guidToPartyMemberDataDictionary.Add(newPartyMemberGuid, partyMemberData); if (existingPartyMemberData != null) { RestorePartyMemberStatus(newPartyMemberGuid, status); } else { SetPartyMemberStatus(newPartyMemberGuid, status, flags); } return(true); }