/// <summary> /// Returns true if the ActionRequestDatas are "functionally equivalent" (not including their Queueing or Closing properties). /// </summary> public bool Compare(ref ActionRequestData rhs) { bool scalarParamsEqual = (ActionTypeEnum, Position, Direction, Amount) == (rhs.ActionTypeEnum, rhs.Position, rhs.Direction, rhs.Amount); if (!scalarParamsEqual) { return(false); } if (TargetIds == rhs.TargetIds) { return(true); } //covers case of both being null. if (TargetIds == null || rhs.TargetIds == null || TargetIds.Length != rhs.TargetIds.Length) { return(false); } for (int i = 0; i < TargetIds.Length; i++) { if (TargetIds[i] != rhs.TargetIds[i]) { return(false); } } return(true); }
/// Server->Client RPC that broadcasts this action play to all clients. public void RecvDoActionClientRPC(ActionRequestData data) { DoActionEventClient?.Invoke(data); }
public void RecvDoActionServerRPC(ActionRequestData data) { DoActionEventServer?.Invoke(data); }
public ActionBase(ref ActionRequestData data) { m_Data = data; }