Ejemplo n.º 1
0
	public Tbl_Event_Record(XmlElement _element)
	{
		try
		{
			XmlNode node = (XmlElement)_element;

			npcID		= int.Parse(node["NPC_ID"].InnerText);
			eventIdx	= int.Parse(node["Index"].InnerText);
			titleID		= int.Parse(node["Title_ID"].InnerText);
			txtID		= int.Parse(node["Txt_ID"].InnerText);
			viewNpc     = bool.Parse(node["NPC_View"].InnerText);
			viewList	= bool.Parse(node["List_View"].InnerText);

			string date	= node["Start_Date"].InnerText;
			int year	= System.Convert.ToInt32(date.Substring(0 , 4));
			int month	= System.Convert.ToInt32(date.Substring(4 , 2));
			int day		= System.Convert.ToInt32(date.Substring(6 , 2));
			int hour	= System.Convert.ToInt32(date.Substring(8 , 2));
			int minute	= System.Convert.ToInt32(date.Substring(10, 2));

			startDate = new System.DateTime(year, month, day, hour, minute, 0);

			date	= node["End_Date"].InnerText;
			year	= System.Convert.ToInt32(date.Substring(0 , 4));
			month	= System.Convert.ToInt32(date.Substring(4 , 2));
			day		= System.Convert.ToInt32(date.Substring(6 , 2));
			hour	= System.Convert.ToInt32(date.Substring(8 , 2));
			minute	= System.Convert.ToInt32(date.Substring(10, 2));

			endDate = new System.DateTime(year, month, day, hour, minute, 0);
			
			int onHour	  = 0;
			int onMinute  = 0;
			int offHour   = 0;
			int offMinute = 0;

			string tempOnTime  = node["On_Time"].InnerText;
			string tempOffTime = node["Off_Time"].InnerText;

			if (tempOnTime != "NONE")
			{
				onHour = System.Convert.ToInt32(tempOnTime.Substring(0, 2));
				onMinute = System.Convert.ToInt32(tempOnTime.Substring(2, 2));

				onTime = new System.DateTime(1970, 1, 1, onHour, onMinute, 0);
			}
			else
			{
				noneOnOffTime = true;
			}

			if (tempOffTime != "NONE")
			{
				offHour = System.Convert.ToInt32(tempOffTime.Substring(0, 2));
				offMinute = System.Convert.ToInt32(tempOffTime.Substring(2, 2));

				offTime = new System.DateTime(1970, 1, 1, offHour, offMinute, 0);
			}
			else
			{
				noneOnOffTime = true;
			}

			listEventAchievement = new List<EventAchievement>();

			for (int i = 1; i < 4; i++)
			{
				string id = node["Item_ID" + i.ToString()].InnerText;

				if (id == "NONE")
					continue;

				string itemCount = node["Item_Count" + i.ToString()].InnerText;

				#region --
				//string buffID	 = node["Buff_ID" + i.ToString()].InnerText;
				//string Exp		 = node["Exp" + i.ToString()].InnerText;
				//string lotteryID = node["Lottery_ID" + i.ToString()].InnerText;


				//data = new EventData(int.Parse(id),
				//                     int.Parse(itemCount),
				//                     buffID		!= "NONE" ? int.Parse(buffID) : -1,
				//                     Exp		!= "NONE" ? int.Parse(Exp) : -1,
				//                     lotteryID	!= "NONE" ? int.Parse(lotteryID) : -1);
				#endregion

				EventAchievement achievement = new EventAchievement(int.Parse(id), int.Parse(itemCount));

				listEventAchievement.Add(achievement);
			}
		}
		catch(System.Exception e)
		{
			Debug.LogError("[Tbl_Event_Table] : " + e + "erroe while parsing");
		}
	}
	void AddRewardItem(EventAchievement _achieve)
	{
		int scrollListCount = rewardScroll.Count;
		UIListItem listItem = rewardScroll.CreateItem(rewardListItemPrefab, scrollListCount, true) as UIListItem;
		
		EventRewardListItemControll itemController = listItem.gameObject.GetComponentInChildren<EventRewardListItemControll>();

		listItem.SetOffset(new Vector3(0.0f, 0.0f, -1.0f));

		AsLanguageManager.Instance.SetFontFromSystemLanguage(itemController.btnReward.spriteText);
		itemController.btnReward.Text = AsTableManager.Instance.GetTbl_String(1312);

		// icon
		Item itemData = ItemMgr.ItemManagement.GetItem(_achieve.itemID);
		GameObject icon = itemData.GetIcon();
		GameObject objIconInstantiate = GameObject.Instantiate( icon) as GameObject;
		UISlotItem slotItem = objIconInstantiate.GetComponent<UISlotItem>();
		itemController.icon = slotItem;
		GameObject.Destroy(itemController.icon.coolTime);
		objIconInstantiate.transform.parent = itemController.objIconBg.transform;
		objIconInstantiate.transform.localPosition = new Vector3(0.0f, 0.0f, -1.0f);

		// delegate
		listItem.SetInputDelegate(ClickAchievementProcess);
		itemController.btnReward.SetInputDelegate(ClickRewardProcess);

		// data setting
		itemController.btnReward.Data = (byte)scrollListCount;
		itemController.eventAchievement = _achieve;
	}