55 lines
1.3 KiB
C#
55 lines
1.3 KiB
C#
using Mirror;
|
|
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using TMPro;
|
|
using UnityEngine;
|
|
|
|
public class Marker : MonoBehaviour
|
|
{
|
|
public MarkerDefinition markerDefinition;
|
|
/* public CanvasGroup fadeGroup;
|
|
public CanvasGroup aimFadeGroup;
|
|
public AnimationCurve fadeRemap;*/
|
|
|
|
public Vector3 targetPos { get; private set; }
|
|
public GameObject worldObject { get; private set; }
|
|
|
|
MarkerHandler markerHandler;
|
|
Transform objToFollow;
|
|
|
|
float timeAlive;
|
|
|
|
private void Update()
|
|
{
|
|
if (objToFollow)
|
|
{
|
|
targetPos = objToFollow.transform.position;
|
|
}
|
|
|
|
|
|
if (markerDefinition.unlimitedLife) return;
|
|
|
|
timeAlive += Time.deltaTime;
|
|
if (timeAlive > markerDefinition.lifeDuration)
|
|
{
|
|
DestroyMarker();
|
|
}
|
|
}
|
|
|
|
public virtual void InitializeMarker(MarkerHandler markerHandler, GameObject worldObject, Vector3 targetPos, Transform objToFollow)
|
|
{
|
|
this.markerHandler = markerHandler;
|
|
this.worldObject = worldObject;
|
|
this.targetPos = targetPos;
|
|
this.objToFollow = objToFollow;
|
|
/* aimFadeGroup.alpha = 0;
|
|
fadeGroup.alpha = 0;*/
|
|
}
|
|
|
|
public virtual void DestroyMarker()
|
|
{
|
|
markerHandler.RemoveMarker(this);
|
|
}
|
|
}
|