Beispiel #1
0
        /// <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);
        }
Beispiel #2
0
 /// Server->Client RPC that broadcasts this action play to all clients.
 public void RecvDoActionClientRPC(ActionRequestData data)
 {
     DoActionEventClient?.Invoke(data);
 }
Beispiel #3
0
 public void RecvDoActionServerRPC(ActionRequestData data)
 {
     DoActionEventServer?.Invoke(data);
 }
Beispiel #4
0
 public ActionBase(ref ActionRequestData data)
 {
     m_Data = data;
 }