public void UpdateRadius() { _Radius -= circleReduce; MsgCheckenSceneInfo info = new MsgCheckenSceneInfo(); var Pos = new Vector2Int32 { x = Utility.MultiplyPrecision(_Center.X), y = Utility.MultiplyPrecision(_Center.Y) }; info.CenterPos = Pos; info.Radius = _Radius; info.Timer = 10; foreach (var player in EnumAllPlayer()) { if (player.mActive == true) { player.Proxy.CK_NotifyCheckenSceneInfo(info); } } if (_Radius <= circleMin) { DeleteTimer(_triggerRadius); } }
public void GetChijiInfo(MsgCheckenSceneInfo info) { if (transform == null) { return; } if (objCircle == null) { InitChiji(); } var p = new Vector2(GameUtils.DividePrecision(info.CenterPos.x), GameUtils.DividePrecision(info.CenterPos.y)); objCircle.transform.localPosition = new Vector3(p.x, GameLogic.GetTerrainHeight(p.x, p.y), p.y); objCircle.transform.localScale = new Vector3(info.Radius, info.Radius, 200); Radius = info.Radius; if (trigger == null) { trigger = TimeManager.Instance.CreateTrigger(Game.Instance.ServerTime.AddSeconds(1f), () => { Radius -= eveReduce; objCircle.transform.localScale = new Vector3(Radius, Radius, 200); if (Radius <= RadiusMin) { TimeManager.Instance.DeleteTrigger(trigger); trigger = null; } }, 1000); } }
public void CK_NotifyCheckenSceneInfo(MsgCheckenSceneInfo info) { if (GameLogic.Instance.Scene != null) { GameLogic.Instance.Scene.GetChijiInfo(info); } EventDispatcher.Instance.DispatchEvent(new ChickenSafeChangeEvent(info)); }
public void SendRadius(ObjPlayer player) { MsgCheckenSceneInfo info = new MsgCheckenSceneInfo(); var Pos = new Vector2Int32 { x = Utility.MultiplyPrecision(_Center.X), y = Utility.MultiplyPrecision(_Center.Y) }; info.CenterPos = Pos; info.Radius = _Radius + correctRadius; info.Timer = (startTime - DateTime.Now).Seconds; player.Proxy.CK_NotifyCheckenSceneInfo(info); }