public void OnDataReceived(DataPackage dp) { if (dp is BaseCapturePackage) { BaseCapturePackage bcp = (BaseCapturePackage)dp; if (bcp.BaseId != BaseId) { return; } Owner = GameManager.Instance.GetPlayer(bcp.PlayerIP); int playerIndex = GameManager.Instance.GetPlayers().IndexOf(Owner); Component[] mrs = transform.root.gameObject.GetComponentsInChildren(typeof(MeshRenderer)); foreach (MeshRenderer mr in mrs) { if (mr.material.name.Contains("Material #4")) { mr.material = GameManager.Instance.baseMaterials[playerIndex * 2]; } if (mr.material.name.Contains("Material #5")) { mr.material = GameManager.Instance.baseMaterials[playerIndex * 2 + 1]; } } } }
public override DataPackage CreateFromBody(string b) { string[] split = b.Split('|'); BaseCapturePackage bcp = new BaseCapturePackage(); bcp.PlayerIP = IPAddress.Parse(split[0]); bcp.BaseId = int.Parse(split[1]); return bcp; }
public override DataPackage CreateFromBody(string b) { string[] split = b.Split('|'); BaseCapturePackage bcp = new BaseCapturePackage(); bcp.PlayerIP = IPAddress.Parse(split[0]); bcp.BaseId = int.Parse(split[1]); return(bcp); }
void OnTriggerEnter(Collider col) { if (!IsControlled) { return; } if (col.transform.root.name.Contains("Base")) { Base b = col.transform.root.gameObject.GetComponentInChildren <Base>(); Flag f = GameManager.Instance.GetFlag(this); if (b == null || f == null || (b.Owner == null && GameManager.Instance.GetPlayerBase(this) != null) || (b.Owner != null && b.Owner != this)) { return; } if (b.Owner == null) { //capture base BaseCapturePackage bcp = new BaseCapturePackage(); bcp.PlayerIP = Client.GetLocalIPAddress(); bcp.BaseId = b.BaseId; NetworkManager.Instance.Client.SendData(bcp); } FlagPackage fp = new FlagPackage(); fp.Event = FlagPackage.FlagEvent.Capture; fp.FlagId = f.FlagId; NetworkManager.Instance.Client.SendData(fp); } else if (col.gameObject.name.Contains("Flag")) { Flag f = col.GetComponentInChildren <Flag>(); if (GameManager.Instance.GetFlag(this) != null || f == null || f.Owner != null) { return; } FlagPackage fp = new FlagPackage(); fp.Event = FlagPackage.FlagEvent.PickUp; fp.FlagId = f.FlagId; NetworkManager.Instance.Client.SendData(fp); } }
void OnTriggerEnter(Collider col) { if (!IsControlled) return; if (col.transform.root.name.Contains("Base")) { Base b = col.transform.root.gameObject.GetComponentInChildren<Base>(); Flag f = GameManager.Instance.GetFlag(this); if (b == null || f == null || (b.Owner == null && GameManager.Instance.GetPlayerBase(this) != null) || (b.Owner != null && b.Owner != this)) return; if (b.Owner == null) { //capture base BaseCapturePackage bcp = new BaseCapturePackage(); bcp.PlayerIP = Client.GetLocalIPAddress(); bcp.BaseId = b.BaseId; NetworkManager.Instance.Client.SendData(bcp); } FlagPackage fp = new FlagPackage(); fp.Event = FlagPackage.FlagEvent.Capture; fp.FlagId = f.FlagId; NetworkManager.Instance.Client.SendData(fp); } else if (col.gameObject.name.Contains("Flag")) { Flag f = col.GetComponentInChildren<Flag>(); if (GameManager.Instance.GetFlag(this) != null || f == null || f.Owner != null) return; FlagPackage fp = new FlagPackage(); fp.Event = FlagPackage.FlagEvent.PickUp; fp.FlagId = f.FlagId; NetworkManager.Instance.Client.SendData(fp); } }