Upload from upload_mods.ps1
This commit is contained in:
208
Scripts/Network/NetPackageQuestPointTreasureSDX.cs
Normal file
208
Scripts/Network/NetPackageQuestPointTreasureSDX.cs
Normal file
@@ -0,0 +1,208 @@
|
||||
public class NetPackageQuestPointTreasureSDX : NetPackage
|
||||
{
|
||||
public NetPackageQuestPointTreasureSDX Setup(int _playerId, float _distance, int _offset, int _questCode, int posX = 0, int posY = -1, int posZ = 0, bool _useNearby = false)
|
||||
{
|
||||
//Log.Out("NetPackageQuestPointTreasureSDX-Setup A");
|
||||
this.playerId = _playerId;
|
||||
this.distance = _distance;
|
||||
this.offset = _offset;
|
||||
this.questCode = _questCode;
|
||||
this.position = new Vector3i(posX, posY, posZ);
|
||||
this.useNearby = _useNearby;
|
||||
this.treasureOffset = Vector3.zero;
|
||||
this.ActionType = QuestPointActions.GetGotoPoint;
|
||||
return this;
|
||||
}
|
||||
|
||||
public NetPackageQuestPointTreasureSDX Setup(int _playerId, int _questCode, int _blocksPerReduction, Vector3i _position, Vector3 _treasureOffset)
|
||||
{
|
||||
//Log.Out("NetPackageQuestPointTreasureSDX-Setup B");
|
||||
this.playerId = _playerId;
|
||||
this.distance = 0f;
|
||||
this.offset = 0;
|
||||
this.questCode = _questCode;
|
||||
this.position = _position;
|
||||
this.treasureOffset = _treasureOffset;
|
||||
this.blocksPerReduction = _blocksPerReduction;
|
||||
this.ActionType = QuestPointActions.GetTreasurePoint;
|
||||
return this;
|
||||
}
|
||||
|
||||
public NetPackageQuestPointTreasureSDX Setup(int _questCode, float _distance, int _offset, float _treasureRadius, Vector3 _startPosition, int _playerId, bool _useNearby, int _blocksPerReduction)
|
||||
{
|
||||
//Log.Out("NetPackageQuestPointTreasureSDX-Setup C");
|
||||
this.playerId = _playerId;
|
||||
this.distance = _distance;
|
||||
this.offset = _offset;
|
||||
this.questCode = _questCode;
|
||||
this.treasureRadius = _treasureRadius;
|
||||
this.position = new Vector3i(_startPosition);
|
||||
this.useNearby = _useNearby;
|
||||
this.treasureOffset = Vector3.zero;
|
||||
this.blocksPerReduction = _blocksPerReduction;
|
||||
this.ActionType = QuestPointActions.GetTreasurePoint;
|
||||
return this;
|
||||
}
|
||||
|
||||
public NetPackageQuestPointTreasureSDX Setup(int _questCode, Vector3i _updatedPosition)
|
||||
{
|
||||
//Log.Out("NetPackageQuestPointTreasureSDX-Setup D");
|
||||
this.questCode = _questCode;
|
||||
this.position = _updatedPosition;
|
||||
this.ActionType = QuestPointActions.UpdateTreasurePoint;
|
||||
return this;
|
||||
}
|
||||
|
||||
public NetPackageQuestPointTreasureSDX Setup(int _questCode, int _blocksPerReduction)
|
||||
{
|
||||
//Log.Out("NetPackageQuestPointTreasureSDX-Setup E");
|
||||
this.questCode = _questCode;
|
||||
this.blocksPerReduction = _blocksPerReduction;
|
||||
this.ActionType = QuestPointActions.UpdateBlocksPerReduction;
|
||||
return this;
|
||||
}
|
||||
|
||||
public override void read(PooledBinaryReader _br)
|
||||
{
|
||||
this.ActionType = (QuestPointActions)_br.ReadByte();
|
||||
if (this.ActionType == QuestPointActions.UpdateTreasurePoint)
|
||||
{
|
||||
this.questCode = _br.ReadInt32();
|
||||
this.position = StreamUtils.ReadVector3i(_br);
|
||||
return;
|
||||
}
|
||||
this.playerId = _br.ReadInt32();
|
||||
this.distance = _br.ReadSingle();
|
||||
this.offset = _br.ReadInt32();
|
||||
this.treasureRadius = _br.ReadSingle();
|
||||
this.blocksPerReduction = _br.ReadInt32();
|
||||
this.questCode = _br.ReadInt32();
|
||||
this.position = StreamUtils.ReadVector3i(_br);
|
||||
this.treasureOffset = StreamUtils.ReadVector3(_br);
|
||||
this.useNearby = _br.ReadBoolean();
|
||||
}
|
||||
|
||||
public override void write(PooledBinaryWriter _bw)
|
||||
{
|
||||
_bw.Write((byte)this.PackageId);
|
||||
_bw.Write((byte)this.ActionType);
|
||||
if (this.ActionType == QuestPointActions.UpdateTreasurePoint)
|
||||
{
|
||||
_bw.Write(this.questCode);
|
||||
StreamUtils.Write(_bw, this.position);
|
||||
return;
|
||||
}
|
||||
_bw.Write(this.playerId);
|
||||
_bw.Write(this.distance);
|
||||
_bw.Write(this.offset);
|
||||
_bw.Write(this.treasureRadius);
|
||||
_bw.Write(this.blocksPerReduction);
|
||||
_bw.Write(this.questCode);
|
||||
StreamUtils.Write(_bw, this.position);
|
||||
StreamUtils.Write(_bw, this.treasureOffset);
|
||||
_bw.Write(this.useNearby);
|
||||
}
|
||||
|
||||
public override void ProcessPackage(World _world, GameManager _callbacks)
|
||||
{
|
||||
//Log.Out("NetPackageQuestPointTreasureSDX-ProcessPackage START");
|
||||
if (_world == null)
|
||||
{
|
||||
//Log.Out("NetPackageQuestPointTreasureSDX-ProcessPackage 1");
|
||||
return;
|
||||
}
|
||||
if (_world.IsRemote())
|
||||
{
|
||||
//Log.Out("NetPackageQuestPointTreasureSDX-ProcessPackage 2");
|
||||
Quest quest = GameManager.Instance.World.GetPrimaryPlayer().QuestJournal.FindActiveQuest(this.questCode);
|
||||
if (quest != null)
|
||||
{
|
||||
//Log.Out("NetPackageQuestPointTreasureSDX-ProcessPackage 3");
|
||||
for (int i = 0; i < quest.Objectives.Count; i++)
|
||||
{
|
||||
//Log.Out("NetPackageQuestPointTreasureSDX-ProcessPackage i: " + i);
|
||||
//Log.Out("NetPackageQuestPointTreasureSDX-ProcessPackage ID: " + quest.Objectives[i].ID);
|
||||
//Log.Out("NetPackageQuestPointTreasureSDX-ProcessPackage Value: " + quest.Objectives[i].Value);
|
||||
//Log.Out("NetPackageQuestPointTreasureSDX-ProcessPackage Value: " + quest.Objectives[i].ObjectiveValueType);
|
||||
|
||||
if (quest.CurrentPhase == quest.Objectives[i].Phase)
|
||||
{
|
||||
//Log.Out("NetPackageQuestPointTreasureSDX-ProcessPackage 4");
|
||||
if (quest.Objectives[i] is ObjectiveTreasureChest)
|
||||
{
|
||||
//Log.Out("NetPackageQuestPointTreasureSDX-ProcessPackage 5");
|
||||
if (this.ActionType == QuestPointActions.GetTreasurePoint)
|
||||
{
|
||||
//Log.Out("NetPackageQuestPointTreasureSDX-ProcessPackage 6");
|
||||
((ObjectiveTreasureChest)quest.Objectives[i]).FinalizePointFromServer(this.blocksPerReduction, this.position, this.treasureOffset);
|
||||
}
|
||||
else if (this.ActionType == QuestPointActions.UpdateBlocksPerReduction)
|
||||
{
|
||||
//Log.Out("NetPackageQuestPointTreasureSDX-ProcessPackage 7");
|
||||
((ObjectiveTreasureChest)quest.Objectives[i]).CurrentBlocksPerReduction = this.blocksPerReduction;
|
||||
}
|
||||
}
|
||||
else if (quest.Objectives[i] is ObjectiveGotoRandomSDX)
|
||||
{
|
||||
//Log.Out("NetPackageQuestPointTreasureSDX-ProcessPackage 8");
|
||||
((ObjectiveGotoRandomSDX)quest.Objectives[i]).FinalizePoint(this.position.x, this.position.y, this.position.z);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (this.ActionType == QuestPointActions.UpdateTreasurePoint)
|
||||
{
|
||||
QuestEventManager.Current.SetTreasureContainerPosition(this.questCode, this.position);
|
||||
return;
|
||||
}
|
||||
if (this.ActionType == QuestPointActions.UpdateBlocksPerReduction)
|
||||
{
|
||||
QuestEventManager.Current.UpdateTreasureBlocksPerReduction(this.questCode, this.blocksPerReduction);
|
||||
return;
|
||||
}
|
||||
for (int j = 0; j < 15; j++)
|
||||
{
|
||||
//Log.Out("NetPackageQuestPointTreasureSDX-ProcessPackage j: " + j);
|
||||
Vector3i vector3i = ObjectiveGotoRandomSDX.CalculateRandomPoint(this.playerId, this.distance, "");
|
||||
//Log.Out("NetPackageQuestPointTreasureSDX-ProcessPackage vector3i: " + vector3i);
|
||||
Vector3i vector3iCompare = new Vector3i(0, -99999, 0);
|
||||
//if (QuestEventManager.Current.GetTreasureContainerPosition(this.questCode, this.distance, this.offset, this.treasureRadius, this.position.ToVector3(), this.playerId, this.useNearby, this.blocksPerReduction, out this.blocksPerReduction, out vector3i, out this.treasureOffset))
|
||||
if (vector3i != vector3iCompare)
|
||||
{
|
||||
//Log.Out("NetPackageQuestPointTreasureSDX-ProcessPackage SEND TO CLIENT: " + this.playerId);
|
||||
SingletonMonoBehaviour<ConnectionManager>.Instance.SendPackage(NetPackageManager.GetPackage<NetPackageQuestPointTreasureSDX>().Setup(this.playerId, this.questCode, this.blocksPerReduction, vector3i, this.treasureOffset), false, this.playerId, -1, -1, null, 192);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public override int GetLength()
|
||||
{
|
||||
////Log.Out("NetPackageQuestPointTreasureSDX-GetLength-Start");
|
||||
if (this.ActionType == QuestPointActions.UpdateTreasurePoint)
|
||||
{
|
||||
return 65;
|
||||
}
|
||||
else return 49;
|
||||
}
|
||||
|
||||
private int playerId;
|
||||
private float distance;
|
||||
private int offset;
|
||||
private float treasureRadius;
|
||||
private int questCode;
|
||||
private Vector3i position;
|
||||
private bool useNearby;
|
||||
private Vector3 treasureOffset = Vector3.zero;
|
||||
private int blocksPerReduction;
|
||||
private QuestPointActions ActionType;
|
||||
private enum QuestPointActions
|
||||
{
|
||||
GetGotoPoint,
|
||||
GetTreasurePoint,
|
||||
UpdateTreasurePoint,
|
||||
UpdateBlocksPerReduction
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user