You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
138 lines
3.5 KiB
138 lines
3.5 KiB
using AX.MessageSystem; |
|
using System; |
|
using System.Collections; |
|
using System.Collections.Generic; |
|
using UnityEngine; |
|
using UnityEngine.EventSystems; |
|
|
|
public class PowerAttribute : MonoBehaviour |
|
{ |
|
private string affiliation; |
|
private string task; |
|
private int number; |
|
private string typename; |
|
public PowerInfo PowerInfo; |
|
private DateTime t1, t2; |
|
public string[] Tasklist; |
|
public string Affiliation |
|
{ |
|
get |
|
{ |
|
return this.affiliation; |
|
} |
|
|
|
set |
|
{ |
|
this.affiliation = value; |
|
PowerInfo.Squadron.text = this.affiliation + "-" + this.number; |
|
} |
|
} |
|
|
|
public string Task |
|
{ |
|
get |
|
{ |
|
return this.task; |
|
} |
|
|
|
set |
|
{ |
|
this.task = value; |
|
PowerInfo.RenWu.text = this.task; |
|
} |
|
} |
|
|
|
public int Number |
|
{ |
|
get |
|
{ |
|
return this.number; |
|
} |
|
|
|
set |
|
{ |
|
this.number = value; |
|
PowerInfo.Squadron.text = this.affiliation + "-" + this.number; |
|
} |
|
} |
|
|
|
public string TypeName |
|
{ |
|
get |
|
{ |
|
return typename; |
|
} |
|
|
|
set |
|
{ |
|
typename = value; |
|
} |
|
} |
|
|
|
// Use this for initialization |
|
protected void Awake() |
|
{ |
|
PowerInfo = transform.Find("info").GetComponent<PowerInfo>(); |
|
PowerInfo.gameObject.SetActive(GlobalVariable.InfoActive); |
|
this.number = int.Parse(PowerInfo.Squadron.text.Split('-')[1]); |
|
this.affiliation = PowerInfo.Squadron.text.Split('-')[0]; |
|
this.task = PowerInfo.RenWu.text; |
|
MessageDispatcher.AddListener("ShowHideInfo", InfoActive); |
|
MessageDispatcher.AddListener("RADIO_SELECTED_COMMAND", RadioSelect); |
|
MessageDispatcher.AddListener("ReplayEvent", ReplayAgent); |
|
} |
|
|
|
private void ReplayAgent(IMessage obj) |
|
{ |
|
var eventData = (EventData)obj.Data; |
|
if (eventData.eventType == RecordEventType.PowerAttribute) |
|
{ |
|
var data = JsonUtility.FromJson<PowerAttributeRecordEventData>(eventData.json); |
|
if (data.GameId == GetComponent<CloneGameObjInfo>().GameObjID) |
|
{ |
|
this.Task = data.Task; |
|
this.Affiliation = data.Affiliation; |
|
this.Number = data.Number; |
|
this.TypeName = data.TypeName; |
|
} |
|
} |
|
} |
|
|
|
private void RadioSelect(IMessage obj) |
|
{ |
|
var id = (long)obj.Sender; |
|
if (id == GetComponent<CloneGameObjInfo>().GameObjID) |
|
PowerInfo.Squadron.color = Color.green; |
|
else |
|
PowerInfo.Squadron.color = Color.white; |
|
} |
|
|
|
private void OnDestroy() |
|
{ |
|
MessageDispatcher.RemoveListener("ShowHideInfo", InfoActive); |
|
MessageDispatcher.RemoveListener("RADIO_SELECTED_COMMAND", RadioSelect); |
|
MessageDispatcher.RemoveListener("ReplayEvent", ReplayAgent); |
|
} |
|
private void InfoActive(IMessage obj) |
|
{ |
|
PowerInfo.gameObject.SetActive(GlobalVariable.InfoActive); |
|
} |
|
|
|
private void OnMouseDown() |
|
{ |
|
if (RecordEvent.IsReplay()) |
|
return; |
|
if (!EventSystem.current.IsPointerOverGameObject()) |
|
{ |
|
t2 = DateTime.Now; |
|
if (t2 - t1 < new TimeSpan(0, 0, 0, 0, 500)) |
|
{ |
|
MessageDispatcher.SendMessage("CANCEL_CLONEBTN_SELECTED_COMMAND"); |
|
PowerAttributePanel.GetInstance.SetAttribute(this.gameObject); |
|
} |
|
|
|
t1 = t2; |
|
|
|
} |
|
} |
|
}
|
|
|