Upload from upload_mods.ps1
This commit is contained in:
142
Scripts/Network/NetPackageOpenTileEntityRebirth.cs
Normal file
142
Scripts/Network/NetPackageOpenTileEntityRebirth.cs
Normal file
@@ -0,0 +1,142 @@
|
||||
public class NetPackageOpenTileEntityRebirth : NetPackage
|
||||
{
|
||||
public NetPackageOpenTileEntityRebirth Setup(int _playerId, int _posX, int _posY, int _posZ, string _window, string _windowGroup, string _sound, bool _isAccessed = false, bool _setOpen = false)
|
||||
{
|
||||
//Log.Out("NetPackageOpenVehicleRepairRebirth-Setup");
|
||||
this.playerId = _playerId;
|
||||
this.posX = _posX;
|
||||
this.posY = _posY;
|
||||
this.posZ = _posZ;
|
||||
this.window = _window;
|
||||
this.windowGroup = _windowGroup;
|
||||
this.sound = _sound;
|
||||
this.isAccessed = _isAccessed;
|
||||
this.setOpen = _setOpen;
|
||||
return this;
|
||||
}
|
||||
|
||||
public override void read(PooledBinaryReader _br)
|
||||
{
|
||||
//Log.Out("NetPackageOpenVehicleRepairRebirth-read");
|
||||
this.playerId = _br.ReadInt32();
|
||||
this.posX = _br.ReadInt32();
|
||||
this.posY = _br.ReadInt32();
|
||||
this.posZ = _br.ReadInt32();
|
||||
this.window = _br.ReadString();
|
||||
this.windowGroup = _br.ReadString();
|
||||
this.sound = _br.ReadString();
|
||||
this.isAccessed = _br.ReadBoolean();
|
||||
this.setOpen = _br.ReadBoolean();
|
||||
}
|
||||
|
||||
public override void write(PooledBinaryWriter _bw)
|
||||
{
|
||||
//Log.Out("NetPackageOpenVehicleRepairRebirth-write");
|
||||
base.write(_bw);
|
||||
_bw.Write(this.playerId);
|
||||
_bw.Write(this.posX);
|
||||
_bw.Write(this.posY);
|
||||
_bw.Write(this.posZ);
|
||||
_bw.Write(this.window);
|
||||
_bw.Write(this.windowGroup);
|
||||
_bw.Write(this.sound);
|
||||
_bw.Write(this.isAccessed);
|
||||
_bw.Write(this.setOpen);
|
||||
}
|
||||
|
||||
public override void ProcessPackage(World _world, GameManager _callbacks)
|
||||
{
|
||||
//Log.Out("NetPackageOpenVehicleRepairRebirth-ProcessPackage START");
|
||||
if (_world == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
Vector3i location = new Vector3i();
|
||||
location.x = this.posX;
|
||||
location.y = this.posY;
|
||||
location.z = this.posZ;
|
||||
|
||||
if (SingletonMonoBehaviour<ConnectionManager>.Instance.IsServer)
|
||||
{
|
||||
//Log.Out("NetPackageOpenVehicleRepairRebirth-ProcessPackage IsServer");
|
||||
|
||||
if (!this.setOpen)
|
||||
{
|
||||
//Log.Out("NetPackageOpenVehicleRepairRebirth-ProcessPackage Check if Open");
|
||||
this.isAccessed = false;
|
||||
|
||||
foreach (TileEntityOwners tileEntityOwner in RebirthVariables.accessedTileEntities)
|
||||
{
|
||||
if (tileEntityOwner.location == location)
|
||||
{
|
||||
this.isAccessed = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
//Log.Out("NetPackageOpenVehicleRepairRebirth-ProcessPackage Send to Client, this.isAccessed: " + this.isAccessed);
|
||||
//Log.Out("NetPackageOpenVehicleRepairRebirth-ProcessPackage this.playerId: " + this.playerId);
|
||||
//Log.Out("NetPackageOpenVehicleRepairRebirth-ProcessPackage location: " + location);
|
||||
SingletonMonoBehaviour<ConnectionManager>.Instance.SendPackage(NetPackageManager.GetPackage<NetPackageOpenTileEntityRebirth>().Setup(this.playerId, location.x, location.y, location.z, this.window, this.windowGroup, this.sound, this.isAccessed), false, this.playerId, -1, -1, null, 192);
|
||||
}
|
||||
else
|
||||
{
|
||||
//Log.Out("NetPackageOpenVehicleRepairRebirth-ProcessPackage Add Restriction");
|
||||
TileEntityOwners tileEntityOwner = new TileEntityOwners();
|
||||
tileEntityOwner.location = location;
|
||||
tileEntityOwner.owner = this.playerId;
|
||||
|
||||
RebirthVariables.accessedTileEntities.Add(tileEntityOwner);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
//Log.Out("NetPackageOpenVehicleRepairRebirth-ProcessPackage IsClient");
|
||||
EntityPlayerLocal _player = GameManager.Instance.World.GetPrimaryPlayer();
|
||||
|
||||
if (_player != null)
|
||||
{
|
||||
LocalPlayerUI uiforPlayer = LocalPlayerUI.GetUIForPlayer((EntityPlayerLocal)_player);
|
||||
GUIWindowManager windowManager = uiforPlayer.windowManager;
|
||||
|
||||
if (!this.isAccessed)
|
||||
{
|
||||
//Log.Out("NetPackageOpenVehicleRepairRebirth-ProcessPackage Not Accessed");
|
||||
//Log.Out("NetPackageOpenVehicleRepairRebirth-ProcessPackage this.playerId: " + this.playerId);
|
||||
//Log.Out("NetPackageOpenVehicleRepairRebirth-ProcessPackage location: " + location);
|
||||
|
||||
Chunk chunk = (Chunk)_world.GetChunkFromWorldPos(location.x, location.z);
|
||||
|
||||
TileEntity tileEntity = _world.GetTileEntity(chunk.ClrIdx, location) as TileEntity;
|
||||
|
||||
bool isOpen = RebirthUtilities.OpenTileWindow(_player, tileEntity, windowGroup, window, sound);
|
||||
|
||||
if (isOpen)
|
||||
{
|
||||
SingletonMonoBehaviour<ConnectionManager>.Instance.SendToServer(NetPackageManager.GetPackage<NetPackageOpenTileEntityRebirth>().Setup(uiforPlayer.entityPlayer.entityId, location.x, location.y, location.z, window, windowGroup, sound, true, true), false);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//Log.Out("NetPackageOpenVehicleRepairRebirth-ProcessPackage Is Accessed");
|
||||
GameManager.ShowTooltip(uiforPlayer.entityPlayer, Localization.Get("ttNoInteractItem"), string.Empty, "ui_denied", null);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public override int GetLength()
|
||||
{
|
||||
return 12;
|
||||
}
|
||||
|
||||
private int playerId = -1;
|
||||
private int posX = 0;
|
||||
private int posY = 0;
|
||||
private int posZ = 0;
|
||||
private string window;
|
||||
private string windowGroup;
|
||||
private string sound;
|
||||
private bool isAccessed = false;
|
||||
private bool setOpen = false;
|
||||
}
|
||||
Reference in New Issue
Block a user