121 lines
3.5 KiB
C#
121 lines
3.5 KiB
C#
|
using Games.LogicObj;
|
|||
|
using UnityEngine;
|
|||
|
using UnityEngine.UI;
|
|||
|
using System.Collections;
|
|||
|
using GCGame;
|
|||
|
using Module.Log;
|
|||
|
using Games.GlobeDefine;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System;
|
|||
|
using GCGame.Table;
|
|||
|
|
|||
|
public class GuildWarRightTop : MonoBehaviour {
|
|||
|
|
|||
|
public GameObject Wnd;
|
|||
|
|
|||
|
public Text guild1Blood;
|
|||
|
public Text guild2Blood;
|
|||
|
|
|||
|
public Image guild1Child;
|
|||
|
public Image guild2Child;
|
|||
|
|
|||
|
public Text timeDown;
|
|||
|
|
|||
|
private long blood1 = 0;
|
|||
|
private long blood2 = 0;
|
|||
|
// Use this for initialization
|
|||
|
void Awake () {
|
|||
|
|
|||
|
Hashtable add = new Hashtable();
|
|||
|
add["name"] = "GuildMatchTowerBlood";
|
|||
|
Games.Events.MessageEventCallBack call = UpdateTowerBlood;
|
|||
|
add["callFun"] = call;
|
|||
|
Games.Events.EventDispatcher.Instance.AddMessageEvent(Games.Events.EventId.GuildWarTowerBlood, add);
|
|||
|
|
|||
|
Games.Events.EventDispatcher.Instance.Add(Games.Events.EventId.FunctionChangeBaseBtnActive, HideUI);
|
|||
|
|
|||
|
Hashtable add3 = new Hashtable();
|
|||
|
add3["name"] = "CapRightTop";
|
|||
|
Games.Events.MessageEventCallBack call3 = UpdateCap;
|
|||
|
add3["callFun"] = call3;
|
|||
|
Games.Events.EventDispatcher.Instance.AddMessageEvent(Games.Events.EventId.GuildWarFirstSceneInfo, add3);
|
|||
|
}
|
|||
|
|
|||
|
void Start()
|
|||
|
{
|
|||
|
CG_REQ_SERVER_LVL_CAP packet = (CG_REQ_SERVER_LVL_CAP)PacketDistributed.CreatePacket(MessageID.PACKET_CG_REQ_SERVER_LVL_CAP);
|
|||
|
packet.Noparam = 1;
|
|||
|
packet.SendPacket();
|
|||
|
InvokeRepeating("RemainTimeDown", 1, 1);
|
|||
|
}
|
|||
|
|
|||
|
void OnDestroy()
|
|||
|
{
|
|||
|
Games.Events.EventDispatcher.Instance.RemoveMessage(Games.Events.EventId.GuildWarFirstSceneInfo, "CapRightTop");
|
|||
|
Games.Events.EventDispatcher.Instance.RemoveMessage(Games.Events.EventId.GuildWarTowerBlood, "GuildMatchTowerBlood");
|
|||
|
Games.Events.EventDispatcher.Instance.RemoveMessage(Games.Events.EventId.GuildWarTowerBlood, "HideUI");
|
|||
|
CancelInvoke();
|
|||
|
}
|
|||
|
|
|||
|
public void HideUI(object obj)
|
|||
|
{
|
|||
|
bool active = (bool)obj;
|
|||
|
Wnd.SetActive(!active);
|
|||
|
}
|
|||
|
long totleNaijiu;
|
|||
|
public void FreshBlood()
|
|||
|
{
|
|||
|
guild1Blood.text = blood1.ToString();
|
|||
|
guild2Blood.text = blood2.ToString();
|
|||
|
|
|||
|
guild1Child.fillAmount = blood1 * 1.0f / totleNaijiu;
|
|||
|
guild2Child.fillAmount = blood2 * 1.0f / totleNaijiu;
|
|||
|
}
|
|||
|
|
|||
|
public void UpdateCap(Hashtable add, Hashtable send)
|
|||
|
{
|
|||
|
if (send.ContainsKey("Cap") == false)
|
|||
|
return;
|
|||
|
GC_RET_SERVER_LVL_CAP packet = (GC_RET_SERVER_LVL_CAP)send["Cap"];
|
|||
|
if (packet == null)
|
|||
|
return;
|
|||
|
var caps = TableManager.GetServerLvlCap().Values;
|
|||
|
foreach (var cap in caps)
|
|||
|
{
|
|||
|
if (cap.LevelCap == packet.Curlvlcap)
|
|||
|
{
|
|||
|
long.TryParse(cap.GuildWarTower, out totleNaijiu);
|
|||
|
return;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public void UpdateTowerBlood(Hashtable add,Hashtable send)
|
|||
|
{
|
|||
|
if (send.ContainsKey("data") == false)
|
|||
|
return;
|
|||
|
GC_UNION_MATCH_TOWER_INFO packet = (GC_UNION_MATCH_TOWER_INFO)send["data"];
|
|||
|
if (packet == null)
|
|||
|
return;
|
|||
|
|
|||
|
if (packet.towerhpCount>0)
|
|||
|
blood1 = packet.GetTowerhp(0);
|
|||
|
if(packet.towerhpCount>1)
|
|||
|
blood2 = packet.GetTowerhp(1);
|
|||
|
|
|||
|
FreshBlood();
|
|||
|
}
|
|||
|
|
|||
|
public void RemainTimeDown()
|
|||
|
{
|
|||
|
float leaveTime = SceneData.CopyOverTime - Time.time;
|
|||
|
timeDown.text = Utils.GetTimeStr1((int)leaveTime);
|
|||
|
}
|
|||
|
|
|||
|
public void Click_WarInfo()
|
|||
|
{
|
|||
|
UIManager.ShowUI(UIInfo.GuildWarInfo, null, null);
|
|||
|
}
|
|||
|
|
|||
|
}
|