Example #1
0
 public void setAimLocationCallbacks(Transform aimStartPorint, IGetAim aimCallback, LocationUpdateType type)
 {
     startLocation      = aimStartPorint;
     aimLocation        = aimCallback;
     locationUpdateType = type;
     //static distance set in prefab
 }
Example #2
0
    private void updateAreaLocationAndRotoation()
    {
        if (startLocation == null)
        {
            Debug.Log("actor controlling this area is dead or inactive, destroying area");
            destroyAreas();
            return;
        }

        Vector2 aimLocation;
        Vector3 newLocation;
        Vector3 rot;

        switch (locationUpdateType)
        {
        case LocationUpdateType.None:
            break;

        case LocationUpdateType.SetLocation:
            this.aimLocation.getAim(out aimLocation);
            newLocation        = aimLocation;
            newLocation.z      = spriteLayer;
            transform.position = newLocation;                     // location derectly on aim locaiton
            //updateRotation
            rot   = transform.eulerAngles;
            rot.z = startLocation.eulerAngles.z;
            transform.eulerAngles = rot;
            break;

        case LocationUpdateType.SetDistanceFromLocation:
            this.aimLocation.getAim(out aimLocation);
            Vector2 currentActorPosition = startLocation.position;        //actor location
            aimLocation        = aimLocation - currentActorPosition;      // vector from actor to aim
            aimLocation        = aimLocation.normalized * staticDistance; //Area damage location to
            aimLocation       += currentActorPosition;                    // vector from (0,0) to correct area location
            newLocation        = aimLocation;
            newLocation.z      = spriteLayer;
            transform.position = newLocation;
            //updateRotation
            rot   = transform.eulerAngles;
            rot.z = startLocation.eulerAngles.z;
            transform.eulerAngles = rot;
            break;

        default:
            break;
        }
    }
Example #3
0
 /// <summary>
 /// with set area distance
 /// </summary>
 /// <param name="aimStartPorint"></param>
 /// <param name="aimCallback"></param>
 /// <param name="type"></param>
 /// <param name="distance"></param>
 public void setAimLocationCallbacks(Transform aimStartPorint, IGetAim aimCallback, LocationUpdateType type, float distance)
 {
     setAimLocationCallbacks(aimStartPorint, aimCallback, type);
     staticDistance = distance;
 }