123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179 |
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using System.IO;
- using System.Xml;
- using Sfs2X.Entities.Data;
- using UnityEngine;
- public class ChestData
- {
- #region Config
- public int Value;
- public int Round;
- public int RemainValue;
- public int RemainRound;
- public int DatabaseRoomID;
- public long ID;
- public long Owner;
- public DateTime ActivatedTime;
- public ChestType ChestType;
- #endregion
- public ChestData(ISFSObject arg)
- {
- ID = arg.GetLong(gd_chest.ID);
- Value = arg.GetInt(gd_chest.Value);
- Round = arg.GetInt(gd_chest.Round);
- RemainValue = arg.GetInt(gd_chest.RemainValue);
- RemainRound = arg.GetInt(gd_chest.RemainRound);
- DatabaseRoomID = arg.GetInt(gd_chest.DatabaseRoomID);
- Owner = arg.GetLong(gd_chest.Owner);
- ActivatedTime = DateUtil.GetJavaTime(arg.GetLong(gd_chest.ActivatedTime).ToString());
- ChestType = (ChestType) arg.GetInt(gd_chest.Type);
- }
- }
- public class ChestMge : Regist
- {
- #region Config
- private static string RefundNodeName = "Refund";
- private static string ReceivedNodeName = "Received";
- private static List<int> RefundRoomIDs = new List<int>();
- private static List<long> ReceivedChestIDs = new List<long>();
- #endregion
- public override void RegistValueA()
- {
- XmlNodeList RefundNodes = ManaData.PlayerNode.SelectNodes(RefundNodeName);
- XmlNodeList ReceivedNodes = ManaData.PlayerNode.SelectNodes(ReceivedNodeName);
- for (int i = 0; i < RefundNodes.Count; i++)
- {
- RefundRoomIDs.Add(int.Parse(RefundNodes[i].InnerText));
- }
- for (int i = 0; i < ReceivedNodes.Count; i++)
- {
- ReceivedChestIDs.Add(long.Parse(ReceivedNodes[i].InnerText));
- }
- CheckRefund();
- //RefundRoomIDs.Add(1);
- //RefundRoomIDs.Add(98);
- //RefundRoomIDs.Add(99);
- //foreach (var VARIABLE in RefundRoomIDs)
- //{
- // Debug.Log(VARIABLE);
- //}
- //foreach (var VARIABLE in ReceivedChestIDs)
- //{
- // Debug.Log(VARIABLE);
- //}
- //RefundRoomIDs.Add(1);
- //RefundRoomIDs.Add(2);
- //ReceivedChestIDs.Add(100);
- //ReceivedChestIDs.Add(200);
- //RefundRoomIDs.Remove(1);
- //RefundRoomIDs.Remove(2);
- //ReceivedChestIDs.Remove(100);
- //ReceivedChestIDs.Remove(200);
- }
- private void CheckRefund()
- {
- if (RefundRoomIDs.Count == 0)
- {
- return;
- }
- else
- {
- SFSManager.GardenSmartFox.EventManager.PlazaRoomEvent.CheckChestRefund(RefundRoomIDs);
- }
- }
- public static void ReceiveAllChestData(List<ChestData> chestDatas)
- {
-
- }
- public static bool HasReceived(long chestID)
- {
- if (ReceivedChestIDs.Contains(chestID))
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- public static void ActivateSystemChest(long chestID)
- {
- ReceivedChestIDs.Remove(chestID);
- }
- public static void ReceiveChestAward(int award)
- {
- //ReceivedChestIDs.Add(chestID);
- if (award == 0)
- {
- Bubble.Show(null, Language.GetStr("UI", "Y_SoldOut"));
- }
- else
- {
-
- }
- }
- public static void ReceiveChestRefund(int refund, List<int> databaseRoomIDs)
- {
- foreach (var databaseRoomID in databaseRoomIDs)
- {
- RefundRoomIDs.Remove(databaseRoomID);
- }
- if (refund > 0)
- {
- ManaCenter.AddDiamond(refund, StaticsManager.ItemID.获得钻石, StaticsManager.ConsumeModule.RoomChestRefund);
- ManaInfoBox.Show(InfoCategory.Garden, Language.GetStr("UI", "BB_Refund")+refund, 30);
- }
- }
- public static void Save()
- {
- XmlNode node = ManaData.PlayerNode.SelectSingleNode(RefundNodeName);
- while (node != null)
- {
- ManaData.PlayerNode.RemoveChild(node);
- node = ManaData.PlayerNode.SelectSingleNode(RefundNodeName);
- }
- node = ManaData.PlayerNode.SelectSingleNode(ReceivedNodeName);
- while (node != null)
- {
- ManaData.PlayerNode.RemoveChild(node);
- node = ManaData.PlayerNode.SelectSingleNode(ReceivedNodeName);
- }
- foreach (var id in RefundRoomIDs)
- {
- node = ManaData.PlayerDoc.CreateNode(XmlNodeType.Element, RefundNodeName, null);
- node.InnerText = id.ToString();
- ManaData.PlayerNode.AppendChild(node);
- }
- foreach (var id in ReceivedChestIDs)
- {
- node = ManaData.PlayerDoc.CreateNode(XmlNodeType.Element, ReceivedNodeName, null);
- node.InnerText = id.ToString();
- ManaData.PlayerNode.AppendChild(node);
- }
- }
- }
|