示例#1
0
    void OnEnable()
    {
        FloatParameter fparam = ParameterPool.GetParameter <FloatParameter>();

        fparam.value = gunAccuracy;
        GlobalEventQueue.EnQueueEvent(E_Event.GunChange, fparam);
    }
示例#2
0
 void Awake()
 {
     tween = GetComponent <TweenRectSize>();
     GlobalEventQueue.RegisterListener(E_Event.GunChange, ListenGunChange);
     GlobalEventQueue.RegisterListener(E_Event.Fire, ListenFire);
     GlobalEventQueue.RegisterListener(VK_State.Up, ListenFireStop);
 }
示例#3
0
 void Awake()
 {
     camera   = Camera.main;
     camTrans = Camera.main.transform;
     CalculateRpm();
     GlobalEventQueue.RegisterListener(VK_State.Down, ListenFireEvent);
     GlobalEventQueue.RegisterListener(VK_State.Press, ListenFireEvent);
 }
示例#4
0
 private void Start()
 {
     GlobalEventQueue.RegisterListener(DefaultEvent.PathObstacleMove, ListenMoveObstacle);
     GlobalEventQueue.RegisterListener(DefaultEvent.ReqPathfind, ListenReqPathfind);
     dicWeight.Clear();
     for (int i = 0; i < weightData.Length; i++)
     {
         dicWeight.Add(weightData[i].layer.value, weightData[i].weight);
     }
     grid = GetComponent <Grid>();
 }
示例#5
0
    IEnumerator RoutineTooltip(Vector2 position)
    {
        yield return(new WaitForSecondsRealtime(tooltipTime));

        if (isDownStarted)
        {
            Debug.LogFormat("Tooltip : {0}", localKey);
            TooltipParameter p = ParameterPool.GetParameter <TooltipParameter>();
            p.localKey = localKey;
            p.position = position + Vector2.up * 20;
            GlobalEventQueue.EnQueueEvent(DefaultEvent.ShowTooltip, p);
        }
    }
示例#6
0
        private void Update()
        {
            currentPos = transform.position;
            currentX   = currentPos.x;
            currentY   = currentPos.y;

            if (beforeX != currentX ||
                beforeY != currentY)
            {
                GlobalEventQueue.EnQueueEvent(DefaultEvent.PathObstacleMove, this);
                beforeX = currentX;
                beforeY = currentY;
            }
        }
示例#7
0
文件: Agent.cs 项目: jjr2930/DUDUDU
        public void ListenPathfindEvent(object param)
        {
            PeekPointParameter p = param as PeekPointParameter;

            if (p.instanceID == instanceID ||
                p.instanceID == GlobalEventQueue.GlobalID)
            {
                ReqPathfind req = ParameterPool.GetParameter <ReqPathfind>();
                req.instanceID    = this.GetInstanceID();
                req.startPosition = this.transform.position;
                req.endPosition   = p.peekPoint;
                req.callback      = PathfindCompleteCallback;
                GlobalEventQueue.EnQueueEvent(DefaultEvent.ReqPathfind, req);
            }
        }
示例#8
0
    public void ListenFireEvent(object param)
    {
        VirtualKeyParameter p = param as VirtualKeyParameter;

        if (VK_Enum.VK_Button1 != p.key)
        {
            return;
        }

        bool isCoolTime   = beforeTime > Time.realtimeSinceStartup;
        bool isHaveBullet = remainBullet > 0;

        if (!isCoolTime && isHaveBullet)
        {
            GlobalEventQueue.EnQueueEvent(E_Event.Fire, null);
            beforeTime = Time.realtimeSinceStartup + intervalTime;
            --remainBullet;
            ShootRaycast();
        }
    }
示例#9
0
    void ShootRaycast()
    {
        ray.origin    = camTrans.position;
        ray.direction = camTrans.forward;

        if (Physics.Raycast(ray, out hit, enemyLayer.value))
        {
            ShotParameter sp = ParameterPool.GetParameter <ShotParameter>();
            sp.gunDmg     = gunDamage;
            sp.shotObject = hit.transform.gameObject;
            sp.shotPoint  = hit.point;
            GlobalEventQueue.EnQueueEvent(E_Event.Shot, sp);

            EffectParameter ep = ParameterPool.GetParameter <EffectParameter>();
            ep.effectName = "Prefabs/Decals/Bullet Hole";
            ep.parent     = hit.transform;
            ep.position   = hit.point + hit.normal * 0.005f;
            ep.rotation   = Quaternion.LookRotation(-hit.normal);
            ep.scale      = Vector3.one * 0.1f;
            GlobalEventQueue.EnQueueEvent(DefaultEvent.ShowEffect, ep);

            //Debug.LogFormat( "SHOT {0}" , hit.transform.name );
        }
    }
示例#10
0
 protected override void RegisterListener()
 {
     GlobalEventQueue.RegisterListener(E_Event.Fire, PlayGunSound);
 }
示例#11
0
 private void OnDestroy()
 {
     GlobalEventQueue.RemoveListener(DefaultEvent.PathObstacleMove, ListenMoveObstacle);
 }
示例#12
0
 void RegisterListener()
 {
     GlobalEventQueue.RegisterListener(VK_State.Press, ListenPress);
     GlobalEventQueue.RegisterListener(VK_State.Down, ListenDown);
     GlobalEventQueue.RegisterListener(VK_State.Up, ListenUp);
 }
示例#13
0
 public void OnPointerUp(PointerEventData eventData)
 {
     Debug.Log("OnPointerUp Tooltip hide");
     GlobalEventQueue.EnQueueEvent(DefaultEvent.HideTooltip, null);
     isDownStarted = false;
 }
示例#14
0
 void OnDestroy()
 {
     GlobalEventQueue.RemoveListener(E_Event.GunChange, ListenGunChange);
     GlobalEventQueue.RemoveListener(E_Event.Fire, ListenFire);
     GlobalEventQueue.RemoveListener(VK_State.Up, ListenFireStop);
 }
示例#15
0
 void OnDistroy()
 {
     GlobalEventQueue.RemoveListener(VK_State.Down, ListenFireEvent);
     GlobalEventQueue.RemoveListener(VK_State.Press, ListenFireEvent);
 }
示例#16
0
文件: Agent.cs 项目: jjr2930/DUDUDU
 private void Awake()
 {
     instanceID = gameObject.GetInstanceID();
     GlobalEventQueue.RegisterListener(DefaultEvent.PeekPathfindPosition, ListenPathfindEvent);
 }