示例#1
0
        public static void SendDamageToServer(VehicleEntity vehicle, EntityKey entityKey, float damage)
        {
            var e = VehicleDamangeSyncEvent.Allocate();

            e.EType          = VehicleSyncEventType.Damage;
            e.SourceObjectId = vehicle.entityKey.Value.EntityId;
            e.TargetObject   = entityKey;
            e.Damage         = damage;
            var comp = vehicle.vehicleSyncEvent;

            comp.SyncEvents.Enqueue(e);
        }
示例#2
0
        public static IVehicleSyncEvent FromProtoBuf(VehicleEventMessage message)
        {
            switch (message.EventType)
            {
            case (int)VehicleSyncEventType.Damage:
            {
                var damageSyncEvent = VehicleDamangeSyncEvent.Allocate();
                damageSyncEvent.EType          = VehicleSyncEventType.Damage;
                damageSyncEvent.SourceObjectId = message.SourceId;
                damageSyncEvent.TargetObject   = new EntityKey(message.Ints[1], (short)message.Ints[0]);
                damageSyncEvent.Damage         = message.Floats[0];
                return(damageSyncEvent);
            }

            default:
                throw new Exception("Unkown VehicleSyncEventType : " + message.EventType);
            }
        }