<Script>
<script ScriptName="GatherScript.cs" />
<script Author="BlueDream" />
<script Description="Gather Script v1" />
</Script>
using System;
using System.Linq;
using System.Collections.Generic;
using AmaknaCore.Debug.Client;
using AmaknaCore.Debug.Client.Action.Gather;
using AmaknaCore.Debug.Game.Movement.Enums;
using AmaknaCore.Debug.Client.Network;
public class GatherScript
{
#region Variables
private MainClient Client;
private bool Running;
private List<int> InteractivesTypeId = new List<int>() { 38 }; // Blé
#endregion
#region Builder
public GatherScript(MainClient client)
{
Client = client;
Running = false;
}
#endregion
#region Script
public void LoadScript()
{
// Load Events
Client.Action.Gather.NoInteractiveAvailable_Event += NoInteractiveAvailable_Event;
Client.Network.Connected_Event += Connected;
Client.Network.Disconnected_Event += Disconnected;
// Log
Client.Interface.Logger.Info(string.Format("Gather Script Loaded."));
}
public void UnLoadScript()
{
// Unload Events
Client.Action.Gather.NoInteractiveAvailable_Event -= NoInteractiveAvailable_Event;
Client.Network.Connected_Event -= Connected;
Client.Network.Disconnected_Event -= Disconnected;
// Log
Client.Interface.Logger.Info(string.Format("Gather Script Unloaded."));
}
public void StartScript()
{
if(Running == true)
return;
Running = true;
Client.Action.Gather.StartGather(InteractivesTypeId);
}
public void StopScript()
{
if(Running == false)
return;
Running = false;
Client.Action.Gather.StopGather();
}
#endregion
#region Events
private void NoInteractiveAvailable_Event(object sender, GatherAction.NoInteractiveAvailableEventsArgs e)
{
if(Running == false)
return;
}
private void Connected(object sender, ClientNetwork.ConnectedEventArgs e)
{
if(Running == false)
return;
Client.Action.Gather.StartGather(InteractivesTypeId);
}
private void Disconnected(object sender, ClientNetwork.DisconnectedEventArgs e)
{
if(Running == false)
return;
Client.Action.Gather.StopGather();
}
#endregion
}