Пример #1
0
    void OnEnable()
    {
        FloatParameter fparam = ParameterPool.GetParameter <FloatParameter>();

        fparam.value = gunAccuracy;
        GlobalEventQueue.EnQueueEvent(E_Event.GunChange, fparam);
    }
Пример #2
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);
        }
    }
Пример #3
0
        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);
            }
        }
Пример #4
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 );
        }
    }