Files
2025-05-13 05:19:58 +03:00

42 lines
849 B
C#

using UnityEngine;
using System.Collections;
public class SavePoint : PlayerSensor {
private GameAction _saveAction;
private AudioSource _audio;
private float lastSaveTime = -100;
public float savePeriod = 5.0f;
void Start(){
_saveAction = new GameAction();
_saveAction.target = gameObject;
_saveAction.text = "Save state";
_audio = GetComponent<AudioSource>();
}
protected override void OnPlayerEnter (GameObject player)
{
base.OnPlayerEnter (player);
ActionController.AddAction(_saveAction);
}
protected override void OnPlayerExit (GameObject player)
{
base.OnPlayerExit (player);
ActionController.RemoveAction(_saveAction);
}
void OnAction(ActionArgs a){
if(Time.time - lastSaveTime >= savePeriod){
Debug.Log("Save");
lastSaveTime = Time.time;
if(_audio != null){
_audio.Play();
}
}
}
}