Aimbot-ParallelEnv/Assets/Script/InGame/HistoryRecorder.cs
Koha9 6bc1456e4b Fist Sub
based on aimbot multi seane
2022-10-26 04:07:39 +09:00

115 lines
2.9 KiB
C#

using System.Collections;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
/*??????????????*/
public class HistoryRecorder : MonoBehaviour
{
private List<float> realTimeReward = new List<float> ();
private List<float> EPTotalRewards = new List<float> ();
private List<int> EPTotalShootCount = new List<int> ();
private int realTimeWKeyCount = 0;
private int realTimeAKeyCount = 0;
private int realTimeSKeyCount = 0;
private int realTimeDKeyCount = 0;
private int realTimeShootCount = 0;
// add Record History -----------------------------
public void addRealTimeReward(float reward)
{
realTimeReward.Add(reward);
}
public void addEPTotalRewards(float EPTotalReward)
{
EPTotalRewards.Add(EPTotalReward);
}
public void addEPTotalShootCount(int TotalShootCount)
{
EPTotalShootCount.Add(TotalShootCount);
}
public void realTimeKeyCounter(int vertical, int horizontal, int shoot)
{
if (vertical == 1)
{
realTimeWKeyCount += 1;
}
else if (vertical == -1)
{
realTimeSKeyCount += 1;
}
if (horizontal == 1)
{
realTimeDKeyCount += 1;
}
else if (horizontal == -1)
{
realTimeAKeyCount += 1;
}
if (shoot == 1)
{
realTimeShootCount += 1;
}
}
// math job---------------------------------------
// delete RealTimeReward item
public void resetRealTimeReward()
{
realTimeReward.Clear();
}
// set all realTimeKeyCount to 0
public void resetrealTimeKeyCounter()
{
realTimeAKeyCount = 0;
realTimeDKeyCount = 0;
realTimeWKeyCount = 0;
realTimeSKeyCount = 0;
realTimeShootCount = 0;
}
// calc RealTimeReward's Average and Add to EPTotalRewards
public void EPTotalRewardsUpdate()
{
float EPSumRealTimeReward = getSumRealTimeReward();
resetRealTimeReward();
addEPTotalRewards(EPSumRealTimeReward);
}
// get Record History -----------------------------
// get EPTotalReward List
public List<float> getEPTotalReward()
{
return (EPTotalRewards);
}
// get EPTotalShootCount List
public List<int> getEPTotalShootCount()
{
return (EPTotalShootCount);
}
// get RealTimeReward's Mean
public float getMeanRealTimeReward()
{
return (realTimeReward.Average());
}
// get RealTimeReward's Sum
public float getSumRealTimeReward()
{
return realTimeReward.Sum();
}
// get LastEPTotalReward last item
public float getLastEPTotalReward()
{
return (EPTotalRewards.Last());
}
//get KeyCount
public (int w,int s,int a,int d,int shoot) getKeyCount()
{
return (realTimeWKeyCount, realTimeSKeyCount, realTimeAKeyCount, realTimeDKeyCount, realTimeShootCount);
}
}