Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
    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);
        }
    }
Esempio n. 3
0
 public void CK_NotifyCheckenSceneInfo(MsgCheckenSceneInfo info)
 {
     if (GameLogic.Instance.Scene != null)
     {
         GameLogic.Instance.Scene.GetChijiInfo(info);
     }
     EventDispatcher.Instance.DispatchEvent(new ChickenSafeChangeEvent(info));
 }
Esempio n. 4
0
        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);
        }