Ejemplo n.º 1
0
    protected virtual void Move()
    {
        // Set Velocity
        velocity.y -= projectileData.gravity.Value * Time.fixedDeltaTime;

        // Move
        transform.Translate(velocity * Time.fixedDeltaTime, Space.World);

        // Update Travle Dist
        float dist = velocity.magnitude * Time.fixedDeltaTime;

        projectileData.travelDist.ModFlat += dist;

        // Detect Object
        if (!DetectCreature(dist))
        {
            DetectWall(dist);
        }

        // On Maxt Distance
        if (projectileData.travelDist.Value >= projectileData.travelDist.Max)
        {
            OnMaxDist();
            ObjPoolingManager.Sleep(this);
        }

        // Rotate Towards Moving Dir
        if (rotateToMovingDir)
        {
            transform.right = velocity.normalized;
        }
    }
Ejemplo n.º 2
0
 public static void Sleep(this PoolingObj obj)
 {
     ObjPoolingManager.Sleep(obj);
 }
Ejemplo n.º 3
0
 private void DisableOnFinish()
 {
     ObjPoolingManager.Sleep(this);
 }
Ejemplo n.º 4
0
 protected virtual void SelfSleep()
 {
     ObjPoolingManager.Sleep(this);
 }